diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..f173110 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ +This file makes sure that Github Pages doesn't process mdBook's output. diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..09eb3eb --- /dev/null +++ b/docs/404.html @@ -0,0 +1,185 @@ + + + + + + Page not found - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Document not found (404)

+

This URL is invalid, sorry. Please use the navigation bar or search to continue.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/FontAwesome/css/font-awesome.css b/docs/FontAwesome/css/font-awesome.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/docs/FontAwesome/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/docs/FontAwesome/fonts/FontAwesome.ttf b/docs/FontAwesome/fonts/FontAwesome.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/docs/FontAwesome/fonts/FontAwesome.ttf differ diff --git a/docs/FontAwesome/fonts/fontawesome-webfont.eot b/docs/FontAwesome/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/docs/FontAwesome/fonts/fontawesome-webfont.eot differ diff --git a/docs/FontAwesome/fonts/fontawesome-webfont.svg b/docs/FontAwesome/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/docs/FontAwesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/FontAwesome/fonts/fontawesome-webfont.ttf b/docs/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/docs/FontAwesome/fonts/fontawesome-webfont.ttf differ diff --git a/docs/FontAwesome/fonts/fontawesome-webfont.woff b/docs/FontAwesome/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/docs/FontAwesome/fonts/fontawesome-webfont.woff differ diff --git a/docs/FontAwesome/fonts/fontawesome-webfont.woff2 b/docs/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/docs/FontAwesome/fonts/fontawesome-webfont.woff2 differ diff --git a/docs/ayu-highlight.css b/docs/ayu-highlight.css new file mode 100644 index 0000000..32c9432 --- /dev/null +++ b/docs/ayu-highlight.css @@ -0,0 +1,78 @@ +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/docs/book.js b/docs/book.js new file mode 100644 index 0000000..e303ebb --- /dev/null +++ b/docs/book.js @@ -0,0 +1,688 @@ +"use strict"; + +// Fix back button cache problem +window.onunload = function () { }; + +// Global variable, shared between modules +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 if (hidden) { + return code_block.textContent; + } else { + return code_block.innerText; + } +} + +(function codeSnippets() { + function fetch_with_timeout(url, options, timeout = 6000) { + return Promise.race([ + fetch(url, options), + new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)) + ]); + } + + var playgrounds = Array.from(document.querySelectorAll(".playground")); + if (playgrounds.length > 0) { + fetch_with_timeout("https://play.rust-lang.org/meta/crates", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + }) + .then(response => response.json()) + .then(response => { + // get list of crates available in the rust playground + let playground_crates = response.crates.map(item => item["id"]); + playgrounds.forEach(block => handle_crate_list_update(block, playground_crates)); + }); + } + + function handle_crate_list_update(playground_block, playground_crates) { + // update the play buttons after receiving the response + update_play_button(playground_block, playground_crates); + + // and install on change listener to dynamically update ACE editors + if (window.ace) { + let code_block = playground_block.querySelector("code"); + if (code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + editor.addEventListener("change", function (e) { + update_play_button(playground_block, playground_crates); + }); + // add Ctrl-Enter command to execute rust code + editor.commands.addCommand({ + name: "run", + bindKey: { + win: "Ctrl-Enter", + mac: "Ctrl-Enter" + }, + exec: _editor => run_rust_code(playground_block) + }); + } + } + } + + // updates the visibility of play button based on `no_run` class and + // used crates vs ones available on http://play.rust-lang.org + function update_play_button(pre_block, playground_crates) { + var play_button = pre_block.querySelector(".play-button"); + + // skip if code is `no_run` + if (pre_block.querySelector('code').classList.contains("no_run")) { + play_button.classList.add("hidden"); + return; + } + + // get list of `extern crate`'s from snippet + var txt = playground_text(pre_block); + var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g; + var snippet_crates = []; + var item; + while (item = re.exec(txt)) { + snippet_crates.push(item[1]); + } + + // check if all used crates are available on play.rust-lang.org + var all_available = snippet_crates.every(function (elem) { + return playground_crates.indexOf(elem) > -1; + }); + + if (all_available) { + play_button.classList.remove("hidden"); + } else { + play_button.classList.add("hidden"); + } + } + + function run_rust_code(code_block) { + var result_block = code_block.querySelector(".result"); + if (!result_block) { + result_block = document.createElement('code'); + result_block.className = 'result hljs language-bash'; + + code_block.append(result_block); + } + + let text = playground_text(code_block); + let classes = code_block.querySelector('code').classList; + let edition = "2015"; + if(classes.contains("edition2018")) { + edition = "2018"; + } else if(classes.contains("edition2021")) { + edition = "2021"; + } + var params = { + version: "stable", + optimize: "0", + code: text, + edition: edition + }; + + if (text.indexOf("#![feature") !== -1) { + params.version = "nightly"; + } + + result_block.innerText = "Running..."; + + fetch_with_timeout("https://play.rust-lang.org/evaluate.json", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + body: JSON.stringify(params) + }) + .then(response => response.json()) + .then(response => { + if (response.result.trim() === '') { + result_block.innerText = "No output"; + result_block.classList.add("result-no-output"); + } else { + result_block.innerText = response.result; + result_block.classList.remove("result-no-output"); + } + }) + .catch(error => result_block.innerText = "Playground Communication: " + error.message); + } + + // Syntax highlighting Configuration + hljs.configure({ + tabReplace: ' ', // 4 spaces + languages: [], // Languages used for auto-detection + }); + + let code_nodes = Array + .from(document.querySelectorAll('code')) + // Don't highlight `inline code` blocks in headers. + .filter(function (node) {return !node.parentElement.classList.contains("header"); }); + + if (window.ace) { + // language-rust class needs to be removed for editable + // blocks or highlightjs will capture events + code_nodes + .filter(function (node) {return node.classList.contains("editable"); }) + .forEach(function (block) { block.classList.remove('language-rust'); }); + + code_nodes + .filter(function (node) {return !node.classList.contains("editable"); }) + .forEach(function (block) { hljs.highlightBlock(block); }); + } else { + code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); + } + + // Adding the hljs class gives code blocks the color css + // 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) { + + var lines = Array.from(block.querySelectorAll('.boring')); + // If no lines were hidden, return + if (!lines.length) { return; } + block.classList.add("hide-boring"); + + var buttons = document.createElement('div'); + buttons.className = 'buttons'; + buttons.innerHTML = ""; + + // add expand button + var pre_block = block.parentNode; + pre_block.insertBefore(buttons, pre_block.firstChild); + + pre_block.querySelector('.buttons').addEventListener('click', function (e) { + if (e.target.classList.contains('fa-eye')) { + e.target.classList.remove('fa-eye'); + e.target.classList.add('fa-eye-slash'); + e.target.title = 'Hide lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.remove('hide-boring'); + } else if (e.target.classList.contains('fa-eye-slash')) { + e.target.classList.remove('fa-eye-slash'); + e.target.classList.add('fa-eye'); + e.target.title = 'Show hidden lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.add('hide-boring'); + } + }); + }); + + if (window.playground_copyable) { + Array.from(document.querySelectorAll('pre code')).forEach(function (block) { + var pre_block = block.parentNode; + if (!pre_block.classList.contains('playground')) { + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var clipButton = document.createElement('button'); + clipButton.className = 'fa fa-copy clip-button'; + clipButton.title = 'Copy to clipboard'; + clipButton.setAttribute('aria-label', clipButton.title); + clipButton.innerHTML = ''; + + buttons.insertBefore(clipButton, buttons.firstChild); + } + }); + } + + // Process playground code blocks + Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) { + // Add play button + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var runCodeButton = document.createElement('button'); + runCodeButton.className = 'fa fa-play play-button'; + runCodeButton.hidden = true; + runCodeButton.title = 'Run this code'; + runCodeButton.setAttribute('aria-label', runCodeButton.title); + + buttons.insertBefore(runCodeButton, buttons.firstChild); + runCodeButton.addEventListener('click', function (e) { + run_rust_code(pre_block); + }); + + if (window.playground_copyable) { + var copyCodeClipboardButton = document.createElement('button'); + copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.innerHTML = ''; + copyCodeClipboardButton.title = 'Copy to clipboard'; + copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); + + buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); + } + + let code_block = pre_block.querySelector("code"); + if (window.ace && code_block.classList.contains("editable")) { + var undoChangesButton = document.createElement('button'); + undoChangesButton.className = 'fa fa-history reset-button'; + undoChangesButton.title = 'Undo changes'; + undoChangesButton.setAttribute('aria-label', undoChangesButton.title); + + buttons.insertBefore(undoChangesButton, buttons.firstChild); + + undoChangesButton.addEventListener('click', function () { + let editor = window.ace.edit(code_block); + editor.setValue(editor.originalCode); + editor.clearSelection(); + }); + } + }); +})(); + +(function themes() { + var html = document.querySelector('html'); + var themeToggleButton = document.getElementById('theme-toggle'); + var themePopup = document.getElementById('theme-list'); + var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var stylesheets = { + ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), + tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), + highlight: document.querySelector("[href$='highlight.css']"), + }; + + function showThemes() { + themePopup.style.display = 'block'; + themeToggleButton.setAttribute('aria-expanded', true); + 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); + themeToggleButton.focus(); + } + + function get_theme() { + var theme; + try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { } + if (theme === null || theme === undefined) { + return default_theme; + } else { + return theme; + } + } + + function set_theme(theme, store = true) { + let ace_theme; + + if (theme == 'coal' || theme == 'navy') { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = false; + stylesheets.highlight.disabled = true; + + ace_theme = "ace/theme/tomorrow_night"; + } else if (theme == 'ayu') { + stylesheets.ayuHighlight.disabled = false; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = true; + ace_theme = "ace/theme/tomorrow_night"; + } else { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = false; + ace_theme = "ace/theme/dawn"; + } + + setTimeout(function () { + themeColorMetaTag.content = getComputedStyle(document.body).backgroundColor; + }, 1); + + if (window.ace && window.editors) { + window.editors.forEach(function (editor) { + editor.setTheme(ace_theme); + }); + } + + var previousTheme = get_theme(); + + if (store) { + try { localStorage.setItem('mdbook-theme', theme); } catch (e) { } + } + + html.classList.remove(previousTheme); + html.classList.add(theme); + updateThemeSelected(); + } + + // Set theme + var theme = get_theme(); + + set_theme(theme, false); + + themeToggleButton.addEventListener('click', function () { + if (themePopup.style.display === 'block') { + hideThemes(); + } else { + showThemes(); + } + }); + + themePopup.addEventListener('click', function (e) { + 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); + }); + + themePopup.addEventListener('focusout', function(e) { + // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) + if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { + hideThemes(); + } + }); + + // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628 + document.addEventListener('click', function(e) { + if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { + hideThemes(); + } + }); + + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (!themePopup.contains(e.target)) { return; } + + switch (e.key) { + case 'Escape': + e.preventDefault(); + hideThemes(); + break; + case 'ArrowUp': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.previousElementSibling) { + li.previousElementSibling.querySelector('button').focus(); + } + break; + case 'ArrowDown': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.nextElementSibling) { + li.nextElementSibling.querySelector('button').focus(); + } + break; + case 'Home': + e.preventDefault(); + themePopup.querySelector('li:first-child button').focus(); + break; + case 'End': + e.preventDefault(); + themePopup.querySelector('li:last-child button').focus(); + break; + } + }); +})(); + +(function sidebar() { + var html = document.querySelector("html"); + var sidebar = document.getElementById("sidebar"); + var sidebarLinks = document.querySelectorAll('#sidebar a'); + var sidebarToggleButton = document.getElementById("sidebar-toggle"); + var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); + var firstContact = null; + + function showSidebar() { + html.classList.remove('sidebar-hidden') + html.classList.add('sidebar-visible'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', 0); + }); + sidebarToggleButton.setAttribute('aria-expanded', true); + sidebar.setAttribute('aria-hidden', false); + 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'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', -1); + }); + sidebarToggleButton.setAttribute('aria-expanded', false); + sidebar.setAttribute('aria-hidden', true); + try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { } + } + + // Toggle sidebar + sidebarToggleButton.addEventListener('click', function sidebarToggle() { + if (html.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")) { + hideSidebar(); + } else { + if (getComputedStyle(sidebar)['transform'] === 'none') { + hideSidebar(); + } else { + showSidebar(); + } + } + }); + + sidebarResizeHandle.addEventListener('mousedown', initResize, false); + + function initResize(e) { + window.addEventListener('mousemove', resize, false); + window.addEventListener('mouseup', stopResize, false); + html.classList.add('sidebar-resizing'); + } + function resize(e) { + var pos = (e.clientX - sidebar.offsetLeft); + if (pos < 20) { + hideSidebar(); + } else { + if (html.classList.contains("sidebar-hidden")) { + showSidebar(); + } + pos = Math.min(pos, window.innerWidth - 100); + document.documentElement.style.setProperty('--sidebar-width', pos + 'px'); + } + } + //on mouseup remove windows functions mousemove & mouseup + function stopResize(e) { + html.classList.remove('sidebar-resizing'); + window.removeEventListener('mousemove', resize, false); + window.removeEventListener('mouseup', stopResize, false); + } + + document.addEventListener('touchstart', function (e) { + firstContact = { + x: e.touches[0].clientX, + time: Date.now() + }; + }, { passive: true }); + + document.addEventListener('touchmove', function (e) { + if (!firstContact) + return; + + var curX = e.touches[0].clientX; + var xDiff = curX - firstContact.x, + tDiff = Date.now() - firstContact.time; + + if (tDiff < 250 && Math.abs(xDiff) >= 150) { + if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) + showSidebar(); + else if (xDiff < 0 && curX < 300) + hideSidebar(); + + 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; } + + switch (e.key) { + case 'ArrowRight': + e.preventDefault(); + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + break; + case 'ArrowLeft': + e.preventDefault(); + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + break; + } + }); +})(); + +(function clipboard() { + var clipButtons = document.querySelectorAll('.clip-button'); + + function hideTooltip(elem) { + elem.firstChild.innerText = ""; + elem.className = 'fa fa-copy clip-button'; + } + + function showTooltip(elem, msg) { + elem.firstChild.innerText = msg; + elem.className = 'fa fa-copy tooltipped'; + } + + var clipboardSnippets = new ClipboardJS('.clip-button', { + text: function (trigger) { + hideTooltip(trigger); + let playground = trigger.closest("pre"); + return playground_text(playground, false); + } + }); + + Array.from(clipButtons).forEach(function (clipButton) { + clipButton.addEventListener('mouseout', function (e) { + hideTooltip(e.currentTarget); + }); + }); + + clipboardSnippets.on('success', function (e) { + e.clearSelection(); + showTooltip(e.trigger, "Copied!"); + }); + + clipboardSnippets.on('error', function (e) { + showTooltip(e.trigger, "Clipboard error!"); + }); +})(); + +(function scrollToTop () { + var menuTitle = document.querySelector('.menu-title'); + + menuTitle.addEventListener('click', function () { + document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); + }); +})(); + +(function controllMenu() { + var menu = document.getElementById('menu-bar'); + + (function controllPosition() { + var scrollTop = document.scrollingElement.scrollTop; + var prevScrollTop = scrollTop; + var minMenuY = -menu.clientHeight - 50; + // When the script loads, the page can be at any scroll (e.g. if you reforesh it). + menu.style.top = scrollTop + 'px'; + // Same as parseInt(menu.style.top.slice(0, -2), but faster + var topCache = menu.style.top.slice(0, -2); + menu.classList.remove('sticky'); + var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster + document.addEventListener('scroll', function () { + scrollTop = Math.max(document.scrollingElement.scrollTop, 0); + // `null` means that it doesn't need to be updated + var nextSticky = null; + var nextTop = null; + var scrollDown = scrollTop > prevScrollTop; + var menuPosAbsoluteY = topCache - scrollTop; + if (scrollDown) { + nextSticky = false; + if (menuPosAbsoluteY > 0) { + nextTop = prevScrollTop; + } + } else { + if (menuPosAbsoluteY > 0) { + nextSticky = true; + } else if (menuPosAbsoluteY < minMenuY) { + nextTop = prevScrollTop + minMenuY; + } + } + if (nextSticky === true && stickyCache === false) { + menu.classList.add('sticky'); + stickyCache = true; + } else if (nextSticky === false && stickyCache === true) { + menu.classList.remove('sticky'); + stickyCache = false; + } + if (nextTop !== null) { + menu.style.top = nextTop + 'px'; + topCache = nextTop; + } + prevScrollTop = scrollTop; + }, { passive: true }); + })(); + (function controllBorder() { + menu.classList.remove('bordered'); + document.addEventListener('scroll', function () { + if (menu.offsetTop === 0) { + menu.classList.remove('bordered'); + } else { + menu.classList.add('bordered'); + } + }, { passive: true }); + })(); +})(); diff --git a/docs/ch-01-introduction/main.html b/docs/ch-01-introduction/main.html new file mode 100644 index 0000000..433136b --- /dev/null +++ b/docs/ch-01-introduction/main.html @@ -0,0 +1,196 @@ + + + + + + Introduction - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Introduction

+

This section will introduce you with the benefits of using rust and will tell you why you should learn this programming language.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-01-introduction/pg-01-benefits-of-using-rust.html b/docs/ch-01-introduction/pg-01-benefits-of-using-rust.html new file mode 100644 index 0000000..1e27a41 --- /dev/null +++ b/docs/ch-01-introduction/pg-01-benefits-of-using-rust.html @@ -0,0 +1,234 @@ + + + + + + Benefits of using rust - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Benefits of using rust

+
    +
  • Memory Safe +
      +
    • Chromium Project has 70% vulnerabilities related to Memory.
    • +
    • C/C++ doesn’t provide Memory Safety
    • +
    • Python, JS provides Memory Safety but uses Garbage Collector
    • +
    • Rust provides Memory Safety without using Garbage Collector.
    • +
    • Rust achieves this functionality by making the language typed, thus the code won’t compile if any vulnerability will exist.
    • +
    +
  • +
  • No Null Types or No Null Pointers +
      +
    • Null Pointers in C are used as *ptr = NULL.
    • +
    • Rust uses it’s rich type system to represent the absence of a value.
    • +
    +
  • +
  • No Exceptions +
      +
    • Rust Provides No Direct Referencing, No Pointers and No Pointer Exceptions.
    • +
    +
  • +
  • Modern Package Manager +
      +
    • It uses Package Manager named Cargo.
    • +
    +
  • +
  • No Data Race +
      +
    • A data race occurs when: +
        +
      • two or more threads in a single process access the same memory location concurrently, and
      • +
      • at least one of the accesses is for writing, and
      • +
      • the threads are not using any exclusive locks to control their accesses to that memory
      • +
      +
    • +
    • Game Changer for writing Asynchronous Code
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-01-introduction/pg-02-the-hello-world-program.html b/docs/ch-01-introduction/pg-02-the-hello-world-program.html new file mode 100644 index 0000000..1bf8b50 --- /dev/null +++ b/docs/ch-01-introduction/pg-02-the-hello-world-program.html @@ -0,0 +1,243 @@ + + + + + + The Hello World Program - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

The "Hello, World!" program

+

Fun Fact: Rust is an ahead-of-time compiled language, meaning you can compile a program and give the executable to someone else, and they can run it even without having Rust installed.

+
    +
  • +

    After installing Rust, you may follow the following steps.

    +
  • +
  • +

    Create a project folder, cd into it and create main.rs file:

    +
    mkdir hello_world
    +cd hello_world
    +touch main.rs
    +
    +
  • +
  • +

    Add the following program inside of it:

    +
    // Filename: main.rs
    +fn main() {
    +    println!("Hello, world!");
    +}
    +
  • +
  • +

    Some facts regarding the above code.

    +
      +
    • Main function is the first function that gets called.
    • +
    • println!() is not a function but a macro.
    • +
    • Macros contain an ! mark.
    • +
    +
  • +
  • +

    Compile and run the file:

    +
    rustc main.rs
    +
    +
      +
    • +

      For Linux and macOS:

      +
      ./main
      +
      +
    • +
    • +

      For Windows:

      +
      .\main
      +
      +
    • +
    +
  • +
  • +

    Alternatively, you may use the package manager Cargo to create new boilerplate projects.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/main.html b/docs/ch-02-basics-of-rust/main.html new file mode 100644 index 0000000..cb9f598 --- /dev/null +++ b/docs/ch-02-basics-of-rust/main.html @@ -0,0 +1,196 @@ + + + + + + Basics of Rust - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Basics of Rust

+

In this Chapter you'll learn about the common programming concepts like functions, conditionals etc. along with some unique Rust concepts like borrowing, ownership and pattern matching.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-01-variables-and-mutability.html b/docs/ch-02-basics-of-rust/pg-01-variables-and-mutability.html new file mode 100644 index 0000000..781ffa1 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-01-variables-and-mutability.html @@ -0,0 +1,278 @@ + + + + + + Variables and Mutability - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Variables and Mutability

+

Variables

+
    +
  • +

    By default variables are immutable in Rust.

    +
  • +
  • +

    Its advantages includes memory safety and easy concurrency.

    +
  • +
  • +

    Example of immutable variable:

    +
    #![allow(unused)]
    +fn main() {
    +let x = 5;
    +}
    +
  • +
  • +

    Example of mutable variable:

    +
    #![allow(unused)]
    +fn main() {
    +let mut x = 5;
    +x = 6;
    +}
    +
  • +
+

Constants

+
    +
  • First, you aren’t allowed to use mut with constants.
  • +
  • Constants aren’t just immutable by default—they’re always immutable.
  • +
  • Constants can be declared in any scope, including the global scope, which makes them useful for values that many parts of code need to know about.
  • +
  • Constants may be set only to a constant expression, not the result of a value that could only be computed at runtime.
  • +
+
#![allow(unused)]
+fn main() {
+const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
+}
+ +

Shadowing

+
    +
  • +

    You can declare a new variable with the same name as a previous variable, it's called shadowing.

    +
    fn main() {
    +    let x = 5; // Binding x to value 5
    +
    +    let x = x + 1; // Declaring a variable named x again, thereby performing shadowing
    +
    +    {
    +        let x = x * 2; // Shadowing x again, but within the scope
    +        println!("The value of x in the inner scope is: {}", x);
    +    }
    +
    +    println!("The value of x is: {}", x);
    +}
    +
    +// Output:
    +// The value of x in the inner scope is: 12
    +// The value of x is: 6
    +
  • +
  • +

    In shadowing, we can make a few transformations on a value but have the variable be immutable, unlike let mut.

    +
  • +
  • +

    You can perform type conversions and still keep the same name.

    +
    #![allow(unused)]
    +fn main() {
    +// Shadowing compiles without errors
    +let spaces = "   ";
    +let spaces = spaces.len();
    +
    +// It's not possible to change type of a mutable Variables
    +let mut spaces = "   ";
    +spaces = spaces.len(); // This line won't compile
    +}
    +
  • +
+

Shadowing Vs Mutable Variables

+
+ + + +
ShadowingMutable Variables
Transform a variable but still keep it as immutable.We only make transformations after making variable mutable.
We need to declare variable with let everytime we perform shadowing.We need to declare variable with only let mut once.
It is possible to change the type of variable and keep the same name.It is not possible to change the type of mutable variable.
+
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-02-data-types.html b/docs/ch-02-basics-of-rust/pg-02-data-types.html new file mode 100644 index 0000000..452a9f4 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-02-data-types.html @@ -0,0 +1,363 @@ + + + + + + Data Types - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Data Types

+
    +
  • Every value in Rust is of a certain data type, that makes Rust a statically typed language.
  • +
  • It means Rust needs to know the type of all variables at compile time.
  • +
  • Rust data types has two subsets: +
      +
    1. Scalar
    2. +
    3. Compound
    4. +
    +
  • +
+

Scalar Data Types

+
    +
  • +

    Booleans

    +
      +
    • Represented by bool, has two values true and false.
    • +
    +
  • +
  • +

    Characters

    +
      +
    • Represented by char, it always has space of 4 bytes or 32 bits instead of 1 byte.
    • +
    • Characters are UTF-8 encoded, thus supports 'z', 'ℤ', '😻'.
    • +
    • Characters use single quotes and string uses double quotes.
    • +
    +
  • +
  • +

    Integers

    +
      +
    • u means unsigned (only positive), i means signed (both positive & negative)
    • +
    • The size ranges from 8 bits to 128 bits.
    • +
    • Range of Unsigned Integers is: +$$ [0, 2^n - 1] $$
    • +
    • Range of Signed Integer is: +$$ [- 2^{n-1}, 2^{n-1} - 1]$$
    • +
    • Examples, u8, i8, u128, i128
    • +
    • Rust also supports, usize and isize which means that it will take up space according to the architecture whether it is 32 bit or 64 bit.
    • +
    • You may also represent integer literals in the below forms:
    • +
    +
  • +
+
+ + + + + +
Number literalsExampleInteger
Decimal98_22298222
Hex0xff255
Octal0o7763
Binary0b1111_0000240
Byte (u8 only)b'A'65
+
+
    +
  • +

    Integer types default to i32.

    +
  • +
  • +

    To read how Interger Overflow works in Rust, please follow this link.

    +
  • +
  • +

    Division of integers gives floored value, 3 / 2 == 1.

    +
  • +
  • +

    Floats

    +
      +
    • It has f32 and f64, two floating data types for size 32 and 64.
    • +
    • Floating types default to f64.
    • +
    • Division of floats give fractional result, 3.0 / 2. 0 = 1.5.
    • +
    +
  • +
+

Compound Data Types

+
    +
  • +

    There are two compound data types in Rust:

    +
      +
    1. Tuples
    2. +
    3. Arrays
    4. +
    +
  • +
+

Tuples

+
    +
  • +

    They can store number of values with different data types.

    +
  • +
  • +

    They can't grow or shrink once declared.

    +
  • +
  • +

    Tuples can be declared as follows:

    +
    #![allow(unused)]
    +fn main() {
    +let tup_with_types: (i32, f64, u8) = (500, 6.4, 1);
    +let tup = (500, 6.4, 1);
    +
    +// Destructuring Tuples
    +let (x, y, z) = tup;
    +
    +// Destructuing Tuples using .
    +let x: (i32, f64, u8) = (500, 6.4, 1);
    +let five_hundred = x.0;
    +let six_point_four = x.1;
    +let one = x.2;
    +
    +// Unit type tuple with unit value
    +let unit_tup = ();
    +}
    +
  • +
+

Array

+
    +
  • +

    They can store number of values with same data type.

    +
  • +
  • +

    They can't grow or shrink once declared as their memory is allocated on stack.

    +
  • +
  • +

    If you want a similar data structure that can grow or shrink then use Vectors.

    +
  • +
  • +

    If you access an index of array that is greater than it's length, it'll result in 'index out of bounds'.

    +
  • +
  • +

    In other low level languages, this check is not done and they return an invalid memory.

    +
  • +
  • +

    Arrays can be declared as follows:

    +
    #![allow(unused)]
    +fn main() {
    +// Simple array declaration
    +let a = [1, 2, 3, 4, 5];
    +
    +// Declaring array with type and size
    +let a: [i32; 5] = [1, 2, 3, 4, 5];
    +
    +// Declaring same value 3 for 5 elements
    +let a = [3; 5];
    +
    +// Accessing Values of array
    +let a = [1, 2, 3, 4, 5];
    +let first = a[0];
    +let second = a[1];
    +}
    +
  • +
+

Slicing an array

+
    +
  • +

    It is possible to slice an array in Rust.

    +
    #![allow(unused)]
    +fn main() {
    +let a = [1, 2, 3, 4, 5];
    +
    +let slice = &a[1..3]; // It is of type &[i32]
    +}
    +
  • +
+

Ranges

+
    +
  • You can create a range with .. operator.
  • +
  • The following are equal: +
      +
    • 1..5 ~ 1..=4
    • +
    • 0..4 ~ ..4
    • +
    • 1..len ~ 1..
    • +
    • 0..len ~ ..
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-03-advanced-data-types.html b/docs/ch-02-basics-of-rust/pg-03-advanced-data-types.html new file mode 100644 index 0000000..7e028f9 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-03-advanced-data-types.html @@ -0,0 +1,521 @@ + + + + + + Advanced Data Types - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Advanced Data Types

+

Strings

+
    +
  • +

    They are represented in three types:

    +
      +
    • +

      String - A smart pointer.

      +
    • +
    • +

      &String - Reference to a String.

      +
    • +
    • +

      &str - String Slice

      +
    • +
    • +

      Defining a String

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::new("127.0.0.1:8080"); // It can grow and shrink
      +let string_literal = "1234"; // It's memory is fixed at runtime
      +}
      +
    • +
    • +

      Slicing a string

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::from("127.0.0.1:8080");
      +let string_slice = &string[10..14]; // We can also use &string[10..]
      +
      +// We can also use
      +let string_slice = &string[10..]; // Give me everything after 10th byte not character
      +let string_slice = &string[..12]; // Give me everything upto 12th byte not character
      +}
      +
    • +
    • +

      Rust uses UTF-8 encoding. So, prefer not to not pass integer values for slicing, as the slice function slices on the basis of bytes instead of characters.

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::from("😀😃😄😁");
      +let string_slice = &string[..4];
      +}
      +

      For this slice instead of returning 4 emojis, the rust will return 1 emoji because it takes 4 bytes to store an emoji.

      +
      string_slice = "😀"
      +
      +
    • +
    • +

      Strings in rust can dynamically grow or shrink.

      +
    • +
    • +

      We can borrow an entire string by using this syntax

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::from("127.0.0.1:8080");
      +let string_borrow: &str = &string;
      +}
      +
    • +
    +
  • +
  • +

    This is how let s1 = String::from("hello"); is stored in Rust:

    +
      +
    • Left - Parts of String that are stored on the stack: +
        +
      1. Pointer: Points to the memory that holds the contents of the string.
      2. +
      3. Length: How much memory, in bytes, the contents of the String is currently using.
      4. +
      5. Capacity: The total amount of memory, in bytes, that the String has received from the allocator.
      6. +
      +
    • +
    • Right - The memory on the heap that holds the contents.
    • +
    +

    Image

    +
  • +
+

String Slicing

+
    +
  • +

    Slices let you reference a contiguous sequence of elements in a collection rather than the whole collection.

    +
  • +
  • +

    A slice is a kind of reference, so it does not have ownership.

    +
  • +
  • +

    Slices are represented by &str and are immutable.

    +
    #![allow(unused)]
    +fn main() {
    +    let s = String::from("hello world");
    +
    +    let hello = &s[0..5]; // or you can use &s[..5]
    +    let world = &s[6..11];
    +}
    +
  • +
  • +

    This will throw compile-time error:

    +
    // FAIL: You cannot clear the memory, to which some reference already exists
    +fn main() {
    +    let mut s = String::from("hello world");
    +
    +    let word = first_word(&s); // Returns a &str, which is a referenc to s
    +
    +    s.clear(); // error!
    +
    +    println!("the first word is: {}", word);
    +}
    +
  • +
  • +

    Thus, String Slices helps us write secure code by protecting the references to a string.

    +
  • +
  • +

    Also string literals let string_literal = "hello";, are string slices &str, and are immutable.

    +
  • +
+

Note: It is expected that the String only contains ASCII characters, because in case of UTF-8, if we try to slice between a multibyte character, it'll cause an error.

+
    +
  • +

    The correct way to use referencing is discussed int the section, "Which is better &String or &str?".

    +
  • +
  • +

    Difference between String, String Literal, String Slice

    +
    + + + + + +
    PropertyStringString LiteralString SliceReference to String
    Definitionlet string = String::from("some_string");let string_literal = "1234";let string_slice = &string[1..3]let string_reference = &string
    RepresentationString&str&str&String
    Mutable:white_check_mark::x::x::x:
    Memory ManagementHeap (but deallocates when out of scope)Heap (Points to binary)Heap (Points to Binary)Heap
    Use CasesTaking Input, or any String ManipulationDefining Constant StringsSlicing and BorrowingBorrowing
    +
  • +
+

Strings and UTF-8 encoding

+
    +
  • +

    Characters are represented by single inverted commas, and has 4 bytes of storage. For Example, '😀'.

    +
  • +
  • +

    String is not a collection of characters but collections of bytes.

    +
  • +
  • +

    Rust has only one string type in the core language, which is the string slice str that is usually seen in its borrowed form &str.

    +
  • +
  • +

    String Slices are the references to some UTF-8 data stored somewhere else.

    +
  • +
  • +

    String Literals are string slices when stored in program's binary.

    +
  • +
  • +

    The String type, which is provided by Rust’s standard library rather than coded into the core language, is a growable, mutable, owned, UTF-8 encoded string type.

    +
  • +
  • +

    When Rustaceans, call "string in rust", they collectively mean:

    +
      +
    • String
    • +
    • &str
    • +
    +
  • +
  • +

    Both String and &str are UTF-8 encoded.

    +
  • +
  • +

    Creating the String type:

    +
    #![allow(unused)]
    +fn main() {
    +let mut s = String::new();
    +}
    +
  • +
  • +

    To create a String from some starting string:

    +
    #![allow(unused)]
    +fn main() {
    +let s = "initial contents".to_string(); // This fn can be used on any type that implements Display trait
    +let s = String::from("initial contents");
    +}
    +
  • +
  • +

    It is possible to store any properly encoded data:

    +
    #![allow(unused)]
    +fn main() {
    +let hello = String::from("नमस्ते");
    +let hello = String::from("안녕하세요");
    +let hello = String::from("Здравствуйте");
    +}
    +
  • +
  • +

    Updating the String:

    +
    #![allow(unused)]
    +fn main() {
    +let mut s = String::from("foo");
    +s.push_str("bar"); // It takes string slice, hence doesn't takes ownership
    +s.push('!'); // This fn only takes character as argument.
    +// s will become "foobar!"
    +}
    +
  • +
  • +

    Concatenating two strings with the + operator:

    +
    #![allow(unused)]
    +fn main() {
    +// '+' is a replacement of - fn add(self, s: &str) -> String {
    +let s1 = String::from("Hello, ");
    +let s2 = String::from("world!");
    +let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used
    +}
    +
  • +
+

Note: In Rust, if we provide &str, as a function's argument, it can accept both &String and &str. Rust uses a deref coercion, which here turns &s2 into &s2[..].

+
    +
  • +

    Combining multiple strings or formatting them:

    +
    #![allow(unused)]
    +fn main() {
    +let s1 = String::from("tic");
    +let s2 = String::from("tac");
    +let s3 = String::from("toe");
    +
    +// Method 1
    +let s = s1 + "-" + &s2 + "-" + &s3;
    +
    +// Method 2
    +let s = format!("{}-{}-{}", s1, s2, s3); // It works like println!() but returns String
    +}
    +
  • +
  • +

    Indexing into Strings is not possible and results in error:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Strings can be indexed in Rust
    +let s1 = String::from("hello");
    +let h = s1[0]; // Won't work
    +}
    +
  • +
  • +

    How values are stored in string.

    +
      +
    • +

      String is just a wrapper over Vec<u8>, this means 1 byte of space for each element in the vector. Hence, if we want to save special charcters, then it may take more than one element to store the values.

      +
    • +
    • +

      Let's consider following examples:

      +
      #![allow(unused)]
      +fn main() {
      +let hello = String::from("Hola"); // Each character will take 1 byte of storage
      +let hello = String::from("Здравствуйте"); // Each character will take 2 bytes of storage
      +}
      +
    • +
    • +

      Let's understand using the Hindi word “नमस्ते”:

      +
        +
      • +

        As Bytes (the way String does using u8 which ranges from 0 to 255):

        +
        #![allow(unused)]
        +fn main() {
        +[224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, 164, 164,
        +224, 165, 135]
        +}
        +
      • +
      • +

        As Unicode Scalar Values (the way char does):

        +
        #![allow(unused)]
        +fn main() {
        +['न', 'म', 'स', '्', 'त', 'े']
        +}
        +
      • +
      • +

        As Grapheme Clusters (the way a Hindi speaker might do):

        +
        #![allow(unused)]
        +fn main() {
        +["न", "म", "स्", "ते"]
        +}
        +
      • +
      +
    • +
    +
  • +
  • +

    Slicing Strings:

    +
      +
    • +

      You need to provide the range of bytes to be sliced out of String. Again, not characters but bytes.

      +
      #![allow(unused)]
      +fn main() {
      +let hello = "Здравствуйте"; // Each character here is composed of 2 bytes
      +
      +let s = &hello[0..4]; // It'll save first 4 bytes, `Зд`
      +
      +let will_panic = &hello[0..1]; // It'll panic, as if invalid index was accessed in the vector.
      +}
      +
    • +
    +
  • +
  • +

    Iterating over strings:

    +
      +
    • +

      You can iterate over the unicode scalar values or what chars might store:

      +
      #![allow(unused)]
      +fn main() {
      +for c in "नमस्ते".chars() {
      +    println!("{}", c);
      +}
      +
      +// This is what it'll print
      +न
      +म
      +स
      +्
      +त
      +े
      +}
      +
    • +
    • +

      You can iterate over bytes also, the way String is stored in Vec<u8> format:

      +
      #![allow(unused)]
      +fn main() {
      +for b in "नमस्ते".bytes() {
      +    println!("{}", b);
      +}
      +
      +// The output will be like
      +224
      +164
      +// --snip--
      +165
      +135
      +}
      +
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-04-functions.html b/docs/ch-02-basics-of-rust/pg-04-functions.html new file mode 100644 index 0000000..c849778 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-04-functions.html @@ -0,0 +1,335 @@ + + + + + + Functions - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Functions

+
    +
  • We define a function in Rust by entering fn followed by a function name and a set of parentheses.
  • +
  • The curly brackets tell the compiler where the function body begins and ends.
  • +
  • The entry function to a rust's code is the main function.
  • +
  • Rust doesn’t care where you define your functions, only that they’re defined somewhere.
  • +
  • Here's an example of functions in rust:
  • +
+
fn main() {
+    println!("Hello, world!");
+
+    another_function();
+}
+
+fn another_function() {
+    println!("Another function.");
+}
+
+// Function with Parameter (or argument)
+fn function_with_parameters(x: i32) {
+    println!("The value of x is: {}", x);
+}
+
+// Function with two parameters
+fn print_labeled_measurement(value: i32, unit_label: char) {
+    println!("The measurement is: {}{}", value, unit_label);
+}
+
+// Functions with a return value
+// In rust, functions return last expression implicitly
+fn five() -> i32 {
+    5 // An Expression
+}
+
+// Functions returning through classical return keyword
+// We use return keyword when we need to return early from a function
+fn five() -> i32 {
+    return 5; // A statement
+}
+
+// This will also work
+fn plus_one(x: i32) -> i32 {
+    x + 1
+}
+
+// Fail: Statement means, this function returns anything, expressed by (), a unit type
+fn plus_one(x: i32) -> i32 {
+    x + 1;
+}
+

Statements and Expressions

+
    +
  • In Rust, function bodies are made up of a series of statements optionally ending in an expression.
  • +
+

Statements

+
    +
  • +

    They are instructions that perform some action and do not return a value.

    +
  • +
  • +

    They are just a standalone unit of execution.

    +
  • +
  • +

    Creating a variable and assigning itself a value is a statement.

    +
    #![allow(unused)]
    +fn main() {
    +let y = 6;
    +}
    +
  • +
  • +

    Function definitions are also statements; the entire function is a statement in itself.

    +
    fn main() {
    +    let y = 6;
    +}
    +
  • +
  • +

    Statements do not return values. Therefore, you can’t assign a let statement to another variable:

    +
    fn main() {
    +    let x = (let y = 6); // FAIL : Statements doesn't return anything
    +}
    +
  • +
  • +

    In some languages, you can write x = y = 6 and have both x and y have the value 6; that is not the case in Rust.

    +
  • +
+

Expressions

+
    +
  • +

    They do not end with a semicolon, unlike statements.

    +
  • +
  • +

    They evaluate into a resulting value.

    +
  • +
  • +

    They are a combination of values and functions that are combined by the compiler to create a new value.

    +
  • +
  • +

    The following things are considered as an expression:

    +
      +
    1. A simple math operation
    2. +
    3. Calling a function
    4. +
    5. Calling a macro
    6. +
    7. A new scope block created with curly brackets
    8. +
    +
  • +
  • +

    A simple math operation is an expression:

    +
    #![allow(unused)]
    +fn main() {
    +5 + 6
    +}
    +
  • +
  • +

    In the below statement the standalone 6 is an expression.

    +
    #![allow(unused)]
    +fn main() {
    +let x = 6; // A statement containing an expression
    +}
    +
  • +
  • +

    A scope block is an expression:

    +
    #![allow(unused)]
    +fn main() {
    +{
    +    let x = 3;
    +    x + 1
    +}
    +}
    +
  • +
  • +

    The above scope block will return 4 and can now become a part of a statement.

    +
    fn main() {
    +    // The below statement contains the computed value of an expression
    +    let y = {
    +        let x = 3; // Statements end with a semicolon
    +        x + 1 // Expressions do not end with semicolon
    +    };
    +
    +    println!("The value of y is: {}", y);
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-05-control-flow.html b/docs/ch-02-basics-of-rust/pg-05-control-flow.html new file mode 100644 index 0000000..ef89b20 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-05-control-flow.html @@ -0,0 +1,265 @@ + + + + + + Control Flow - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Control Flow

+

if expressions

+
    +
  • +

    The code inside an if block is called an arm, similar to match.

    +
    fn main() {
    +    let number = 3;
    +
    +    if number < 5 {
    +        println!("condition was true"); // An arm
    +    } else {
    +        println!("condition was false");
    +    }
    +}
    +
  • +
  • +

    You can only pass a bool to the if expression

    +
    // FAIL: number is of type integer and not bool
    +fn main() {
    +    let number = 3;
    +
    +    if number {
    +        println!("number was three");
    +    }
    +}
    +
    +// This works since it's a condition
    +fn main() {
    +    let number = 3;
    +
    +    if number != 0 {
    +        println!("number was something other than zero");
    +    }
    +}
    +
  • +
  • +

    Rust only executes the block for the first true condition, and once it finds one, it doesn't even check the rest:

    +
    fn main() {
    +    let number = 6;
    +
    +    if number % 4 == 0 {
    +        println!("number is divisible by 4");
    +    } else if number % 3 == 0 {
    +        println!("number is divisible by 3"); // Only this statement will run
    +    } else if number % 2 == 0 {
    +        println!("number is divisible by 2");
    +    } else {
    +        println!("number is not divisible by 4, 3, or 2");
    +    }
    +}
    +
  • +
  • +

    Conditionals in Single Line:

    +
    // This Works
    +fn main() {
    +    let condition = true;
    +    let number = if condition { 5 } else { 6 };
    +
    +    println!("The value of number is: {}", number);
    +}
    +
    +// FAIL: Different data types integer and string
    +fn main() {
    +  let condition = true;
    +
    +  let number = if condition { 5 } else { "six" };
    +
    +  println!("The value of number is: {}", number);
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-06-loops.html b/docs/ch-02-basics-of-rust/pg-06-loops.html new file mode 100644 index 0000000..e35bf47 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-06-loops.html @@ -0,0 +1,326 @@ + + + + + + Loops - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Loops

+
    +
  • +

    Rust has three kinds of loops:

    +
      +
    1. loop - Infinite Loop, uses break and continue
    2. +
    3. while - Breaks when the condition doesn't meet.
    4. +
    5. for - Faster and easier to use for iterators and classical for loops.
    6. +
    +
  • +
  • +

    Simple Infinite Loop:

    +
    #![allow(unused)]
    +fn main() {
    +loop {
    +  // Do something iteratively
    +}
    +}
    +
  • +
  • +

    Named Loop

    +
    #![allow(unused)]
    +fn main() {
    +'outer:loop {
    + loop {
    +  break 'outer;
    + }
    +}
    +}
    +
  • +
  • +

    Named Loop with different breaks:

    +
    #![allow(unused)]
    +fn main() {
    +'oulter_loop: loop {
    +  loop {
    +    if condition {
    +      break 'oulter_loop; // Breaks Outer Loop
    +    }
    +
    +    if some_other_condition {
    +      break; // Breaks Inner Loop
    +    }
    +  }
    +}
    +}
    +
  • +
  • +

    Returning values in loops:

    +
    fn main() {
    +    let mut counter = 0;
    +
    +    let result = loop {
    +        counter += 1;
    +
    +        if counter == 10 {
    +            break counter * 2;
    +        }
    +    };
    +
    +    println!("The result is {}", result);
    +}
    +
  • +
  • +

    The while loop:

    +
    fn main() {
    +    let mut number = 3;
    +
    +    // Prevents the use of break, by including the condition with while
    +    while number != 0 {
    +        println!("{}!", number);
    +
    +        number -= 1;
    +    }
    +
    +    println!("LIFTOFF!!!");
    +}
    +
  • +
  • +

    The for loop:

    +
    #![allow(unused)]
    +fn main() {
    +// Last item in exclusive, or 0..10 === 0..=9
    +for x in 0..10 {
    +    println!("{}", x); // x: i32
    +}
    +}
    +
  • +
  • +

    The for loop for iterator:

    +
    fn main() {
    +    let a = [10, 20, 30, 40, 50];
    +
    +    for element in a {
    +        println!("the value is: {}", element);
    +    }
    +}
    +
  • +
  • +

    A for loop for iterating characters in String

    +
    #![allow(unused)]
    +fn main() {
    +for c in name.chars() {
    +    // c variable stores one charater per iteration
    +}
    +}
    +
  • +
  • +

    Enumeration

    +
    #![allow(unused)]
    +fn main() {
    +for (i, v) in request.chars().enumerate() {
    +    // i is index, v is variable
    +}
    +}
    +
  • +
  • +

    The for loop in reverse:

    +
    fn main() {
    +    for number in (1..4).rev() {
    +        println!("{}!", number);
    +    }
    +    println!("LIFTOFF!!!");
    +}
    +
    +// Output:
    +// 3!
    +// 2!
    +// 1!
    +// LIFTOFF!!!
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-07-ownership.html b/docs/ch-02-basics-of-rust/pg-07-ownership.html new file mode 100644 index 0000000..f2ed6fe --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-07-ownership.html @@ -0,0 +1,407 @@ + + + + + + Ownership - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Ownership

+
    +
  • Ownership is a set of rules that governs how a Rust program manages memory.
  • +
  • Some languages have garbage collection that constantly looks for no-longer used memory as the program runs; in other languages, the programmer must explicitly allocate and free the memory.
  • +
  • Rust uses a third approach: memory is managed through a system of ownership with a set of rules that the compiler checks.
  • +
  • If any of the rules are violated, the program won’t compile.
  • +
  • None of the features of ownership will slow down your program while it’s running.
  • +
+

The stack and the heap

+
    +
  • +

    Both the stack and the heap are parts of memory available to your code to use at runtime

    +
  • +
  • +

    Differences between Stack and Heap

    +
  • +
+
+ + + + + +
StackHeap
Value is stored in order Last In, First Out.Value is stored at an empty spot and a pointer is returned.
More OrganizedLess Organized
Operations are push and pop.Process of storing data on heap is called allocating.
All stored data is of fixed size.Stored data can be of dynamic size.
New items are stored on top of stack, hence pushing is faster.New items are stored after searching for right place to store, hence allocating is slower.
+
+
    +
  • +

    Pushing values onto the stack is not considered allocating. Because the pointer to the heap is a known, fixed size, you can store the pointer on the stack, but when you want the actual data, you must follow the pointer.

    +
  • +
  • +

    Think of heap as being seated at a restaurant.

    +
      +
    • When you enter, you state the number of people in your group, and the staff finds an empty table that fits everyone and leads you there. If someone in your group comes late, they can ask where you’ve been seated to find you.
    • +
    • Consider a server at a restaurant taking orders from many tables. It’s most efficient to get all the orders at one table before moving on to the next table. Taking an order from table A, then an order from table B, then one from A again, and then one from B again would be a much slower process. By the same token, a processor can do its job better if it works on data that’s close to other data (as it is on the stack) rather than farther away (as it can be on the heap). Allocating a large amount of space on the heap can also take time.
    • +
    +
  • +
  • +

    When your code calls a function, the values passed into the function (including, potentially, pointers to data on the heap) and the function’s local variables get pushed onto the stack. When the function is over, those values get popped off the stack.

    +
  • +
+

Ownership Rules

+
    +
  • +

    These are three golden rules of ownership:

    +
      +
    1. Each value in Rust has a variable that’s called its owner.
    2. +
    3. There can only be one owner at a time.
    4. +
    5. When the owner goes out of scope, the value will be dropped.
    6. +
    +
  • +
+

What is moved?

+
    +
  • This is not a move, it's a copy:
  • +
+
#![allow(unused)]
+fn main() {
+// y = x is a copy: Integers are simple values with a known, fixed size, pushed to stack, hence copied
+let x = 5;
+let y = x;
+}
+
    +
  • This is a move:
  • +
+
#![allow(unused)]
+fn main() {
+// s1 = s2 is a move: Strings are stored on heap, hence only the data of string stored on stack is copied, hence moved
+let s1 = String::from("hello");
+let s2 = s1;
+}
+
    +
  • +

    Why String is only moved and not copied?

    +
      +
    • When we assign s1 to s2, the String data is copied, meaning we copy the pointer, the length, and the capacity that are on the stack.
    • +
    • We do not copy the data on the heap that the pointer refers to.
    • +
    • Hence it is moved not copied.
    • +
    +

    Move of String

    +
  • +
  • +

    Why Rust preferes moving instead of copying the heap data?

    +
      +
    • If Rust preformed copy instead of move, the operation s2 = s1 could be very expensive in terms of runtime performance if the data on the heap were large.
    • +
    • This is what it would look like if Rust would have copied instead of moved.
    • +
    +

    If String was Copied

    +
  • +
  • +

    How does Rust clean memory after we perform s2 = s1 and both s1 and s2 go out of scope?

    +
      +
    • When a variable saved on heap goes out of scope, Rust calls a drop function to clean it from the memory.
    • +
    • But we performed let s2 = s1;, so Rust will try to clean both s1 and s2, cleaning the same memory.
    • +
    • This problem is called double free error.
    • +
    • To solve this problem, when we perform let s2 = s1;, Rust actually moves the value to s2 by invalidating s1.
    • +
    • Now, Rust has to only clean the s2 variable. Hence, the problem of double free is solved.
    • +
    • So, what may look like a shallow copy (refer shallow and deep copy in other languages), it is actually a move operation. +Invalidation of s1
    • +
    +
  • +
  • +

    In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data.

    +
  • +
  • +

    Therefore, any automatic copying can be assumed to be inexpensive in terms of runtime performance.

    +
  • +
+

Clone

+
    +
  • This function is used when we want to clone the heap data.
  • +
  • If we perform s2 = s1, on a heap data for example String, then only the stack data will be copied and not the heap data, hence moved.
  • +
  • In case we want to copy the heap data too (also referred to deep copy), we use clone function.
  • +
  • Here's an example:
  • +
+
#![allow(unused)]
+fn main() {
+let s1 = String::from("hello");
+let s2 = s1.clone();
+
+println!("s1 = {}, s2 = {}", s1, s2);
+}
+

The Copy and Drop trait

+
    +
  • +

    Copy trait can be placed on types that are stored on the stack like integers are.

    +
  • +
  • +

    If a type implements the Copy trait, a variable is still valid after assignment to another variable.

    +
  • +
  • +

    Rust won’t let us annotate a type with Copy if the type, or any of its parts, has implemented the Drop trait.

    +
  • +
  • +

    If the type needs something special to happen when the value goes out of scope and we add the Copy annotation to that type, we’ll get a compile-time error.

    +
  • +
  • +

    Types that implement copy:

    +
      +
    1. All the integer types, such as u32.
    2. +
    3. The Boolean type, bool, with values true and false.
    4. +
    5. All the floating point types, such as f64.
    6. +
    7. The character type, char.
    8. +
    9. Tuples, if they only contain types that also implement Copy. For example, (i32, i32) implements Copy, but (i32, String) does not.
    10. +
    +
  • +
+

Ownership and Functions

+
    +
  • Passing a variable to a function will move or copy, just as assignment does.
  • +
+
fn main() {
+    let s = String::from("hello");  // s comes into scope
+
+    takes_ownership(s);             // s's value moves into the function...
+                                    // ... and so is no longer valid here
+
+    let x = 5;                      // x comes into scope
+
+    makes_copy(x);                  // x would move into the function,
+                                    // but i32 is Copy, so it's okay to still
+                                    // use x afterward
+
+} // Here, x goes out of scope, then s. But because s's value was moved, nothing
+  // special happens.
+
+fn takes_ownership(some_string: String) { // some_string comes into scope
+    println!("{}", some_string);
+} // Here, some_string goes out of scope and `drop` is called. The backing
+  // memory is freed.
+
+fn makes_copy(some_integer: i32) { // some_integer comes into scope
+    println!("{}", some_integer);
+} // Here, some_integer goes out of scope. Nothing special happens.
+
    +
  • This is how the ownership works for the return values:
  • +
+
fn main() {
+    let s1 = gives_ownership();         // gives_ownership moves its return value into s1
+    let s2 = String::from("hello");     // s2 comes into scope
+
+    let s3 = takes_and_gives_back(s2);  // s2 is moved into takes_and_gives_back, which also moves its return value into s3
+} // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing
+  // happens. s1 goes out of scope and is dropped.
+
+fn gives_ownership() -> String { // gives_ownership will move its return value into the function that calls it
+    let some_string = String::from("yours"); // some_string comes into scope
+
+    some_string // some_string is returned and moves out to the calling function
+}
+
+// This function takes a String and returns one
+fn takes_and_gives_back(a_string: String) -> String { // a_string comes into scope
+    a_string  // a_string is returned and moves out to the calling function
+}
+
    +
  • When a variable that includes data on the heap goes out of scope, the value will be cleaned up by drop unless ownership of the data has been moved to another variable. See how takes_and_gives_back function returns the variable before going out of scope.
  • +
  • Basically if we send a variable, we must return it back from the function to use it again.
  • +
  • So, there are two things we can do, either return multiple values using tuples or use references.
  • +
+
// This is an example of how a fn returns multiple values using tuples
+fn main() {
+    let s1 = String::from("hello");
+
+    let (s2, len) = calculate_length(s1);
+
+    println!("The length of '{}' is {}.", s2, len);
+}
+
+fn calculate_length(s: String) -> (String, usize) {
+    let length = s.len(); // len() returns the length of a String
+
+    (s, length)
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-08-borrowing.html b/docs/ch-02-basics-of-rust/pg-08-borrowing.html new file mode 100644 index 0000000..b3d5b7c --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-08-borrowing.html @@ -0,0 +1,422 @@ + + + + + + Borrowing - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Borrowing

+
    +
  • We do borrowing whenever we don't want to transfer the complete ownership of a varaible.
  • +
  • Consider the above example in previous section, inside calculate_length function we returned String s.
  • +
  • We returned it because when we passed s1 into the function we transferred it's ownership to the variable s.
  • +
  • Since, the scope of variable s is limited, the passed value of s1 will die outside the scope of calculate_length.
  • +
  • So, we returned the variable s inside a tuple before the end of it's scope.
  • +
  • Now, there is a workaround to calculate length without transferring the ownership.
  • +
  • The process of doing so is called Borrowing and it's done using references.
  • +
+

References

+
    +
  • +

    A reference is a pointer to the variable.

    +
  • +
  • +

    It’s an address we can follow to access data stored at that address that is owned by some other variable.

    +
  • +
  • +

    Unlike a pointer, a reference is guaranteed to point to a valid value of a particular type.

    +
  • +
  • +

    We use &, called as ampersand, to represent a reference.

    +
    fn main() {
    +    let s1 = String::from("hello");
    +
    +    // Instead of transferring ownership, we only passed a reference to the string
    +    let len = calculate_length(&s1);
    +
    +    println!("The length of '{}' is {}.", s1, len);
    +}
    +
    +// We declare that this function will only accept a reference to a String, hence only borrows
    +fn calculate_length(s: &String) -> usize {
    +    s.len()
    +}
    +
  • +
  • +

    Instead of Ownership transfer, borrowing looks like this, where s stores the reference.

    +

    Borrowing

    +
  • +
+

Dereference

+
    +
  • This is the opposite of reference. It is represented by *.
  • +
  • It returns the value of a pointer.
  • +
+

Mutable Reference

+
    +
  • +

    The references are also immutable by default.

    +
  • +
  • +

    To make a reference mutable, we need to make both the declared variable and the reference mutable using mut keyword.

    +
    fn main() {
    +    let mut s = String::from("hello"); // Step 2 -> Change variable to mutable
    +
    +    change(&mut s); // Step 3 -> Pass the string as a mutable reference
    +}
    +
    +fn change(some_string: &mut String) { // Step 1 -> Declare in fn definition, that it demands a mutable reference
    +    some_string.push_str(", world");
    +}
    +
  • +
+

Referencing for strings

+

Which is better &String or &str?

+
    +
  • +

    Short Answer: &str.

    +
  • +
  • +

    Reason: It allows us to use the same function on both &String values and &str values.

    +
    #![allow(unused)]
    +fn main() {
    +fn first_word(s: &String) -> &str { // This sucks, only allows &String
    +
    +fn first_word(s: &str) -> &str { // Rustaceans prefer this, since it allows both `&String` and `&str`.
    +}
    +
  • +
  • +

    Basically, &str works for all types of references:

    +
    fn main() {
    +    let my_string = String::from("hello world");
    +
    +    // `first_word` works on slices of `String`s, whether partial or whole
    +    let word = first_word(&my_string[0..6]);
    +    let word = first_word(&my_string[..]);
    +    // `first_word` also works on references to `String`s, which are equivalent
    +    // to whole slices of `String`s
    +    let word = first_word(&my_string);
    +
    +    let my_string_literal = "hello world";
    +
    +    // `first_word` works on slices of string literals, whether partial or whole
    +    let word = first_word(&my_string_literal[0..6]);
    +    let word = first_word(&my_string_literal[..]);
    +
    +    // Because string literals *are* string slices already,
    +    // this works too, without the slice syntax!
    +    let word = first_word(my_string_literal);
    +}
    +
  • +
+

Data Race

+
    +
  • +

    The data race condition happens when these three behaviors occur:

    +
      +
    1. Two or more pointers access the same data at the same time.
    2. +
    3. At least one of the pointers is being used to write to the data.
    4. +
    5. There’s no mechanism being used to synchronize access to the data.
    6. +
    +
  • +
  • +

    To prevent this condition, Rust adds limitations while using references.

    +
  • +
+

Limitations of Referecnes

+
    +
  • +

    We cannot create two mutable references to a variable.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &mut s;
    +    let r2 = &mut s;
    +
    +    println!("{}, {}", r1, r2);
    +}
    +
  • +
  • +

    We cannot create one immutable and one mutable reference to a variable.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &s; // no problem
    +    let r2 = &s; // no problem
    +    let r3 = &mut s; // BIG PROBLEM
    +
    +    println!("{}, {}, and {}", r1, r2, r3);
    +}
    +
  • +
+

Allowed Workarounds for References

+
    +
  • +

    Multiple immutable references are allowed because no one who is just reading the data has the ability to affect anyone else’s reading of the data.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &s; // no problem
    +    let r2 = &s; // no problem
    +
    +    println!("{}, {}", r1, r2);
    +}
    +
  • +
  • +

    Rust treats last usage of a immutable reference, as it's end. Hence, the following code runs perfectly, read more about Non-Lexical Lifetimes.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &s; // no problem
    +    let r2 = &s; // no problem
    +    println!("{} and {}", r1, r2);
    +    // variables r1 and r2 will not be used after this point
    +
    +    let r3 = &mut s; // no problem
    +    println!("{}", r3);
    +}
    +
  • +
  • +

    You may create a new scope to use two mutable references.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    {
    +        let r1 = &mut s;
    +    } // r1 goes out of scope here, so we can make a new reference with no problems.
    +
    +    let r2 = &mut s;
    +}
    +
  • +
+

Dangling References

+
    +
  • +

    Dangling Reference is a reference to a location in memory which is freed but the reference exists.

    +
  • +
  • +

    In languages with pointers, it’s easy to erroneously create a dangling pointer.

    +
  • +
  • +

    In Rust, by contrast, the compiler guarantees that references will never be dangling references: if you have a reference to some data, the compiler will ensure that the data will not go out of scope before the reference to the data does.

    +
  • +
  • +

    Compiler throws error if we manually try to create a dangling reference:

    +
    // FAIL: Rust won't allow you to create Dangling References
    +fn main() {
    +    let reference_to_nothing = dangle();
    +}
    +
    +fn dangle() -> &String {
    +    let s = String::from("hello");
    +
    +    &s
    +} // s goes out of scope here, but we try to reference to
    +
  • +
  • +

    The Error that compiler throws is:

    +
    this function's return type contains a borrowed value, but there is no value
    +for it to be borrowed from
    +
    +
  • +
  • +

    It also mentions, we can fix it using lifetimes.

    +
  • +
+

Golden Rules of Referencing

+
    +
  1. No Data Racing - At any given time, you can have either one mutable reference or any number of immutable references.
  2. +
  3. No Dangling References - References must always be valid.
  4. +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-09-structs.html b/docs/ch-02-basics-of-rust/pg-09-structs.html new file mode 100644 index 0000000..3aab0c0 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-09-structs.html @@ -0,0 +1,567 @@ + + + + + + Structs - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Structs

+
    +
  • A struct, or structure, is a custom data type that lets you name and package together multiple related values that make up a meaningful group.
  • +
  • It is used to just define the data attributes as we do in Object Oriented Programming Languages.
  • +
  • There are three types of Structs: +
      +
    1. Structs with Named Fields
    2. +
    3. Tuple Structs
    4. +
    5. Unit Structs
    6. +
    +
  • +
+

Associated Functions and Methods

+
    +
  • Functions defined for structs using the impl keyowrd are called associated functions.
  • +
  • The associated functions which accepts self as it's first argument are called methods.
  • +
+

Structs with Named Fields

+
    +
  • +

    In structs, we name each piece of data, so it's clear what they mean. This name and data type pair are called fields.

    +
  • +
  • +

    Struct definition:

    +
    #![allow(unused)]
    +fn main() {
    +struct User {
    +    active: bool, // A Field
    +    username: String,
    +    email: String,
    +    sign_in_count: u64,
    +}
    +}
    +
  • +
  • +

    Creating a struct's instance:

    +
    #![allow(unused)]
    +fn main() {
    +// If you specify mut, all the values will be mutable otherwise none
    +let mut user1 = User {
    +    email: String::from("someone@example.com"),
    +    username: String::from("someusername123"),
    +    active: true,
    +    sign_in_count: 1,
    +};
    +}
    +
  • +
  • +

    Taking out and updating the values:

    +
    #![allow(unused)]
    +fn main() {
    +user1.email = String::from("anotheremail@example.com");
    +}
    +
  • +
  • +

    Defining functions for structs

    +
    #![allow(unused)]
    +fn main() {
    +fn build_user(email: String, username: String) -> User {
    +    User {
    +        email, //We can write like this aslo-> email: email
    +        username,
    +        active: true,
    +        sign_in_count: 1,
    +    }
    +}
    +}
    +
  • +
  • +

    The struct update syntax (..), or spread operator in JS:

    +
    #![allow(unused)]
    +fn main() {
    +// Initially
    +let user2 = User {
    +    active: user1.active,
    +    username: user1.username,
    +    email: String::from("another@example.com"),
    +    sign_in_count: user1.sign_in_count,
    +};
    +
    +// After using the struct update syntax (..)
    +let user2 = User {
    +    email: String::from("another@example.com"),
    +    ..user1
    +};
    +}
    +

    Note: This update syntax, works same as assignment operator =, so stack values will get copied and heap values will be moved. Since, username is a String, it's value will be moved from user1 to user2, hence user1 can't be used again.

    +
  • +
  • +

    To prevent this problem of ownership transfer, we can use &str instead of String but when we use references in structs, it won't actually compile but will ask for lifetimes.

    +
    // FAIL: Lifetime specifier not provided.
    +struct User {
    +    username: &str,
    +    email: &str,
    +    sign_in_count: u64,
    +    active: bool,
    +}
    +
    +fn main() {
    +    let user1 = User {
    +        email: "someone@example.com",
    +        username: "someusername123",
    +        active: true,
    +        sign_in_count: 1,
    +    };
    +}
    +
  • +
  • +

    In this situation the compiler situation looks something like this:

    +
     --> src/main.rs:2:15
    +  |
    +2 |     username: &str,
    +  |               ^ expected named lifetime parameter
    +  |
    +help: consider introducing a named lifetime parameter
    +  |
    +1 | struct User<'a> {
    +2 |     username: &'a str,
    +  |
    +
    +
  • +
+

Tuple Structs

+
    +
  • +

    Using Tuple Structs without Named Fields to Create Different Types:

    +
    #![allow(unused)]
    +fn main() {
    +struct Color(i32, i32, i32);
    +struct Point(i32, i32, i32);
    +
    +let black = Color(0, 0, 0);
    +let origin = Point(0, 0, 0);
    +}
    +
  • +
  • +

    To access their types, we use the . operator followed by the number of this argumnet.

    +
    #![allow(unused)]
    +fn main() {
    +let color = Color(10, 25, 16);
    +let red = color.0;
    +let green = color.1;
    +let blue = color.2;
    +}
    +
  • +
+

Unit Structs

+
    +
  • +

    They are structs without Any Fields (they act like ()).

    +
  • +
  • +

    They are Useful when we want to implement a trait on some type but don’t have any data that you want to store in the type itself.

    +
    #![allow(unused)]
    +fn main() {
    +struct AlwaysEqual;
    +
    +let subject = AlwaysEqual;
    +}
    +
  • +
+

Why do we use Structs?

+
    +
  1. +

    It is a more sensible design choice to pass as minimum arguments as possible inside a function. For Example, if we need to calculate the area of rectangle, instead of passing height and width, it would be cleaner to pass the whole rectangle.

    +
  2. +
  3. +

    Now, this can be done with the tuples too. For Example, let rect1 = (50, 30); but the problem with this syntax is that any developer can confuse which one is width or height.

    +
  4. +
  5. +

    To make this process clearer and cleaner, we use struct, so that we can combine the data and still keep the meaning of each attribute intact.

    +
    struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +fn main() {
    +    let rect1 = Rectangle {
    +        width: 50,
    +        height: 30
    +    };
    +
    +    println!("The area of the rectangle is {} square pixels", area(&rect1));
    +}
    +
    +
    +// Passing Rectangle as a reference is important so that main fn
    +// can retain it's ownership after this function is called.
    +fn area(rectangle: &Rectangle) -> u32 {
    +    rectangle.width * rectangle.height
    +}
    +
  6. +
+

Printing Variables

+
    +
  • +

    Ways to Print the variables:

    +
      +
    • {} - Used to print variables with Display trait, for simple data types like int, string etc. we don't need to derive this attribute.
    • +
    • {:?} - Used to print complex variables with Debug trait, preferred for complex data type like struct, and we need to derive the Debug attribute.
    • +
    • {:#?} - Works similarly like {:?}, except it's preferred for structs with large number of fields.
    • +
    • dbg!() - It is a macro used with Debug trait to print the variables, file and line number. It prints to stderr instead of stdout (which println!() uses). It takes ownership, so prefer sending references to it.
    • +
    +
  • +
  • +

    Here's an example of using the dbg!() macro:

    +
    #[derive(Debug)]
    +struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +fn main() {
    +    let scale = 2;
    +    let rect1 = Rectangle {
    +        width: dbg!(30 * scale), // It'll resolve the expression `30 * scale`, as if dbg!() call was never there, it happens due to ownership transfer
    +        height: 50,
    +    };
    +
    +    dbg!(&rect1); // To maintian the scope of rect1 in main() we sent only the reference.
    +}
    +
  • +
  • +

    The output looks like this:

    +
       Compiling rectangles v0.1.0 (file:///projects/rectangles)
    +    Finished dev [unoptimized + debuginfo] target(s) in 0.61s
    +     Running `target/debug/rectangles`
    +[src/main.rs:10] 30 * scale = 60
    +[src/main.rs:14] &rect1 = Rectangle {
    +    width: 60,
    +    height: 50,
    +}
    +
    +
  • +
  • +

    You can read more about Derivable Traits and Attributes.

    +
  • +
+

Structs with Method Syntax

+
    +
  • +

    When functions are defined in the context of a struct, enum or trait they are called as Methods.

    +
  • +
  • +

    The first parameter of a method is always self, which represents the instance.

    +
    #[derive(Debug)]
    +struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +// Everything inside the impl block is associated with Rectangle
    +impl Rectangle {
    +
    +    // &self is a short hand for self: `&self` (references are used to prevent mutation)
    +    // You can pass the following too:
    +    // self - Ownership of instance
    +    // &self - Reference to the instance {Currently Using}
    +    // &mut self - Mutable Reference to the instance
    +    fn area(&self) -> u32 {
    +        self.width * self.height
    +    }
    +
    +    // It is possible to name methods same as fields of struct
    +    // Usually these methods are used as getters, to keep the fields private but provide read only accees using the methods
    +    fn width(&self) -> bool {
    +      self.width > 0
    +    }
    +
    +    // This is how we pass anotherr instance of same struct to a method
    +    fn can_hold(&self, other: &Rectangle) -> bool {
    +      self.width > other.width && self.height > other.height
    +    }
    +}
    +
    +fn main() {
    +    let rect1 = Rectangle {
    +        width: 30,
    +        height: 50,
    +    };
    +
    +    let rect2 = Rectangle {
    +      width: 15,
    +      height: 25,
    +    };
    +
    +    println!(
    +        "The area of the rectangle is {} square pixels.",
    +        rect1.area()
    +    );
    +
    +    // If we use rect1.width() - Rust unserstands it as method and
    +    // if we use rect1.width - Rust unserstands it as a field
    +    if rect1.width() {
    +      println!("The rectangle has a nonzero width; it is {}", rect1.width);
    +    };
    +
    +    // This is how we can pass second instance while calling a method on first instance
    +    println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2));
    +}
    +
  • +
+

Note: When you call a method with object.something(), Rust automatically adds in &, &mut, or * so object matches the signature of the method. In other words, the following are the same:

+
#![allow(unused)]
+fn main() {
+p1.distance(&p2);
+(&p1).distance(&p2);
+}
+
    +
  • +

    It is possible to use different impl blocks, it is a valid syntax.

    +
    #![allow(unused)]
    +fn main() {
    +impl Rectangle {
    +    fn area(&self) -> u32 {
    +        self.width * self.height
    +    }
    +}
    +
    +impl Rectangle {
    +    fn can_hold(&self, other: &Rectangle) -> bool {
    +        self.width > other.width && self.height > other.height
    +    }
    +}
    +}
    +
  • +
+

Associated Functions

+
    +
  • +

    All the functions defined under impl are associated functions.

    +
  • +
  • +

    Methods are associated functions which has self as an argument and we use . operator to access it.

    +
  • +
  • +

    It is possible to define associated functions without passing self as the first argument, these functions are accessed through :: operator.

    +
  • +
  • +

    Here's an example:

    +
    #![allow(unused)]
    +fn main() {
    +// Calling a method, also an associated function
    +instance.method(some_argument);
    +
    +// Calling an associated function, without self as the first argument, hence not a method
    +String::from("Hello, World!");
    +}
    +
  • +
  • +

    These associated functions are commonly used as constructors. Also, for the previous example of Rectangle, we can use it as follows:

    +
    #![allow(unused)]
    +fn main() {
    +impl Rectangle {
    +    // With this associated function we can create a new instance of Rectangle
    +    // by passing one value instead of two, hence creating a square.
    +    fn square(size: u32) -> Rectangle {
    +        Rectangle {
    +            width: size,
    +            height: size,
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    It can be called like this:

    +
    #![allow(unused)]
    +fn main() {
    +let sq = Rectangle::square(3);
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-10-enums.html b/docs/ch-02-basics-of-rust/pg-10-enums.html new file mode 100644 index 0000000..7e13240 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-10-enums.html @@ -0,0 +1,467 @@ + + + + + + Enums - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Enums

+
    +
  • Enums is the short form of enumerations.
  • +
  • It allows us to define a type with possible values, these possible values are called variants.
  • +
  • We can enumerate all possible variants, which is where enumeration gets its name.
  • +
  • The total size that enum will allocate for it’s variant will be equal to the memory allocation of it’s largest variant. It works similar to unions in C.
  • +
+

Where to use Enums?

+
    +
  • +

    When their are certain possible values for a type and those possible values may not coincide together.

    +
  • +
  • +

    For Example, we can make an enum for Day, with possible variants Monday-Sunday, now for a certain day any two possible values will never coincide.

    +
  • +
  • +

    Another Example, IP Address, it's possible variants will be IPV4, IPV6, for a certain IP address, it can only be either of the two.

    +
  • +
  • +

    Here's an example definition:

    +
    #![allow(unused)]
    +fn main() {
    +enum IpAddrKind {
    +    V4,
    +    V6,
    +}
    +}
    +
  • +
  • +

    To create an instance of ane enum, we use :: operator:

    +
    #![allow(unused)]
    +fn main() {
    +let four = IpAddrKind::V4;
    +let six = IpAddrKind::V6;
    +}
    +
  • +
  • +

    To use it in a function:

    +
    #![allow(unused)]
    +fn main() {
    +// In fn declaration
    +fn route(ip_kind: IpAddrKind) {}
    +
    +// In fn call
    +route(IpAddrKind::V4);
    +route(IpAddrKind::V6);
    +}
    +
  • +
  • +

    Using Enums with Structs:

    +
    #![allow(unused)]
    +fn main() {
    +    enum IpAddrKind {
    +        V4,
    +        V6,
    +    }
    +
    +    struct IpAddr {
    +        kind: IpAddrKind,
    +        address: String,
    +    }
    +
    +    let home = IpAddr {
    +        kind: IpAddrKind::V4,
    +        address: String::from("127.0.0.1"),
    +    };
    +
    +    let loopback = IpAddr {
    +        kind: IpAddrKind::V6,
    +        address: String::from("::1"),
    +    };
    +}
    +
  • +
  • +

    Enums with associated data types:

    +
    #![allow(unused)]
    +fn main() {
    +// Now, we don't need an extra struct
    +enum IpAddr {
    +    V4(String),
    +    V6(String),
    +}
    +
    +// We get a default constructor function for each variant
    +let home = IpAddr::V4(String::from("127.0.0.1"));
    +
    +let loopback = IpAddr::V6(String::from("::1"));
    +}
    +
  • +
  • +

    Defining enum variants with different data types:

    +
  • +
+
#![allow(unused)]
+fn main() {
+enum IpAddr {
+    // Defining variants with two different data types
+    // is only possible through enums and not through enums with struct
+    V4(u8, u8, u8, u8),
+    V6(String),
+}
+
+let home = IpAddr::V4(127, 0, 0, 1);
+
+let loopback = IpAddr::V6(String::from("::1"));
+}
+
    +
  • +

    This is how standard library defines IP addresses:

    +
    #![allow(unused)]
    +fn main() {
    +struct Ipv4Addr {
    +    // --snip--
    +}
    +
    +struct Ipv6Addr {
    +    // --snip--
    +}
    +
    +// It is posible to put any data type inside
    +// the enum variant, int, String, struct,
    +// or even enum
    +enum IpAddr {
    +    V4(Ipv4Addr),
    +    V6(Ipv6Addr),
    +}
    +
    +}
    +
  • +
  • +

    Enum with complicated data types:

    +
    #![allow(unused)]
    +fn main() {
    +// Cleaner Approach
    +enum Message {
    +    Quit, // No data associated with it at all!
    +    Move { x: i32, y: i32 }, // Has named fields like struct
    +    Write(String),
    +    ChangeColor(i32, i32, i32),
    +}
    +
    +// Uglier approach using struct
    +struct QuitMessage; // unit struct
    +struct MoveMessage {
    +    x: i32,
    +    y: i32,
    +}
    +struct WriteMessage(String); // tuple struct
    +struct ChangeColorMessage(i32, i32, i32); // tuple struct
    +}
    +
  • +
  • +

    It is possible to define associated functions on enums using impl:

    +
    #![allow(unused)]
    +fn main() {
    +enum Message {
    +    Quit,
    +    Move { x: i32, y: i32 },
    +    Write(String),
    +    ChangeColor(i32, i32, i32),
    +}
    +
    +impl Message {
    +    fn call(&self) {
    +        // method body would be defined here
    +    }
    +}
    +
    +let _quit_message = Message::Quit; // We won't use parantheses because it is of Unit Type
    +let _write_message = Message::Write(String::from("Hello")); // Constructor function, that accepts String and will stroe it on heap
    +let _change_color_message = Message::ChangeColor(12, 12, 12); // Constructor function, that accepts three i32 values
    +let _move_message = Message::Move {x: 5, y: 6}; // Works similar to creating new instance of struct with named fields
    +
    +_quit_message.call();
    +}
    +
  • +
+

The Option Enum

+
    +
  • +

    The Option type is used in many places because it encodes the very common scenario in which a value could be something or it could be nothing.

    +
  • +
  • +

    Expressing this concept in terms of the type system means the compiler can check whether you’ve handled all the cases you should be handling.

    +
  • +
  • +

    This functionality can prevent bugs that are extremely common in other programming languages.

    +
  • +
  • +

    Rust doesn't have Null, so it uses Option enum with variants Some and None.

    +
  • +
  • +

    This makes Rust extremely cool, you may read more about "Null References: The Billion Dollar Mistake".

    +
  • +
  • +

    The problem with null values is that if you try to use a null value as a not-null value, you’ll get an error of some kind.

    +
  • +
  • +

    Rust's Option enum will always ask you to offer solution for both Some and None.

    +
    #![allow(unused)]
    +fn main() {
    +// It is generic over any data type T
    +enum Option<T> {
    +    None,
    +    Some(T),
    +}
    +
    +// Rust automatically inferred to be of type Option<i32> because we passed a number and i32 is it's default type
    +let some_number = Some(5);
    +// Similarly, Rust inferred Option<&str>, since we passed string literal
    +let some_string = Some("a string");
    +
    +// Here, since None can belong to any data type, we explicitly define i32
    +let absent_number: Option<i32> = None;
    +}
    +
  • +
+

Why is having Option<T> any better than having null?

+
    +
  • +

    In short, because Option<T> and T (where T can be any type) are different types, the compiler won’t let us use an Option<T> value as if it were definitely a valid value.

    +
  • +
  • +

    For example, this code won’t compile because it’s trying to add an i8 to an Option<i8>:

    +
    #![allow(unused)]
    +fn main() {
    +let x: i8 = 5;
    +let y: Option<i8> = Some(5);
    +
    +let sum = x + y;
    +}
    +
  • +
  • +

    When we have a value of a type like i8 in Rust, the compiler will ensure that we always have a valid value.

    +
  • +
  • +

    We can proceed confidently without having to check for null before using that value.

    +
  • +
  • +

    when we have an Option<i8>, we'll have to worry about possibly not having a value, and the compiler will make sure we handle that case before using the value.

    +
  • +
  • +

    In other words, you have to convert an Option<T> to a T before you can perform T operations with it.

    +
  • +
  • +

    Generally, this helps catch one of the most common issues with null: assuming that something isn’t null when it actually is.

    +
  • +
  • +

    In languages like C, this will work and print something, even though we know it doesn't contain any value.

    +
    #include <stdio.h>
    +
    +int main() {
    +    int x;
    +    printf("Value of x: %i", x);
    +
    +    return 0;
    +}
    +
    +
  • +
  • +

    In Rust, it'll not compile, since it identifies an absence of value.

    +
    fn main() {
    +    let number: i32;
    +    println!("Value of x: {}", number);
    +}
    +
  • +
  • +

    Everywhere that a value has a type that isn’t an Option<T>, you can safely assume that the value isn’t null.

    +
  • +
  • +

    This was a deliberate design decision for Rust to limit null’s pervasiveness and increase the safety of Rust code.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-02-basics-of-rust/pg-11-pattern-matching.html b/docs/ch-02-basics-of-rust/pg-11-pattern-matching.html new file mode 100644 index 0000000..f6edf66 --- /dev/null +++ b/docs/ch-02-basics-of-rust/pg-11-pattern-matching.html @@ -0,0 +1,413 @@ + + + + + + Pattern Matching - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Pattern Matching

+

The match conftrol flow operator

+
    +
  • +

    It allows you to compare a value against a series of patterns and then execute code based on which pattern matches.

    +
  • +
  • +

    It is possible to express very different kind of patterns. Also, Rust has a cumpolsary check, where it handles that all possible cases are handled.

    +
  • +
  • +

    Think of a match expression as being like a coin-sorting machine: coins slide down a track with variously sized holes along it, and each coin falls through the first hole it encounters that it fits into.

    +
  • +
  • +

    At the first pattern the value “fits”, the value falls into the associated code block to be used during execution.

    +
  • +
  • +

    The expression with if statement only returns a boolean value but match expression can return any type.

    +
  • +
  • +

    Here's an Example Below:

    +
    #![allow(unused)]
    +fn main() {
    +enum Coin {
    +    Penny,
    +    Nickel,
    +    Dime,
    +    Quarter,
    +}
    +
    +fn value_in_cents(coin: Coin) -> u8 {
    +    match coin {
    +        Coin::Penny => {
    +            println!("Lucky penny!");
    +            1
    +        },
    +        Coin::Nickel => 5,
    +        Coin::Dime => 10,
    +        Coin::Quarter => 25,
    +    }
    +}
    +}
    +
  • +
  • +

    Each new pattern under match is an arm. An arm has two parts: a pattern and some code.

    +
  • +
  • +

    The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire match expression.

    +
  • +
+

An enum inside another enum

+
    +
  • This is how we'll be using match for such cases:
  • +
+
#[derive(Debug)] // so we can inspect the state in a minute
+enum UsState {
+    Alabama,
+    Alaska,
+    // --snip--
+}
+
+enum Coin {
+    Penny,
+    Nickel,
+    Dime,
+    Quarter(UsState),
+}
+
+fn value_in_cents(coin: Coin) -> u8 {
+    match coin {
+        Coin::Penny => 1,
+        Coin::Nickel => 5,
+        Coin::Dime => 10,
+        Coin::Quarter(state) => {
+            println!("State quarter from {:?}!", state);
+            25
+        }
+    }
+}
+
+fn main() {
+  let _value = value_in_cents(Coin::Quarter(UsState::Alaska));
+}
+

Matching with Option<T>

+
    +
  • +

    The value inside Option of type T can be passed through like a functional argument using the match expression.

    +
    #![allow(unused)]
    +fn main() {
    +    fn plus_one(x: Option<i32>) -> Option<i32> {
    +        match x {
    +            None => None,
    +            Some(i) => Some(i + 1),
    +        }
    +    }
    +
    +    let five = Some(5);
    +    let six = plus_one(five);
    +    let none = plus_one(None);
    +}
    +
  • +
  • +

    The match expression always covers all the possible values, that's why we call them exhaustive: we must exhaust every last possibility in order for the code to be valid.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: All the cases not covered in match expression, the None case is remaining
    +fn plus_one(x: Option<i32>) -> Option<i32> {
    +    match x {
    +        Some(i) => Some(i + 1),
    +    }
    +}
    +}
    +
  • +
  • +

    Especially in the case of Option<T>, when Rust prevents us from forgetting to explicitly handle the None case, it protects us from assuming that we have a value when we might have null, thus making the billion-dollar mistake discussed earlier impossible.

    +
  • +
+

Catch remaining patterns using _ placeholder

+
    +
  • +

    It is possible to cover the remaining cases inside the match expression, it is similar to default case of switch statement in other languages.

    +
    #![allow(unused)]
    +fn main() {
    +    let dice_roll = 9;
    +    match dice_roll {
    +        3 => add_fancy_hat(),
    +        7 => remove_fancy_hat(),
    +        other => move_player(other), // This will match all the cases that aren't specifically listed
    +    }
    +
    +    fn add_fancy_hat() {}
    +    fn remove_fancy_hat() {}
    +    fn move_player(num_spaces: u8) {}
    +}
    +
  • +
  • +

    Sometimes we use placeholder _, to specify Rust, that this value is useless.

    +
    #![allow(unused)]
    +fn main() {
    +    let dice_roll = 9;
    +    match dice_roll {
    +        3 => add_fancy_hat(),
    +        7 => remove_fancy_hat(),
    +        _ => reroll(), // These values aren't that important
    +    }
    +
    +    fn add_fancy_hat() {}
    +    fn remove_fancy_hat() {}
    +    fn reroll() {}
    +}
    +
  • +
  • +

    If we want to tell Rust to literally do nothing, then we can use unit tuple () instead of fn call.

    +
    #![allow(unused)]
    +fn main() {
    +    let dice_roll = 9;
    +    match dice_roll {
    +        3 => add_fancy_hat(),
    +        7 => remove_fancy_hat(),
    +        _ => (), // Telling Rust to "do nothing"
    +    }
    +
    +    fn add_fancy_hat() {}
    +    fn remove_fancy_hat() {}
    +}
    +
  • +
+

The if let syntax

+
    +
  • +

    It is used in case you want to consider only particular case of an enum.

    +
  • +
  • +

    For example, if you want to consider only the Some variant of an enum Option<>, you may prefer to use the if let syntax instead of match:

    +
    #![allow(unused)]
    +fn main() {
    +// The older approach using the match syntax
    +let config_max = Some(3u8);
    +match config_max {
    +    Some(max) => println!("The maximum is configured to be {}", max),
    +    _ => (), // This line seems redundant
    +}
    +
    +// More concise approach with if let
    +let config_max = Some(3u8);
    +if let Some(max) = config_max {
    +    println!("The maximum is configured to be {}", max);
    +}
    +}
    +
  • +
  • +

    The if let accepts a pattern (consider Some(max)) and an expression (consider config_max) seperated by and = sign.

    +
  • +
  • +

    Before using if let please make sure whether gaining conciseness is an appropriate trade-off for losing exhaustive checking.

    +
  • +
  • +

    This approach is not exhaustive in sense that it only considers one pattern and ignores other unlike the match syntax.

    +
  • +
  • +

    It is possible to use else with if let:

    +
  • +
+
#![allow(unused)]
+fn main() {
+// In this problem we are counting the coins that aren't quarter
+let mut count = 0;
+match coin {
+    Coin::Quarter(state) => println!("State quarter from {:?}!", state),
+    _ => count += 1,
+}
+
+// Another possible approach with if let and else
+let mut count = 0;
+if let Coin::Quarter(state) = coin {
+    println!("State quarter from {:?}!", state);
+} else {
+    count += 1;
+}
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-03-common-collections/main.html b/docs/ch-03-common-collections/main.html new file mode 100644 index 0000000..17dcab7 --- /dev/null +++ b/docs/ch-03-common-collections/main.html @@ -0,0 +1,206 @@ + + + + + + Common Collections - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Common Collections

+
    +
  • The various data structures in Rust's standard library are called Collections. Refer here.
  • +
  • They can contain multiple values and collections point data stored on heap.
  • +
  • Most Common Collections: +
      +
    • Vectors
    • +
    • String
    • +
    • Hash Map
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-03-common-collections/pg-01-vector.html b/docs/ch-03-common-collections/pg-01-vector.html new file mode 100644 index 0000000..62cad99 --- /dev/null +++ b/docs/ch-03-common-collections/pg-01-vector.html @@ -0,0 +1,328 @@ + + + + + + Vector - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Vector

+
    +
  • +

    It is represesnted as Vec<T>.

    +
  • +
  • +

    You can store variable number of values, unlike Array. Though, the data type of stored values should be same.

    +
  • +
  • +

    Vectors store values next to each other in memory.

    +
  • +
  • +

    Creating a new vector:

    +
    #![allow(unused)]
    +fn main() {
    +  // We'll add type annotation because the vector has 0 elements,
    +  // hence, there is no way for Rust to recognize type implicitly
    +  let v: Vec<i32> = Vec::new();
    +}
    +
  • +
  • +

    Creating vectors using a macro:

    +
    #![allow(unused)]
    +fn main() {
    +  let v = vec![1, 2, 3];
    +}
    +
  • +
  • +

    Pushing new values (make sure Vector is mutable):

    +
    #![allow(unused)]
    +fn main() {
    +  v.push(5);
    +}
    +
  • +
  • +

    Popping new values:

    +
    #![allow(unused)]
    +fn main() {
    +let mut vec = vec![1, 2, 3];
    +assert_eq!(vec.pop(), Some(3));
    +}
    +
  • +
  • +

    Even though vectors store values on heap and it is possible to introduce references to the elements of the vector. Still, the vectors automatically cleans up memory as it goes out of scope:

    +
    #![allow(unused)]
    +fn main() {
    +  {
    +      let v = vec![1, 2, 3, 4];
    +
    +      // do stuff with v
    +  } // <- v goes out of scope and is freed here
    +}
    +
  • +
  • +

    Accessing elements inside a vector:

    +
      +
    • +

      Method 1:

      +
      #![allow(unused)]
      +fn main() {
      +  let third: &i32 = &v[2]; // Might panic due to out of index
      +}
      +
    • +
    • +

      Method 2:

      +
      #![allow(unused)]
      +fn main() {
      +match v.get(2) { // Gives Option<&T>
      +    Some(third) => println!("The third element is {}", third),
      +    None => println!("There is no third element."),
      +}
      +}
      +
    • +
    +
  • +
  • +

    You can't do that:

    +
    #![allow(unused)]
    +fn main() {
    +    let mut v = vec![1, 2, 3, 4, 5];
    +
    +    let first = &v[0]; // A reference to immutable vector [Immutable Borrow]
    +
    +    v.push(6); // Writing to a mutable vector [Mutable Error]
    +
    +    println!("The first element is: {}", first); // Accessing the reference after writing [Immutable Borrow Used]
    +
    +    // Recall: You can’t have mutable and immutable references in the same scope.
    +}
    +
  • +
  • +

    Why should a reference to the first element care about what changes at the end of the vector? This error is due to the way vectors work: adding a new element onto the end of the vector might require allocating new memory and copying the old elements to the new space, if there isn’t enough room to put all the elements next to each other where the vector currently is.

    +
  • +
  • +

    Itearting over the Vector:

    +
    #![allow(unused)]
    +fn main() {
    +  let v = vec![100, 32, 57];
    +  for i in &v {
    +      println!("{}", i);
    +  }
    +}
    +
  • +
  • +

    Iterating and mutating the vector:

    +
    #![allow(unused)]
    +fn main() {
    +    let mut v = vec![100, 32, 57];
    +    for i in &mut v {
    +        *i += 50;
    +    }
    +}
    +
  • +
  • +

    Storing values of different types using enums:

    +
    #![allow(unused)]
    +fn main() {
    +    // Using enums in vectors add stability as
    +    // when we'll use match all possible cases
    +    // will be covered.
    +    enum SpreadsheetCell {
    +        Int(i32),
    +        Float(f64),
    +        Text(String),
    +    }
    +
    +    let row = vec![
    +        SpreadsheetCell::Int(3),
    +        SpreadsheetCell::Text(String::from("blue")),
    +        SpreadsheetCell::Float(10.12),
    +    ];
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-03-common-collections/pg-02-hashmaps.html b/docs/ch-03-common-collections/pg-02-hashmaps.html new file mode 100644 index 0000000..50249f6 --- /dev/null +++ b/docs/ch-03-common-collections/pg-02-hashmaps.html @@ -0,0 +1,334 @@ + + + + + + HashMaps - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

HashMaps

+
    +
  • +

    The type HashMap<K, V> stores a mapping of keys of type K to values of type V.

    +
  • +
  • +

    It does this via a hashing function, which determines how it places these keys and values into memory.

    +
  • +
  • +

    Creating a new HashMap:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let mut scores = HashMap::new();
    +
    +    scores.insert(String::from("Blue"), 10);
    +    scores.insert(String::from("Yellow"), 50);
    +}
    +
  • +
  • +

    Just like Vectors, HashMaps also save their values on Heap.

    +
  • +
  • +

    All Keys must have same type, and all values must have same type.

    +
  • +
  • +

    Creating HashMap through iterators:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let teams = vec![String::from("Blue"), String::from("Yellow")];
    +    let initial_scores = vec![10, 50];
    +
    +    let mut scores: HashMap<_, _> =
    +        teams.into_iter()
    +             .zip(initial_scores.into_iter()) // creates a tuple, example ("Blue", 10)
    +             .collect(); // Converts tuple into HashMap
    +}
    +
  • +
  • +

    HashMap and ownership: Types that implement Copy trait will be copied else moved. For Example, i32 will be copied but String will be moved.

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let field_name = String::from("Favorite color");
    +    let field_value = String::from("Blue");
    +
    +    let mut map = HashMap::new();
    +    map.insert(field_name, field_value);
    +    // You can't use field_name or field_value now, as they've been moved
    +}
    +
  • +
  • +

    Accessing value in HashMap, the get method returns Option<&V>:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let mut scores = HashMap::new();
    +
    +    scores.insert(String::from("Blue"), 10);
    +    scores.insert(String::from("Yellow"), 50);
    +
    +    let team_name = String::from("Blue");
    +    let score = scores.get(&team_name); // This is how we access value for a certain Key
    +
    +    // The score variable will contain - Some(&10)
    +}
    +
  • +
  • +

    Iterating over a HashMap:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let mut scores = HashMap::new();
    +
    +    scores.insert(String::from("Blue"), 10);
    +    scores.insert(String::from("Yellow"), 50);
    +
    +    for (key, value) in &scores {
    +        println!("{}: {}", key, value);
    +    }
    +}
    +
  • +
  • +

    Updating a HashMap:

    +
      +
    • +

      Overwriting the value:

      +
      #![allow(unused)]
      +fn main() {
      +scores.insert(String::from("Blue"), 10);
      +scores.insert(String::from("Blue"), 25);
      +
      +// Output - scores = {"Blue": 25}
      +}
      +
    • +
    • +

      Only inserting the value if the Key has no value:

      +
      #![allow(unused)]
      +fn main() {
      +scores.insert(String::from("Blue"), 10);
      +
      +// We'll need to use entry to use or_insert
      +scores.entry(String::from("Yellow")).or_insert(50); // This will add 50
      +scores.entry(String::from("Blue")).or_insert(50); // This won't replace 10 with 50
      +
      +// Output - scores = {"Yellow": 50, "Blue": 10}
      +}
      +
    • +
    • +

      Updating a value based on the Old Value:

      +
      #![allow(unused)]
      +fn main() {
      +use std::collections::HashMap;
      +
      +let text = "hello world wonderful world";
      +
      +let mut map = HashMap::new();
      +
      +for word in text.split_whitespace() {
      +    let count = map.entry(word).or_insert(0); // or_insert returns mutable reference to the Value, &mut V
      +    *count += 1;
      +}
      +
      +println!("{:?}", map);
      +
      +// Output - map = {"world": 2, "hello": 1, "wonderful": 1}
      +}
      +
    • +
    +
  • +
  • +

    The hashing function that Rust uses is SipHash. You can replace the hashing function. Please refer here for more.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-04-project-structuring-and-error-handling/main.html b/docs/ch-04-project-structuring-and-error-handling/main.html new file mode 100644 index 0000000..7727e06 --- /dev/null +++ b/docs/ch-04-project-structuring-and-error-handling/main.html @@ -0,0 +1,198 @@ + + + + + + Project Structuring and Error Handling - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Project Structuring and Error Handling

+
    +
  • You'll learn about how to structure the differences between packages, crates, modules and paths. It'll help you to modularize your code as your project grows. We'll talk about error handling and the differences between recoverable and unrecoverable errors.
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-04-project-structuring-and-error-handling/pg-01-project-structuring.html b/docs/ch-04-project-structuring-and-error-handling/pg-01-project-structuring.html new file mode 100644 index 0000000..acce56b --- /dev/null +++ b/docs/ch-04-project-structuring-and-error-handling/pg-01-project-structuring.html @@ -0,0 +1,500 @@ + + + + + + Project Structuring - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Project Structuring

+
    +
  • The Rust's module system includes: +
      +
    • Packages: A Cargo feature that lets you build, test, and share crates
    • +
    • Crates: A tree of modules that produces a library or executable
    • +
    • Modules and use: Let you control the organization, scope, and privacy of paths
    • +
    • Paths: A way of naming an item, such as a struct, function, or module
    • +
    +
  • +
  • Once you’ve implemented an operation, other code can call that code via the code’s public interface without knowing how the implementation works.
  • +
  • The way you write code defines which parts are public for other code to use and which parts are private. +
      +
    • private - No exteranl code can call this code directly
    • +
    • public - External code can call this code directly
    • +
    +
  • +
  • The way privacy works in Rust is that all items (functions, methods, structs, enums, modules, and constants) are private by default.
  • +
+

Package

+
    +
  • When we run the command cargo new it creates the package.
  • +
  • A package contains a Cargo.toml file that describes how to build those crates.
  • +
  • A package can contain at most one library crate. It can contain as many binary crates as you’d like, but it must contain at least one crate (either library or binary).
  • +
  • As a package grows, you can extract parts into separate crates that become external dependencies.
  • +
+

Crates

+
    +
  • A crate is a binary or library.
  • +
  • The crate root is a source file that the Rust compiler starts from and makes up the root module of your crate.
  • +
  • Cargo follows a convention that src/main.rs is the crate root of a binary crate with the same name as the package.
  • +
  • Similarly, src/lib.rs is the crate root of a library crate with the same name as the package.
  • +
  • Cargo passes the crate root files to rustc to build the library or binary.
  • +
  • A crate’s functionality is namespaced in its own scope, it means we can import another crate let's say rand which has a trait named Rng, and still create a new struct named Rng in our project's crate. The rustc will never confuse between the two and we can access the rand's components as rand::Rng.
  • +
+

Modules

+
    +
  • +

    Modules are used to structure code inside a crate.

    +
  • +
  • +

    It is also used to provide privacy to your code.

    +
      +
    • private - Exteranl code outside that module can not call this code directly
    • +
    • public - External code outside that module can call this code directly
    • +
    +
  • +
  • +

    By using modules, we can group related definitions together and name why they’re related.

    +
  • +
  • +

    The benefit it'll provide you is that other programmers reading your code can easily find the code they are searching for because then they'll navigate through groups rather than each function definition. Also, they'll add new code in the right module.

    +
  • +
  • +

    The contents of the files src/main.rs and src/lib.rs (these files are also referred as crate roots) form a module named crate at the root of the crate’s module structure, known as the module tree.

    +
    crate                                 // An implicit module, definitely not named by you
    + └── front_of_house                   // Main Module inside lib.rs
    +     ├── hosting                      // Submodule
    +     │   ├── add_to_waitlist
    +     │   └── seat_at_table
    +     └── serving                      // Submodule
    +         ├── take_order
    +         ├── serve_order
    +         └── take_payment
    +
    +
  • +
+

Paths

+
    +
  • +

    We use a path in the same way we use a path when navigating a filesystem.

    +
  • +
  • +

    A path can take two forms:

    +
      +
    • An absolute path starts from a crate root by using a crate name or a literal crate.
    • +
    • A relative path starts from the current module and uses self, super, or an identifier in the current module.
    • +
    +
  • +
  • +

    You ma consider paths in rust quite similar to the paths used to access the filesystem

    +
      +
    • crate - Root (/)
    • +
    • :: - Used to distinct others (/)
    • +
    • super - Used to go back one step (../)
    • +
    +
  • +
  • +

    Here's an exmaple:

    +
    #![allow(unused)]
    +fn main() {
    +// eat_at_restaurant is a sibling to front_of_house (since they are in same file),
    +// thus front_of_house doesn't need pub keyword to make it accessible.
    +mod front_of_house {
    +    // Add pub to allow the functions that can access front_of_house to access hosting too.
    +    pub mod hosting {
    +        // Add pub to allow the functions that can access hosting to access add_to_waitlist too.
    +        pub fn add_to_waitlist() {}
    +    }
    +}
    +
    +pub fn eat_at_restaurant() {
    +    // Absolute path
    +    // Filesystem Equivalent to /front_of_house/hosting/add_to_waitlist
    +    crate::front_of_house::hosting::add_to_waitlist();
    +
    +    // Relative path
    +    // Filesystem Equivalent to front_of_house/hosting/add_to_waitlist
    +    front_of_house::hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    Our preference is to specify absolute paths because it’s more likely to move code definitions and item calls independently of each other.

    +
  • +
  • +

    Items in a parent module can’t use the private items inside child modules, but items in child modules can use the items in their ancestor modules.

    +
  • +
  • +

    But you can expose inner parts of child modules’ code to outer ancestor modules by using the pub keyword to make an item public.

    +
  • +
  • +

    If you want to make an item like a function or struct private, you put it in a module.

    +
  • +
  • +

    Another example to show usecase for super:

    +
    #![allow(unused)]
    +fn main() {
    +fn serve_order() {}
    +
    +mod back_of_house {
    +    fn fix_incorrect_order() {
    +        cook_order();
    +        super::serve_order();
    +    }
    +
    +    fn cook_order() {}
    +}
    +
    +}
    +
  • +
  • +

    If we make a struct public, it doesn't mean all it's fields are public too. We use . to access fields.

    +
    #![allow(unused)]
    +fn main() {
    +mod back_of_house {
    +    pub struct Breakfast {
    +        pub toast: String, // Accessible
    +        seasonal_fruit: String, // Not Accessible
    +    }
    +
    +  ...
    +}
    +}
    +
  • +
  • +

    On the other hand, if we make an enum public all it's variants becomes public too. We use :: to access variants.

    +
    #![allow(unused)]
    +fn main() {
    +mod back_of_house {
    +    pub enum Appetizer {
    +        Soup, // Accessible
    +        Salad, // Accessible
    +    }
    +
    +    ...
    +}
    +}
    +
  • +
+

The use keyword

+
    +
  • +

    It is similar to the import keyword in python.

    +
    #![allow(unused)]
    +fn main() {
    +mod front_of_house {
    +    pub mod hosting {
    +        pub fn add_to_waitlist() {}
    +    }
    +}
    +
    +// The line below will make hosting as a valid name in the scope
    +use crate::front_of_house::hosting;
    +
    +pub fn eat_at_restaurant() {
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    We can use the following ways to achieve the same thing:

    +
      +
    • use self::front_of_house::hosting;
    • +
    • use crate::front_of_house::hosting::add_to_waitlist;
    • +
    +
  • +
  • +

    Though, the one mentioned inside the code block is the idiiomatic way to do it in Rust.

    +
  • +
  • +

    On the other hand, when bringing in structs, enums, and other items with use, it’s idiomatic to specify the full path.

    +
    use std::collections::HashMap;
    +
    +fn main() {
    +    let mut map = HashMap::new();
    +    map.insert(1, 2);
    +}
    +
  • +
  • +

    In case if we have two items with same name (in our case Result) but from different crates (in our case fmt and io), then we'll not use the full path, as it'll confuse Rust.

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt;
    +use std::io;
    +
    +// This way Rust will be able to distinguish which Result we want
    +fn function1() -> fmt::Result {
    +    // --snip--
    +}
    +
    +fn function2() -> io::Result<()> {
    +    // --snip--
    +}
    +}
    +
  • +
  • +

    Alternatively, we can use the as keyword to deal with two same names.

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt::Result;
    +use std::io::Result as IoResult;
    +}
    +
  • +
  • +

    We can re-export the code using pub use.

    +
    #![allow(unused)]
    +fn main() {
    +mod front_of_house {
    +    pub mod hosting {
    +        pub fn add_to_waitlist() {}
    +    }
    +}
    +
    +// The use keyword will create a local variable named hosting in this scope
    +// and pub keyword will re-export it for the external code to use it.
    +pub use crate::front_of_house::hosting;
    +
    +pub fn eat_at_restaurant() {
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    Using external packages:

    +
      +
    • +

      First, we'll add the name and version of the package in cargo.toml, so that it can be automatically downloaded through crates.io.

      +
      rand = "0.8.3"
      +
      +
    • +
    • +

      Then, we'll use the use keyword to bring it into the scope.

      +
      use rand::Rng;
      +
      +fn main() {
      +    let secret_number = rand::thread_rng().gen_range(1..101);
      +}
      +
    • +
    • +

      The packages like std is also external but is a part of Rust language and it is not needed to download it from crates.io.

      +
    • +
    +
  • +
  • +

    Nesting the paths:

    +
    #![allow(unused)]
    +fn main() {
    +// Dirty Approach
    +use std::cmp::Ordering;
    +use std::io;
    +
    +// Cleaneer Aproach (Nested)
    +use std::{cmp::Ordering, io};
    +
    +//Another Dierty Approach
    +use std::io;
    +use std::io::Write;
    +
    +// Cleaner Approach (Nesting using self)
    +use std::io::{self, Write};
    +}
    +
  • +
  • +

    The glob operator (*), is used to bring all public definitions into the scope.

    +
    #![allow(unused)]
    +fn main() {
    +// It is a bit riskier, as it is hard to identify what all definitions have been brought into scope
    +use std::collections::*;
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-04-project-structuring-and-error-handling/pg-02-modularizing.html b/docs/ch-04-project-structuring-and-error-handling/pg-02-modularizing.html new file mode 100644 index 0000000..b070837 --- /dev/null +++ b/docs/ch-04-project-structuring-and-error-handling/pg-02-modularizing.html @@ -0,0 +1,414 @@ + + + + + + Modularizing - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Modularizing

+

Modularizing in different files

+
    +
  • +

    Let's say we decided to put some code in the file src/front_of_house.rs, and we want to use this code inside the file src/lib.rs. It can be done like this:

    +
    src
    + ├── front_of_house.rs
    + └── lib.rs
    +
    +
    #![allow(unused)]
    +fn main() {
    +// Filename: src/lib.rs
    +// This will bring the contents of module (thst is stored in file `src/front_of_house.rs`)
    +// into the current file
    +mod front_of_house;
    +
    +// This will allow us to use as well as export it
    +// so that external can use it too.
    +pub use crate::front_of_house::hosting;
    +
    +pub fn eat_at_restaurant() {
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    Now, we can make a new directory as well and can store the files as folows:

    +
    src
    + ├── front_of_house
    + │   └── hosting.rs
    + ├── front_of_house.rs
    + └── lib.rs
    +
    +
    #![allow(unused)]
    +fn main() {
    +// Filename: src/front_of_house.rs
    +pub mod hosting;
    +}
    +
    #![allow(unused)]
    +fn main() {
    +// Filename: src/front_of_house/hosting.rs
    +pub fn add_to_waitlist() {}
    +}
    +
  • +
+

Re-exporting

+
    +
  • +

    You may use re-exporting, for making it easier to use your crate for other developers. It allows to use the structures directly intead of following the heirarchy in which the crate is designed.

    +
      +
    • +

      Without re-exporting:

      +
        +
      • +

        How structure looks:

        +
        #![allow(unused)]
        +fn main() {
        +pub mod kinds {
        +    pub enum PrimaryColor {
        +      ...
        +    }
        +
        +    pub enum SecondaryColor {
        +      ...
        +    }
        +}
        +
        +pub mod utils {
        +    use crate::kinds::*;
        +
        +    pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
        +        ...
        +    }
        +}
        +}
        +
      • +
      • +

        How others will be using it:

        +
        use art::kinds::PrimaryColor;
        +use art::utils::mix;
        +
        +fn main() {
        +    let red = PrimaryColor::Red;
        +    let yellow = PrimaryColor::Yellow;
        +    mix(red, yellow);
        +}
        +
      • +
      +
    • +
    • +

      With re-exporting:

      +
        +
      • +

        How structure looks:

        +
        #![allow(unused)]
        +fn main() {
        +// Here we're re-exporting it for direct use
        +pub use self::kinds::PrimaryColor;
        +pub use self::kinds::SecondaryColor;
        +pub use self::utils::mix;
        +
        +pub mod kinds {
        +    ...
        +}
        +
        +pub mod utils {
        +    ...
        +}
        +}
        +
      • +
      • +

        How others will be using it:

        +
        // Isn't it easier to import now?
        +use art::mix;
        +use art::PrimaryColor;
        +
        +fn main() {
        +  let red = PrimaryColor::Red;
        +  let yellow = PrimaryColor::Yellow;
        +  mix(red, yellow);
        +}
        +
      • +
      +
    • +
    +
  • +
+

Workspaces

+
    +
  • +

    A workspace is a set of packages that share the same Cargo.lock and output directory.

    +
  • +
  • +

    You can build your workspace that looks like this:

    +
    add
    +├── Cargo.lock
    +├── Cargo.toml
    +├── add_one
    +│   ├── Cargo.toml
    +│   └── src
    +│       └── lib.rs
    +├── adder
    +│   ├── Cargo.toml
    +│   └── src
    +│       └── main.rs
    +└── target // Notice only one target directory
    +
    +
  • +
  • +

    The cargo.toml of add (the outer one) of the workspace will look like this:

    +
    <!-- Filename: add/Cargo.toml -->
    +[workspace]
    +
    +members = [
    +    "adder",
    +    "add_one",
    +]
    +
    +
  • +
  • +

    The workspace has one target directory at the top level, the adder package doesn’t have its own target directory.

    +
  • +
  • +

    Even if we were to run cargo build from inside the adder directory, the compiled artifacts would still end up in add/target rather than add/adder/target.

    +
  • +
  • +

    The cargo.toml of adder will look like this:

    +
    <!-- Filename: add/adder/Cargo.toml -->
    +[dependencies]
    +add_one = { path = "../add_one" }
    +
    +
  • +
  • +

    The main.rs in adder will look something like this:

    +
    // Filename: add/adder/src/main.rs
    +use add_one;
    +
    +fn main() {
    +    let num = 10;
    +    println!(
    +        "Hello, world! {} plus one is {}!",
    +        num,
    +        add_one::add_one(num)
    +    );
    +}
    +
  • +
  • +

    To build the whole workspace, you may run this command from the add directory (the outer).

    +
    $ cargo build
    +   Compiling add_one v0.1.0 (file:///projects/add/add_one)
    +   Compiling adder v0.1.0 (file:///projects/add/adder)
    +    Finished dev [unoptimized + debuginfo] target(s) in 0.68s
    +
    +
  • +
  • +

    To run a particular package you may run the following command:

    +
    $ cargo run -p adder
    +    Finished dev [unoptimized + debuginfo] target(s) in 0.0s
    +     Running `target/debug/adder`
    +Hello, world! 10 plus one is 11!
    +
    +
  • +
  • +

    All the dependencies in different packages will use the same version of the dependency. It is because the cargo.toml of the workspace will make only one entry of the dependency. It also saves space and makes all the package compatible with each other, since they'll be using the same version of the dependency.

    +
  • +
  • +

    To run all test:

    +
    cargo run test
    +
    +
  • +
  • +

    To run test in particular file:

    +
    cargo test -p add_one
    +
    +
  • +
+

Refactoring Guides

+

This pattern is about separating concerns: main.rs handles running the program, and lib.rs handles all the logic of the task at hand. Because you can’t test the main function directly, this structure lets you test all of your program’s logic by moving it into functions in lib.rs. The only code that remains in main.rs will be small enough to verify its correctness by reading it.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-04-project-structuring-and-error-handling/pg-03-error-handling.html b/docs/ch-04-project-structuring-and-error-handling/pg-03-error-handling.html new file mode 100644 index 0000000..d50788e --- /dev/null +++ b/docs/ch-04-project-structuring-and-error-handling/pg-03-error-handling.html @@ -0,0 +1,476 @@ + + + + + + Error Handling - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Error Handling

+

Types of Errors

+
+ + + +
RecoverableUnrecoverable
Errors like file not found error.Errors like trying to access a location beyond the end of an array.
It’s reasonable to report the problem to the user and retry the operation.They are always symptoms of bugs.
Result<T, E> is used for Recoverable Errors.The panic! macro is used to stop the execution for an unrecoverable error.
+
+

Unrecoverable Errors with panic!

+

Fun Fact: In C, attempting to read beyond the end of a data structure is undefined behavior. You might get whatever is at the location in memory that would correspond to that element in the data structure, even though the memory doesn’t belong to that structure. This is called a buffer overread and can lead to security vulnerabilities if an attacker is able to manipulate the index in such a way as to read data they shouldn’t be allowed to that is stored after the data structure. In Rust, you'll encounter a panic!() in such cases.

+
    +
  • +

    When the panic! macro executes, Rust does the following:

    +
      +
    • Print a failure message
    • +
    • Unwind and clean up the stack
    • +
    • Quit
    • +
    +
  • +
  • +

    Panic is usually used, when a bug appears and the programmer doesn't know how to handle it.

    +
  • +
  • +

    If you don't want your program to "slowly unwind and clean up the stack" instead "abort the program and let OS handle the cleaning". You may do that by adding following lines to the Cargo.toml file. Refer here for more.

    +
    #![allow(unused)]
    +fn main() {
    +[profile.release]
    +panic = 'abort'
    +}
    +
  • +
  • +

    To receive a backtrace in case of panic, you might need to run the following command:

    +
    RUST_BACKTRACE=1 cargo run
    +
    +
  • +
  • +

    The best way to read backtraces is to ready from top to bottom, once you see the first instance mentioning a file that you've written, you should probably try to solve from there.

    +
  • +
  • +

    Debug symbols (they are required to receive backtraces) are enabled by default when using cargo build or cargo run without the --release flag.

    +
  • +
+

Recoverable Errors with Result

+
    +
  • +

    Result is an enum, that considers two possible outcomes: success (Ok(T)) or failure (Err(E)).

    +
    #![allow(unused)]
    +fn main() {
    +enum Result<T, E> {
    +    Ok(T),
    +    Err(E),
    +}
    +}
    +
  • +
  • +

    Handling recoverable errors using the match expression.

    +
    use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt");
    +
    +    let f = match f {
    +        Ok(file) => file, // Handling Success
    +        Err(error) => panic!("Problem opening the file: {:?}", error), // Handling Failure
    +    };
    +}
    +
  • +
  • +

    Matching on different errors:

    +
    use std::fs::File;
    +use std::io::ErrorKind;
    +
    +fn main() {
    +    let f = File::open("hello.txt");
    +
    +    // Match on File, whether it gets opened or not
    +    let f = match f {
    +        Ok(file) => file,
    +        // If file not found, then create a new file and transfer file handle,
    +        // this error is part of io::ErrorKind, which was found using error.kind()
    +        Err(error) => match error.kind() {
    +            // In case we receive ErrorKind::NotFound, we'll apply
    +            // match again to check whether creation of file, fails or succeeds
    +            ErrorKind::NotFound => match File::create("hello.txt") {
    +                Ok(fc) => fc,
    +                Err(e) => panic!("Problem creating the file: {:?}", e),
    +            },
    +            other_error => {
    +                panic!("Problem opening the file: {:?}", other_error)
    +            }
    +        },
    +    };
    +}
    +
  • +
  • +

    In case you don't like using a lot of match statements (refer above example), you may use unwrap_or_else:

    +
    use std::fs::File;
    +use std::io::ErrorKind;
    +
    +fn main() {
    +   let f = File::open("hello.txt").unwrap_or_else(|error| {
    +     if error.kind() == ErrorKind::NotFound {
    +       File::create("hello.txt").unwrap_or_else( |error| {
    +         panic!("Problem creating the file: {:?}", error);
    +       }
    +       )
    +     } else {
    +       panic!("Problem opening the file: {:?}", error);
    +     }
    +   })
    +}
    +
  • +
  • +

    In case you want a shortcut, you may only use unwrap(). It either returns what's inside Ok(T), or panics in case of Err(E):

    +
    use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt").unwrap();
    +}
    +
  • +
  • +

    For those cases, when you want to send a panic message but only want to unwrap in one line, you may use expect:

    +
    use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt").expect("Failed to open hello.txt"); // Same as unwrap but contains panic message
    +}
    +
  • +
  • +

    Propogating errors using the Result:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs::File;
    +use std::io::{self, Read};
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    let f = File::open("hello.txt");
    +
    +    let mut f = match f {
    +        Ok(file) => file,
    +        Err(e) => return Err(e), // This is a std::io error type
    +    };
    +
    +    let mut s = String::new();
    +
    +    match f.read_to_string(&mut s) {
    +        Ok(_) => Ok(s),
    +        Err(e) => Err(e), // This is also a std::io error type
    +    }
    +}
    +}
    +
  • +
  • +

    The shortcut of above code can be done using ?. unwrap panics in case of Err(E), but this operator returns the error, same as the code above.

    +
    #![allow(unused)]
    +fn main() {
    +// ? operator changes the error type to the mentioned
    +// Error type in the fn declaration using the from implementation
    +use std::fs::File;
    +use std::io;
    +use std::io::Read;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    let mut f = File::open("hello.txt")?;
    +    let mut s = String::new();
    +    f.read_to_string(&mut s)?;
    +    Ok(s)
    +}
    +}
    +
  • +
  • +

    It is possible to use the ? operator multiple times in a single line:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs::File;
    +use std::io;
    +use std::io::Read;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    let mut s = String::new();
    +
    +    File::open("hello.txt")?.read_to_string(&mut s)?;
    +
    +    Ok(s)
    +}
    +}
    +
  • +
  • +

    There's a Rust's official implementation of the functionality mentioned in the above code:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs;
    +use std::io;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    fs::read_to_string("hello.txt")
    +}
    +}
    +
  • +
  • +

    The ? operator can only be used in the functions that has a return type of Result<Ok(T), Err(E)>, Option<Some(T), None>, or another type that implements FromResidual:

    +
    // FAIL: main() doensn't returns a Result<>
    +// but the ? operator requires that
    +use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt")?;
    +}
    +
    #![allow(unused)]
    +fn main() {
    +// It works with the Option
    +fn last_char_of_first_line(text: &str) -> Option<char> {
    +  text.lines().next()?.chars().last()
    +}
    +}
    +
  • +
  • +

    There's a way to use ? inside main(). The main() either returs 0 on success or other integer on failure. Also, it's possible to return <Result(), E>:

    +
    use std::error::Error;
    +use std::fs::File;
    +
    +fn main() -> Result<(), Box<dyn Error>> {
    +    let f = File::open("hello.txt")?;
    +
    +    Ok(())
    +}
    +
  • +
  • +

    Differences between unwrap, unwrap_or, and ? operator

    +
  • +
+
+ + + + +
Propertyunwrapexpectunwrap_or? operator
Error HandlingPanicsPanics with the given messageExecutes code inside it's paranthesesReturns error
Can be used on Result:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
Can be used on Option:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
Function return type to be same as wrapped item:x::x::x::heavy_check_mark:
+
+

Note: You can only use the ? operator on a Result in a function that returns Result, and you can use the ? operator on an Option in a function that returns Option.

+
    +
  • +

    To panic! or Not to panic!

    +
      +
    • +

      When to use Result

      +
        +
      • When panic! is called, there is no way to recover the program, so if there is a slightest possiblity to recover the program, it's recommended to use that instead of panic!.
      • +
      • Always try to prevent converting a recoverable error into an unrecoverable one. Hence, always prefer Result over panic!.
      • +
      • The unwrap and expect methods are very handy when prototyping, and if you want to make your program more robust, you may add better error handling.
      • +
      +
    • +
    • +

      When to use panic!

      +
        +
      • In case you want your test to fail in certain cases, even if a certain fn is not exactly what the test is for, it's better to panic! in those situations.
      • +
      • It’s advisable to have your code panic when it’s possible that your code could end up in a bad state. The bad state is something that is unexpected, as opposed to something that will likely happen occasionally, like a user entering data in the wrong format. You don't want to carry this bad state throughout the program and instead would prefer it to end through panic!.
      • +
      • If someone calls your code and passes in values that don’t make sense, the best choice might be to call panic! and alert the person using your library to the bug in their code so they can fix it during development.
      • +
      • Similarly, panic! is often appropriate if you’re calling external code that is out of your control and it returns an invalid state that you have no way of fixing.
      • +
      • When your code performs operations on values, your code should verify the values are valid first and panic if the values aren’t valid. This is mostly for safety reasons: attempting to operate on invalid data can expose your code to vulnerabilities.
      • +
      • However, having lots of error checks in all of your functions would be verbose and annoying. Fortunately, you can use Rust’s type system (and thus the type checking the compiler does) to do many of the checks for you. If your function has a particular type as a parameter, you can proceed with your code’s logic knowing that the compiler has already ensured you have a valid value. For example, if you have a type rather than an Option, your program expects to have something rather than nothing.
      • +
      • Another example is using an unsigned integer type such as u32, which ensures the parameter is never negative.
      • +
      +
    • +
    • +

      When to call unwrap()

      +
        +
      • +

        In case you exactly know that the code won't panic!, then it's better to use unwrap(), and stop caring about the other possibilities. Here's an Example:

        +
        #![allow(unused)]
        +fn main() {
        +use std::net::IpAddr;
        +
        +// Compile isn't smart enough to see this string is a valid IP address
        +// but we are
        +let home: IpAddr = "127.0.0.1".parse().unwrap();
        +}
        +
      • +
      +
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/main.html b/docs/ch-05-medium-concepts/main.html new file mode 100644 index 0000000..6a76955 --- /dev/null +++ b/docs/ch-05-medium-concepts/main.html @@ -0,0 +1,196 @@ + + + + + + Medium Concepts - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Medium Concepts

+

This section will cover the functional programming features like closures and iterators. Also, it'll talk about how you can perform Object Oriented Programming in Rust. It'll also talk about other features like generics, traits and lifetimes etc.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/pg-01-generics.html b/docs/ch-05-medium-concepts/pg-01-generics.html new file mode 100644 index 0000000..9482cfd --- /dev/null +++ b/docs/ch-05-medium-concepts/pg-01-generics.html @@ -0,0 +1,318 @@ + + + + + + Generics - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Generics

+
    +
  • Generics are used to prevent the duplication of concepts and are generalized over a type.
  • +
  • Some examples of generics are Result<T,E>, Option<T>, Vec<T>, and HashMap<K,V>.
  • +
  • Possible Use Cases: +
      +
    • You can define an enum or struct which can accomodate different data types.
    • +
    • You can define a function which can provide same functionality for different types. For Example, finding the largest element inside a vector of numbers or chars.
    • +
    +
  • +
  • In Rust, declaring generics aren't any slower than using concrete types, because it uses a process called Monomorphization to achieve that. Monomorphization is the process of turning generic code into specific code by filling in the concrete types that are used when compiled.
  • +
+

Generics on structs

+
    +
  • +

    To create a generic struct:

    +
    // We used type T to make the struct generic
    +// so that it can accomodate any type
    +struct Point<T> {
    +    x: T,
    +    y: T,
    +}
    +
    +fn main() {
    +    let integer = Point { x: 5, y: 10 };
    +    let float = Point { x: 1.0, y: 4.0 };
    +
    +    // FAIL: First is i32 and the other is f32, hence different types.
    +    let wont_work = Point { x: 5, y: 4.0 };
    +}
    +
  • +
  • +

    To make the wont_work to work fine, we'll need to change the code as follows:

    +
    struct Point<T, U> {
    +    x: T,
    +    y: U,
    +}
    +
    +fn main() {
    +    let integer = Point { x: 5, y: 10 };
    +    let float = Point { x: 1.0, y: 4.0 };
    +
    +    let will_work = Point { x: 5, y: 4.0 };
    +}
    +
  • +
+

Generics on Enums

+
    +
  • +

    The Option<T> enum:

    +
    #![allow(unused)]
    +fn main() {
    +enum Option<T> {
    +  Some(T),
    +  None
    +}
    +}
    +
  • +
  • +

    The Result<T, E> enum uses two types:

    +
    #![allow(unused)]
    +fn main() {
    +enum Result<T, E> {
    +    Ok(T),
    +    Err(E),
    +}
    +}
    +
  • +
+

Generics on Functions

+
    +
  • +

    To use generics on impl blocks:

    +
    struct Point<T> {
    +    x: T,
    +    y: T,
    +}
    +
    +// By using T after impl means that
    +impl<T> Point<T> {
    +    fn x(&self) -> &T {
    +        &self.x
    +    }
    +}
    +
    +// impl for just one concrete type
    +impl Point<f32> {
    +    fn distance_from_origin(&self) -> f32 {
    +        (self.x.powi(2) + self.y.powi(2)).sqrt()
    +    }
    +}
    +
    +fn main() {
    +    let p = Point { x: 5, y: 10 };
    +
    +    println!("p.x = {}", p.x());
    +}
    +
  • +
  • +

    To use on impl on different types:

    +
    struct Point<X1, Y1> {
    +    x: X1,
    +    y: Y1,
    +}
    +
    +impl<X1, Y1> Point<X1, Y1> {
    +    fn mixup<X2, Y2>(self, other: Point<X2, Y2>) -> Point<X1, Y2> {
    +        Point {
    +            x: self.x,
    +            y: other.y,
    +        }
    +    }
    +}
    +
    +fn main() {
    +    let p1 = Point { x: 5, y: 10.4 };
    +    let p2 = Point { x: "Hello", y: 'c' };
    +
    +    let p3 = p1.mixup(p2);
    +
    +    println!("p3.x = {}, p3.y = {}", p3.x, p3.y);
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/pg-02-traits.html b/docs/ch-05-medium-concepts/pg-02-traits.html new file mode 100644 index 0000000..ca41d73 --- /dev/null +++ b/docs/ch-05-medium-concepts/pg-02-traits.html @@ -0,0 +1,494 @@ + + + + + + Traits - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Traits

+
    +
  • +

    A trait tells the Rust compiler about functionality a particular type has and can share with other types.

    +
  • +
  • +

    They are similar to the interfaces in other languages. They are used to define the method signature.

    +
  • +
  • +

    You may define the code implementations inside the impl block of the types that implement that trait.

    +
  • +
  • +

    It is also possible to define a default implementation and then override it in impl block.

    +
  • +
  • +

    Use cases:

    +
      +
    • +

      For example, you're creating a library that wants to summarize an article or a tweet. We want to implement this shared functionality.

      +
    • +
    • +

      We can define a trait to define the interface of this functionality.

      +
      #![allow(unused)]
      +fn main() {
      +pub trait Summary {
      +    fn summarize(&self) -> String;
      +}
      +}
      +
    • +
    • +

      Now each type implementing this trait must provide its own custom behavior for the body of the method.

      +
    • +
    +
  • +
+

Implementing a trait

+
    +
  • +

    Implementing trait on different types

    +
    #![allow(unused)]
    +fn main() {
    +pub struct NewsArticle {
    +    pub headline: String,
    +    pub location: String,
    +    pub author: String,
    +    pub content: String,
    +}
    +
    +impl Summary for NewsArticle {
    +    fn summarize(&self) -> String {
    +        format!("{}, by {} ({})", self.headline, self.author, self.location)
    +    }
    +}
    +
    +pub struct Tweet {
    +    pub username: String,
    +    pub content: String,
    +    pub reply: bool,
    +    pub retweet: bool,
    +}
    +
    +impl Summary for Tweet {
    +    fn summarize(&self) -> String {
    +        format!("{}: {}", self.username, self.content)
    +    }
    +}
    +}
    +
  • +
  • +

    Using types that implements trait:

    +
    // You'll require to pull both trait along with the desired type
    +use aggregator::{Summary, Tweet};
    +
    +fn main() {
    +    let tweet = Tweet {
    +        username: String::from("horse_ebooks"),
    +        content: String::from(
    +            "of course, as you probably already know, people",
    +        ),
    +        reply: false,
    +        retweet: false,
    +    };
    +
    +    println!("1 new tweet: {}", tweet.summarize());
    +}
    +
  • +
+

Restrictions

+
    +
  • One restriction to note with trait implementations is that we can implement a trait on a type only if at least one of the trait or the type is local to our crate. +
      +
    • For example, we can implement standard library traits like Display on a custom type like Tweet as part of our aggregator crate functionality, because the type Tweet is local to our aggregator crate.
    • +
    • But we can’t implement external traits on external types. For example, we can’t implement the Display trait on Vec<T> within our aggregator crate, because Display and Vec<T> are defined in the standard library and aren’t local to our aggregator crate.
    • +
    +
  • +
  • This restriction is part of a property of programs called coherence, and more specifically the orphan rule, so named because the parent type is not present. This rule ensures that other people’s code can’t break your code and vice versa.
  • +
+

Default Implementations

+
    +
  • +

    We can define a default implementation by adding code inside the method signatures of traits.

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Summary {
    +    fn summarize(&self) -> String {
    +        String::from("(Read more...)")
    +    }
    +}
    +}
    +
  • +
  • +

    To use default implementation on a type, we can do that by using empty braces {}.

    +
    #![allow(unused)]
    +fn main() {
    +impl Summary for NewsArticle {}
    +}
    +
  • +
  • +

    It is possible to keep a trait with a mix of method signatures and method signatures with default implementations.

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Summary {
    +    fn summarize_author(&self) -> String;
    +
    +    fn summarize(&self) -> String {
    +        format!("(Read more from {}...)", self.summarize_author())
    +    }
    +}
    +}
    +
  • +
  • +

    Now we only need to require to define summarize_author method inside the impl block of the type that's implementing the trait.

    +
    #![allow(unused)]
    +fn main() {
    +impl Summary for Tweet {
    +    fn summarize_author(&self) -> String {
    +        format!("@{}", self.username)
    +    }
    +
    +    // We do not require to define the summarize() method
    +    // as we can use the trait's default implementation
    +}
    +}
    +
  • +
+

Note: Calling the default implementation from an overriding implementation won't work.

+

Traits as Paramteres

+
    +
  • +

    You can define the type of parameters of a function as a trait.

    +
  • +
  • +

    Then, you can pass any type that implements the specified trait.

    +
  • +
  • +

    Here's the syntax for that:

    +
    #![allow(unused)]
    +fn main() {
    +pub fn notify(item: &impl Summary) {
    +    println!("Breaking news! {}", item.summarize());
    +}
    +}
    +
  • +
  • +

    Code that calls the function with any other type, such as a String or an i32, won’t compile because those types don’t implement Summary.

    +
  • +
  • +

    The above syntax is the simpler version of this original syntax, known as "trait bound syntax":

    +
    #![allow(unused)]
    +fn main() {
    +pub fn notify<T: Summary>(item: &T) {
    +    println!("Breaking news! {}", item.summarize());
    +}
    +}
    +
  • +
  • +

    It is possible to use this syntax like this:

    +
    #![allow(unused)]
    +fn main() {
    +pub fn notify<T: Summary>(item1: &T, item2: &T) {
    +}
    +
  • +
  • +

    It is possible to define multiple trait bounds for a single parameter:

    +
    #![allow(unused)]
    +fn main() {
    +// In both these cases, item must be a type that
    +// implements both traits Summary and Display
    +
    +// Method 1 ->
    +pub fn notify(item: &(impl Summary + Display)) {
    +
    +// Method 2 ->
    +pub fn notify<T: Summary + Display>(item: &T) {
    +}
    +
  • +
  • +

    You can use where clause to declutter the signature. For Example:

    +
    #![allow(unused)]
    +fn main() {
    +fn some_function<T, U>(t: &T, u: &U) -> i32
    +    where T: Display + Clone,
    +          U: Clone + Debug
    +{
    +}
    +
  • +
  • +

    Similar to function parameters, it is possible to return types that implements traits:

    +
    #![allow(unused)]
    +fn main() {
    +// Signature says that it'll return any type that implements the trait Summary
    +fn returns_summarizable() -> impl Summary {
    +    // Tweet is some type that implements Summary
    +    Tweet {
    +        username: String::from("horse_ebooks"),
    +        content: String::from(
    +            "of course, as you probably already know, people",
    +        ),
    +        reply: false,
    +        retweet: false,
    +    }
    +}
    +}
    +
  • +
  • +

    However, you can only use impl Trait if you’re returning a single type. For example:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Either return NewsArticle or Tweet (only one type that implements Summary)
    +fn returns_summarizable(switch: bool) -> impl Summary {
    +    if switch {
    +        NewsArticle {
    +          ...
    +        }
    +    } else {
    +        Tweet {
    +          ...
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    Finding the largest character of an array of integer or an array of characters using generics and traits:

    +
    // Generic is used as we defined T in the signature, allowing any type to pass
    +// Trait bound is specified as PartialOrd is added to the signature, allowing any type that allows comparison, and copy (both i32 and char do)
    +fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
    +    let mut largest = list[0];
    +
    +    for &item in list {
    +        if item > largest {
    +            largest = item;
    +        }
    +    }
    +
    +    largest
    +}
    +
    +fn main() {
    +    let number_list = vec![34, 50, 25, 100, 65];
    +
    +    let result = largest(&number_list);
    +    println!("The largest number is {}", result);
    +
    +    let char_list = vec!['y', 'm', 'a', 'q'];
    +
    +    let result = largest(&char_list);
    +    println!("The largest char is {}", result);
    +}
    +
  • +
  • +

    Using Trait Bounds to Conditionally Implement Methods:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt::Display;
    +
    +struct Pair<T> {
    +    x: T,
    +    y: T,
    +}
    +
    +impl<T> Pair<T> {
    +    fn new(x: T, y: T) -> Self {
    +        Self { x, y }
    +    }
    +}
    +
    +// cmp_display will only run on types bounded by traits Display and PartialOrd, hence works conditionally
    +impl<T: Display + PartialOrd> Pair<T> {
    +    fn cmp_display(&self) {
    +        if self.x >= self.y {
    +            println!("The largest member is x = {}", self.x);
    +        } else {
    +            println!("The largest member is y = {}", self.y);
    +        }
    +    }
    +}
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/pg-03-lifetimes.html b/docs/ch-05-medium-concepts/pg-03-lifetimes.html new file mode 100644 index 0000000..f68cd8c --- /dev/null +++ b/docs/ch-05-medium-concepts/pg-03-lifetimes.html @@ -0,0 +1,479 @@ + + + + + + Lifetimes - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Lifetimes

+

Fun Fact: The developers who are programming Rust are constantly programming the patterns into the compiler’s code so the borrow checker could infer the lifetimes in some situations and wouldn’t need explicit annotations. These patterns programmed into Rust’s analysis of references are called the lifetime elision rules. Thus, making lifetimes easier to use day by day.

+
    +
  • +

    Lifetime is a way to specify how long the multiple references will live. So, it doesn't make sense to add lifetime to just one reference, they must be multiple.

    +
  • +
  • +

    Ways to add lifetime specifiers:

    +
    #![allow(unused)]
    +fn main() {
    +&i32        // a reference
    +&'a i32     // a reference with an explicit lifetime
    +&'a mut i32 // a mutable reference with an explicit lifetime
    +}
    +
  • +
+

Note: We'll may or may not use lifetimes only when we're dealing with references.

+
    +
  • +

    For example, let’s say we have a function with the parameter first that is a reference to an i32 with lifetime 'a. The function also has another parameter named second that is another reference to an i32 that also has the lifetime 'a. The lifetime annotations indicate that the references first and second must both live as long as that generic lifetime.

    +
  • +
  • +

    Every reference in Rust has a lifetime.

    +
  • +
  • +

    Here's an exmple of dangling reference:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Rust prevents dangling references
    +    {
    +        let r;                // ---------+-- 'a
    +                              //          |
    +        {                     //          |
    +            let x = 5;        // -+-- 'b  |
    +            r = &x;           //  |       |
    +        }                     // -+       | <- x dies but r stores reference of x, hence r stores a dangling referece
    +                              //          |
    +        println!("r: {}", r); //          |
    +    }                         // ---------+
    +}
    +
  • +
  • +

    Rust won't compile the above code, as it uses a borrow checker, to verify whether a reference or borrow is valid or not.

    +
  • +
  • +

    We may fix it by fixing the lives of variables by declaring them at different places:

    +
    #![allow(unused)]
    +fn main() {
    +    {
    +        let x = 5;            // ----------+-- 'b
    +                              //           |
    +        let r = &x;           // --+-- 'a  |
    +                              //   |       |
    +        println!("r: {}", r); //   |       |
    +                              // --+       |
    +    }                         // ----------+
    +}
    +
  • +
  • +

    This code will not compile, it'll require lifetime specifiers:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Rust can’t tell whether the reference being returned refers to x or y.
    +fn longest(x: &str, y: &str) -> &str {
    +    if x.len() > y.len() {
    +        x
    +    } else {
    +        y
    +    }
    +}
    +}
    +
    #![allow(unused)]
    +fn main() {
    +// Compiler will ask us to rewrite the signature like this
    +fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    +// Lifetimes on function or method parameters are called input lifetimes, and lifetimes on return values are called output lifetimes.
    +}
    +
  • +
  • +

    The reason why Rust asks us to specify the lifetimes are due to these reasons:

    +
      +
    • We don’t know whether the if case or the else case will execute.
    • +
    • We also don’t know the concrete lifetimes of the references that will be passed in.
    • +
    +
  • +
  • +

    When we add the lifetime specifiers as specified by the compiler, it means, the generic lifetime 'a will get the concrete lifetime that is equal to the smaller of the lifetimes of x and y (the variables passed in).

    +
  • +
+

Note: Remember, when we specify the lifetime parameters in this function signature, we’re not changing the lifetimes of any values passed in or returned. Rather, we’re specifying that the borrow checker should reject any values that don’t adhere to these constraints. Note that the longest function doesn’t need to know exactly how long x and y will live, only that some scope can be substituted for 'a that will satisfy this signature.

+
    +
  • How borrow checker will allow:
  • +
+
// Works: result is valid until the inner scope ends, string2 and string1 are valid too, hence borrow checker allows
+fn main() {
+    let string1 = String::from("long string is long");
+
+    {
+        let string2 = String::from("xyz");
+        let result = longest(string1.as_str(), string2.as_str());
+        println!("The longest string is {}", result);
+    }
+}
+
+// FAILS: The way we've specified lifetimes, result should have a shorter lifetime, equivalent to that of string2. Since, the code doesn't follows the rule, it fails.
+fn main() {
+    let string1 = String::from("long string is long");
+    let result;
+    {
+        let string2 = String::from("xyz");
+        result = longest(string1.as_str(), string2.as_str());
+    }
+    println!("The longest string is {}", result);
+}
+
    +
  • In the second case, this is the error that the compiler will throw:
  • +
+
  |
+6 |         result = longest(string1.as_str(), string2.as_str());
+  |                                            ^^^^^^^^^^^^^^^^ borrowed value does not live long enough
+7 |     }
+  |     - `string2` dropped here while still borrowed
+8 |     println!("The longest string is {}", result);
+  |                                          ------ borrow later used here
+
+
    +
  • +

    The below code will not compile because even though we’ve specified a lifetime parameter 'a for the return type, this implementation will fail to compile because the return value lifetime is not related to the lifetime of the parameters at all.

    +
    #![allow(unused)]
    +fn main() {
    +fn longest<'a>(x: &str, y: &str) -> &'a str {
    +    let result = String::from("really long string");
    +    result.as_str()
    +}
    +}
    +
  • +
  • +

    The compiler will throw this error, since Rust will prevent us from creating dangling reference.

    +
      --> src/main.rs:11:5
    +   |
    +11 |     result.as_str()
    +   |     ^^^^^^^^^^^^^^^ returns a reference to data owned by the current function
    +
    +
  • +
  • +

    In this case, the best fix would be to return an owned data type rather than a reference so the calling function is then responsible for cleaning up the value.

    +
  • +
  • +

    Rust is improving day by day to not require programmers to use lifetimes in some places. For Example:

    +
    #![allow(unused)]
    +fn main() {
    +// Even though we're dealing with references in functions,
    +// compiler won't ask us to specify lifetimes, it's because
    +// rust devs improved the rust compiler so that the borrow
    +// checker need not to not ask for lifetimes in this case
    +fn first_word(s: &str) -> &str {
    +    let bytes = s.as_bytes();
    +
    +    for (i, &item) in bytes.iter().enumerate() {
    +        if item == b' ' {
    +            return &s[0..i];
    +        }
    +    }
    +
    +    &s[..]
    +}
    +
    +// In earlier version (pre-1.0), the signature would've looked like this
    +fn first_word<'a>(s: &'a str) -> &'a str {
    +}
    +
  • +
+

Rules of lifetimes

+
    +
  • +

    There are 3 rules that compiler follows to verify whether lifetimes are valid or not.

    +
      +
    • First Rule: Each parameter that is a reference gets its own lifetime parameter. +
        +
      • A function with one parameter gets one lifetime parameter: fn foo<'a>(x: &'a i32);
      • +
      • A function with two parameters gets two separate lifetime parameters: fn foo<'a, 'b>(x: &'a i32, y: &'b i32); and so on.
      • +
      +
    • +
    • Second Rule: If there is exactly one input lifetime parameter, that lifetime is assigned to all output lifetime parameters. +
        +
      • For Example, fn foo<'a>(x: &'a i32) -> &'a i32.
      • +
      • There was only one parameter, hence one lifetime for inputs, so the same lifetime was assigned to the output.
      • +
      +
    • +
    • Third Rule: If there are multiple input lifetime parameters, but one of them is &self or &mut self because this is a method, the lifetime of self is assigned to all output lifetime parameters. +
        +
      • This third rule makes methods much nicer to read and write because fewer symbols are necessary.
      • +
      • Please note that this rule only applies to methods (functions that uses self), and not to simple functions.
      • +
      +
    • +
    +
  • +
  • +

    You can read in detail about How compiler automatically applies lifetimes and the about the rules of lifetimes in Lifetime Elision.

    +
  • +
+

Lifetimes in Structs and Methods

+
    +
  • +

    Lifetimes in struct. It’s possible for structs to hold references, but in that case we would need to add a lifetime annotation on every reference in the struct’s definition.

    +
    struct ImportantExcerpt<'a> {
    +    // Since, string slice is a referece, we added lifetime, such that field part and struct lives together
    +    part: &'a str,
    +}
    +
    +fn main() {
    +    let novel = String::from("Call me Ishmael. Some years ago...");
    +    let first_sentence = novel.split('.').next().expect("Could not find a '.'");
    +    let i = ImportantExcerpt {
    +        part: first_sentence,
    +    };
    +}
    +
  • +
  • +

    Lifetimes in impl blocks:

    +
    #![allow(unused)]
    +fn main() {
    +// The lifetime parameter declaration after impl and its use after the type name are required,
    +// but we’re not required to annotate the lifetime of the reference to self because of the first elision rule.
    +impl<'a> ImportantExcerpt<'a> {
    +    // No need to apply in the method below due to the first elision rule
    +    fn level(&self) -> i32 {
    +        3
    +    }
    +    // No need to apply in the method below due to the third elision rule
    +    fn announce_and_return_part(&self, announcement: &str) -> &str {
    +      println!("Attention please: {}", announcement);
    +      self.part
    +  }
    +}
    +}
    +
  • +
+

The static lifetime

+
    +
  • +

    The 'static is a lifetime which means that this reference can live for the entire duration of the program.

    +
  • +
  • +

    All string literals have the 'static lifetime.

    +
  • +
  • +

    You may use it as shown in the code below:

    +
    #![allow(unused)]
    +fn main() {
    +let s: &'static str = "I have a static lifetime.";
    +}
    +
  • +
+

Note: You might see suggestions to use the 'static lifetime in error messages. But before specifying 'static as the lifetime for a reference, think about whether the reference you have actually lives the entire lifetime of your program or not. You might consider whether you want it to live that long, even if it could. Most of the time, the problem results from attempting to create a dangling reference or a mismatch of the available lifetimes. In such cases, the solution is fixing those problems, not specifying the 'static lifetime.

+

Generic Type Parameters, Trait Bounds, and Lifetimes Together

+
    +
  • You may consider the code below, it prints the type (they type T can be filled with any type that implements Display trait), also it returns the longest string slice.
  • +
+
#![allow(unused)]
+fn main() {
+// Generic Type: T
+// Trait Bounds: Display
+// Lifetime: 'a
+use std::fmt::Display;
+
+// Because lifetimes are a type of generic, the declarations of
+// the lifetime parameter 'a and the generic type parameter T go
+// in the same list inside the angle brackets after the function name.
+fn longest_with_an_announcement<'a, T>(
+    x: &'a str,
+    y: &'a str,
+    ann: T,
+) -> &'a str
+where
+    T: Display,
+{
+    println!("Announcement! {}", ann);
+    if x.len() > y.len() {
+        x
+    } else {
+        y
+    }
+}
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/pg-04-functional-language-features.html b/docs/ch-05-medium-concepts/pg-04-functional-language-features.html new file mode 100644 index 0000000..88cf0c5 --- /dev/null +++ b/docs/ch-05-medium-concepts/pg-04-functional-language-features.html @@ -0,0 +1,548 @@ + + + + + + Functional Language Features - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Functional Language Features

+

Fun Fact: The implementations of closures and iterators are such that runtime performance is not affected. It means as if you've written to an optimized low level code, like in Assembly Language. This is part of Rust’s goal to strive to provide zero-cost abstractions.

+
    +
  • Programming in a functional style often includes using functions as values by passing them in arguments, returning them from other functions, assigning them to variables for later execution, and so forth.
  • +
  • Specifically, functional programming includes: +
      +
    • Closures: A function-like construct you can store in a variable.
    • +
    • Iterators: A way of processing a series of elements.
    • +
    +
  • +
+

Closures

+
    +
  • +

    They are "Anonymous Functions that Can Capture Their Environment".

    +
  • +
  • +

    An example of closure:

    +
    #![allow(unused)]
    +fn main() {
    +let expensive_closure = |num| {
    +    println!("calculating slowly...");
    +    thread::sleep(Duration::from_secs(2));
    +    num
    +};
    +}
    +
  • +
  • +

    Why closures don't require type annotations, but functions (fn) do?

    +
      +
    • Type annotations are required on functions because they’re part of an explicit interface exposed to your users. Defining this interface rigidly is important for ensuring that everyone agrees on what types of values a function uses and returns.
    • +
    • But closures aren’t used in an exposed interface like this: they’re stored in variables and used without naming them and exposing them to users of our library.
    • +
    +
  • +
  • +

    In case, we still want to explicitly define type annotations, we can do it by:

    +
    #![allow(unused)]
    +fn main() {
    +let expensive_closure = |num: u32| -> u32 {
    +    println!("calculating slowly...");
    +    thread::sleep(Duration::from_secs(2));
    +    num
    +};
    +}
    +
  • +
  • +

    Comparisons for Functions and closures syntax:

    +
    #![allow(unused)]
    +fn main() {
    +fn  add_one_v1   (x: u32) -> u32 { x + 1 }
    +let add_one_v2 = |x: u32| -> u32 { x + 1 };
    +let add_one_v3 = |x|             { x + 1 };
    +let add_one_v4 = |x|               x + 1  ;
    +}
    +
  • +
  • +

    Closures will always have only one concrete type:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Closure inferred two different types of x, which is against the rules
    +let example_closure = |x| x;
    +
    +let s = example_closure(String::from("hello"));
    +let n = example_closure(5);
    +}
    +
  • +
  • +

    Performing memoization or lazy evaluation:

    +
      +
    • +

      We can create a struct that will hold the closure and the resulting value of calling the closure.

      +
    • +
    • +

      The struct will execute the closure only if we need the resulting value, and it will cache the resulting value so the rest of our code doesn’t have to be responsible for saving and reusing the result.

      +
    • +
    • +

      All closures implement at least one of the traits: Fn, FnMut, or FnOnce.

      +
    • +
    • +

      Using this information, we can create a Cacher

      +
      #![allow(unused)]
      +fn main() {
      +// Cacher will store a closure inside calculation
      +// and the computed value inside value
      +struct Cacher<T>
      +where
      +    T: Fn(u32) -> u32,
      +{
      +    calculation: T,
      +    value: Option<u32>,
      +}
      +}
      +
    • +
    • +

      The use of the memoization is that, we can store the closure, that contains computation which takes very long time to finish. Then we can save it's computed value inside the struct, so that we can reuse to computation (thereby preventing expensive computation again and again), as well as update the computed value whenever necessary.

      +
    • +
    • +

      We'll need to write an implementation block to make the Cacher easier to use:

      +
      #![allow(unused)]
      +fn main() {
      +impl<T> Cacher<T>
      +where
      +    T: Fn(u32) -> u32,
      +{
      +    fn new(calculation: T) -> Cacher<T> {
      +        Cacher {
      +            calculation,
      +            value: None
      +        }
      +    }
      +
      +    fn value(&mut self, arg: u32) -> u32 {
      +        match self.value {
      +            Some(v) => v,
      +            None => {
      +                let v = (self.calculation)(arg);
      +                self.value = v;
      +                v
      +            }
      +        }
      +    }
      +}
      +}
      +
    • +
    • +

      The only limitation of this Cacher is that it assumes that, it'll only receive one value, that means even if we call the value() function multiple with different arguments, it'll still return the same value every time and that value will be the computed value when the closure was called for the first time. Here's the explanation:

      +
      #![allow(unused)]
      +fn main() {
      +let mut c = Cacher::new(|a| a);
      +
      +let v1 = c.value(1); // v1 = 1
      +let v2 = c.value(2); // v2 = 1
      +let v3 = c.value(3); // v3 = 1
      +}
      +
    • +
    • +

      So, here is a better version of the above cacher that can memorize all the arguments and their computed value inside a HashMap, which is also generic. You may refer it's implementation over here.

      +
    • +
    +
  • +
  • +

    Capturing the Environmet with closures:

    +
      +
    • +

      You can't don the following thing using simple functions:

      +
      // FAIL: Functions can't capture their environment, hence x shouldn't live inside the function
      +fn main() {
      +    let x = 4;
      +
      +    fn equal_to_x(z: i32) -> bool {
      +        z == x
      +    }
      +
      +    let y = 4;
      +
      +    assert!(equal_to_x(y));
      +}
      +
    • +
    • +

      But, you can easliy do this using closure:

      +
      fn main() {
      +    let x = 4;
      +
      +    let equal_to_x = |z| z == x;
      +
      +    let y = 4;
      +
      +    assert!(equal_to_x(y));
      +}
      +
    • +
    • +

      Closures can capture values from their environment in three ways, which directly map to the three ways a function can take a parameter: taking ownership, borrowing mutably, and borrowing immutably. These are encoded in the three Fn traits as follows:

      +
        +
      • FnOnce consumes the variables it captures from its enclosing scope, known as the closure’s environment. To consume the captured variables, the closure must take ownership of these variables and move them into the closure when it is defined. The Once part of the name represents the fact that the closure can’t take ownership of the same variables more than once, so it can be called only once.
      • +
      • FnMut can change the environment because it mutably borrows values.
      • +
      • Fn borrows values from the environment immutably.
      • +
      +
    • +
    • +

      When you create a closure, Rust infers which trait to use based on how the closure uses the values from the environment. All closures implement FnOnce because they can all be called at least once. Closures that don’t move the captured variables also implement FnMut, and closures that don’t need mutable access to the captured variables also implement Fn. In Listing 13-12, the equal_to_x closure borrows x immutably (so equal_to_x has the Fn trait) because the body of the closure only needs to read the value in x.

      +
    • +
    • +

      If you want to force the closure to take ownership of the values it uses in the environment, you can use the move keyword before the parameter list. This technique is mostly useful when passing a closure to a new thread to move the data so it’s owned by the new thread. The move closures may still implement Fn or FnMut, even though they capture variables by move. This is because the traits implemented by a closure type are determined by what the closure does with captured values, not how it captures them. The move keyword only specifies the latter.

      +
    • +
    • +

      An example of move:

      +
      // FAIL: We tried to print x even though it is moved inside closure
      +fn main() {
      +    let x = vec![1, 2, 3];
      +
      +    let equal_to_x = move |z| z == x;
      +
      +    println!("can't use x here: {:?}", x);
      +
      +    let y = vec![1, 2, 3];
      +
      +    assert!(equal_to_x(y));
      +}
      +
    • +
    • +

      Most of the time when specifying one of the Fn trait bounds, you can start with Fn and the compiler will tell you if you need FnMut or FnOnce based on what happens in the closure body.

      +
    • +
    +
  • +
+

Iterators

+
    +
  • +

    Iterators are lazy in rust, meaning they have no effect until you call methods that consume the iterator to use it up.

    +
    #![allow(unused)]
    +fn main() {
    +let v1 = vec![1, 2, 3];
    +
    +let v1_iter = v1.iter(); // It won't do anything useful until called upon
    +
    +for val in v1_iter { // Now, the iterator is called upon and used
    +    println!("Got: {}", val);
    +}
    +}
    +
  • +
  • +

    To just get the next element stored in iterator:

    +
    #![allow(unused)]
    +fn main() {
    +let v1 = vec![1, 2, 3];
    +
    +// Calling the next() method changes the state of iterator,
    +// hence we'll need to use mut in this case
    +let mut v1_iter = v1.iter();
    +
    +assert_eq!(v1_iter.next(), Some(&1));
    +assert_eq!(v1_iter.next(), Some(&2));
    +assert_eq!(v1_iter.next(), Some(&3));
    +assert_eq!(v1_iter.next(), None);
    +}
    +
  • +
  • +

    Why is it required to use mut when using next(), but not when using for loop?

    +
      +
    • next() - Each call to next eats up an item from the iterator. Hence, we need to define it as mut to be able to do that.
    • +
    • for - The loop takes ownership of the iterator and made it mutable behind the scenes. Hence, we don't need to use mut there.
    • +
    +
  • +
  • +

    Difference between iter, into_iter, and iter_mut

    +
      +
    • +

      They all return iterator, except the way they return differs. Here are the differences:

      +
        +
      • into_iter: It yields any of T, &T or &mut T, depending on the context.
      • +
      • iter: It yields &T.
      • +
      • iter_mut: It yields &mut T.
      • +
      +
    • +
    • +

      For more details refer to this stackoverflow answer.

      +
    • +
    +
  • +
  • +

    Consuming Adaptors: Some methods inside Iterator trait uses next(). It means those functions will also eat away the iterator, just like how next() does. Here's an example:

    +
    #![allow(unused)]
    +fn main() {
    +let v1 = vec![1, 2, 3];
    +
    +let v1_iter = v1.iter();
    +
    +let total: i32 = v1_iter.sum(); // sum() uses the next() and hence will eat away the iterator
    +}
    +
  • +
  • +

    Iterator Adaptors: Some methods inside Iterator allows you to change iterators into different kinds of iterators. It is also possible to use Iterator, Enumerator, Map, and Filter together. Rust has these functions inside the Iterator Trait.

    +
    #![allow(unused)]
    +fn main() {
    +let v1: Vec<u32> = vec![0, 1, 2, 3, 4, 5];
    +let iterator = v1.iter()
    +                 .enumerate()
    +                 .filter(|(i, val)| i % 2 == 0)
    +                 .map(|(i, val)| val); // On it's own it won't do anything, because iterators are lazy
    +
    +// You can either print them one by one using for loop (remember it'll consume the iterator)
    +for val in iterator {
    +    println!("{}", val);
    +}
    +
    +// Or you can collect them inside a vector, make sure you explicitly specify the type (`Vec<_>`) too.
    +let new_vector: Vec<_> = iterator.collect();
    +println!("New Vector: {:?}")
    +}
    +
  • +
  • +

    Creating your own iterator:

    +
      +
    • +

      You'll need to implement Iterator trait on your type.

      +
    • +
    • +

      You'll only need to define one function, that is next(), it'll be sufficient.

      +
      struct Counter {
      +    count: u32,
      +}
      +
      +impl Counter {
      +    fn new() -> Self {
      +        Self {
      +            count: 0,
      +        }
      +    }
      +}
      +
      +impl Iterator for Counter {
      +    type Item = u32;
      +
      +    fn next(&mut self) -> Option<Self::Item> {
      +        if self.count < 5 {
      +            self.count += 1;
      +            Some(self.count)
      +        } else {
      +            None
      +        }
      +    }
      +}
      +
      +fn main() {
      +    let counter = Counter::new();
      +    for val in counter {
      +        println!("{:?}", val);
      +    }
      +
      +    // Since we have next() method we can use any default implementation of the Iterator trait
      +    let sum: u32 = Counter::new()
      +        .zip(Counter::new().skip(1)) // Skips first element only and generate pairs { (1,2) (2,3) (3,4) (4,5) } because (5,None) is ignored
      +        .map(|(a, b)| a * b) // [2, 6, 12, 20]
      +        .filter(|x| x % 3 == 0) // [6, 12]
      +        .sum(); // 18
      +}
      +
    • +
    +
  • +
  • +

    Which is faster, for loop or iterator adapters?

    +
      +
    • +

      Here are the benchmarks:

      +
      test bench_search_for  ... bench:  19,620,300 ns/iter (+/- 915,700)
      +test bench_search_iter ... bench:  19,234,900 ns/iter (+/- 657,200)
      +
      +
    • +
    • +

      Iterators, although a high-level abstraction, get compiled down to roughly the same code as if you’d written the lower-level code yourself. Iterators are one of Rust’s zero-cost abstractions, which means that using the abstraction imposes no additional runtime overhead.

      +
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/pg-05-smart-pointers.html b/docs/ch-05-medium-concepts/pg-05-smart-pointers.html new file mode 100644 index 0000000..53b9011 --- /dev/null +++ b/docs/ch-05-medium-concepts/pg-05-smart-pointers.html @@ -0,0 +1,903 @@ + + + + + + Smart Pointers - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Smart Pointers

+
    +
  • Differences between Pointer and Smart Pointer:
  • +
+
+ + + +
PointerSmart Pointer
A pointer is a general concept for a variable that contains an address in memory.Smart pointers, on the other hand, are data structures that not only act like a pointer but also have additional metadata and capabilities.
References are pointers that only borrow data.Smart pointers own the data they point to.
The most common kind of pointer in Rust is a reference and is indicated by &.The commonly used smart pointers are String and Vec<T>.
+
+
    +
  • Smart pointers are usually implemented using structs.
  • +
  • The characteristic that distinguishes a smart pointer from an ordinary struct is that smart pointers implement the Deref and Drop traits. +
      +
    • Deref: Allows an instance of the smart pointer struct to behave like a reference so you can write code that works with either references or smart pointers.
    • +
    • Drop: Allows you to customize the code that is run when an instance of the smart pointer goes out of scope.
    • +
    +
  • +
+

Box<T>

+
    +
  • +

    For allocating values on Heap.

    +
  • +
  • +

    Box allows you to store data on heap and the pointer to the heap data on stack.

    +
  • +
  • +

    You’ll use them most often in these situations:

    +
      +
    • When you have a type whose size can’t be known at compile time and you want to use a value of that type in a context that requires an exact size
    • +
    • When you have a large amount of data and you want to transfer ownership but ensure the data won’t be copied when you do so
    • +
    • When you want to own a value and you care only that it’s a type that implements a particular trait rather than being of a specific type
    • +
    +
  • +
  • +

    Once Box goes out of scope, the deallocation happens for the box (stored on the stack) and the data it points to (stored on the heap).

    +
  • +
  • +

    Using Box<T> for the recursive call:

    +
      +
    • +

      Let's try to create an enum which will create it's variant recursively:

      +
      // FAIL: While computing Size for Cons, Rust will detect an inifinite memory allocation
      +enum List {
      +    Cons(i32, List),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +
      +fn main() {
      +    let list = Cons(1, Cons(2, Cons(3, Nil)));
      +}
      +
    • +
    • +

      When Rust will try to recognize the size, it'll recognize that it is an infinite loop:

      +Infinite List Containing Infinite Cons Value +
    • +
    • +

      Now, to make it easier for Rust to identify the size of enum at compile time, we can use Box<T> for the recursive call. Since Box<T> is a pointer, Rust will need not to find the size what's inside of it, instead just allocate the memory for it's pointer.

      +
      enum List {
      +    Cons(i32, Box<List>),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +
      +fn main() {
      +    let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil))))));
      +}
      +
    • +
    • +

      Conceptually, we still have a list, created with lists “holding” other lists, but this implementation is now more like placing the items next to one another rather than inside one another.

      +List that is not infinitely sized +
    • +
    +
  • +
  • +

    Since Box<T> implements the Deref trait, so you can use the * operator to dereference it.

    +
  • +
+

Deref Trait

+
    +
  • +

    Note that the * operator is replaced with a call to the deref method and then a call to the * operator. It means that *y, translates into:

    +
    #![allow(unused)]
    +fn main() {
    +*(y.deref())
    +}
    +
  • +
  • +

    We're trying to re-create Box<T> and it's capabilities to dereference itself. One important thing to notice, here we're only mimicing the dereferencing because the data doesn't actually get stored on heap.

    +
    #![allow(unused)]
    +fn main() {
    +use std::ops::Deref;
    +
    +struct MyBox<T>(T);
    +
    +impl<T> MyBox<T> {
    +  fn new(x: T) -> MyBox<T>  {
    +      MyBox(x)
    +  }
    +}
    +
    +impl<T> Deref for MyBox<T> {
    +    type Target = T;
    +
    +    fn deref(&self) -> &Self::Target {
    +        &self.0
    +    }
    +}
    +}
    +
  • +
+

Deref Coercion

+
    +
  • +

    Deref coercion can convert &String to &str. It's possible because String implements the Deref trait such that it returns &str.

    +
  • +
  • +

    They are meant for the arguments of functions and methods. The ease is that, you can pass &String into a function that accepts &str:

    +
    fn hello(name: &str) {
    +    println!("Hello, {}!", name);
    +}
    +
    +fn main() {
    +  let name = String::from("Bob");
    +  hello(&name);
    +}
    +
  • +
  • +

    Deref coercion was added to Rust so that programmers writing function and method calls don’t need to add as many explicit references and dereferences with & and *.

    +
  • +
  • +

    How does Rust automatically converts &String to &str?

    +
      +
    • It happens because Deref trait is implemented.
    • +
    • Rust simplifies all the deref implementations.
    • +
    +
  • +
  • +

    Here's an even complex example of deref coercion, using the MyBox, that we created earlier:

    +
      +
    • +

      Instead of calling this:

      +
      fn main() {
      +    let m = MyBox::new(String::from("Rust"));
      +    hello(&(*m)[..]);
      +}
      +
    • +
    • +

      Here we are manually converting:

      +
      #![allow(unused)]
      +fn main() {
      +(*m) => MyBox<String> -> String
      +[..] => String -> str
      +& => str -> &str
      +}
      +
    • +
    • +

      We can just call this:

      +
      fn main() {
      +    let m = MyBox::new(String::from("Rust"));
      +    hello(&m);
      +}
      +
    • +
    • +

      Rust simplifies the deref implementations by calling the deref() again and again. First It'll call deref() for MyBox then for String.

      +
      #![allow(unused)]
      +fn main() {
      +&MyBox<String> -> &String -> &str
      +}
      +
    • +
    +
  • +
+

Note: When the Deref trait is defined for the types involved, Rust will analyze the types and use Deref::deref as many times as necessary to get a reference to match the parameter’s type. The number of times that Deref::deref needs to be inserted is resolved at compile time, so there is no runtime penalty for taking advantage of deref coercion!

+
    +
  • +

    Rust does deref coercion when it finds types and trait implementations in three cases:

    +
      +
    • From &T to &U when T: Deref<Target=U>
    • +
    • From &mut T to &mut U when T: DerefMut<Target=U>
    • +
    • From &mut T to &U when T: Deref<Target=U>
    • +
    +
  • +
+

Note: The first case states that if you have a &T, and T implements Deref to some type U, you can get a &U transparently. the second case is similar. The third case is a bit different as mutable reference changes into immutable reference, though vice versa is not true.

+

Drop Trait

+
    +
  • +

    In Rust, you can specify that a particular bit of code be run whenever a value goes out of scope, and the compiler will insert this code automatically.

    +
  • +
  • +

    As a result, you don’t need to be careful about placing cleanup code everywhere in a program that an instance of a particular type is finished with—you still won’t leak resources!

    +
    struct CustomSmartPointer {
    +    data: String,
    +}
    +
    +impl Drop for CustomSmartPointer {
    +    fn drop(&mut self) {
    +        println!("Dropping CustomSmartPointer with data `{}`!", self.data);
    +    }
    +}
    +
    +fn main() {
    +    let c = CustomSmartPointer {
    +        data: String::from("my stuff"),
    +    };
    +    let d = CustomSmartPointer {
    +        data: String::from("other stuff"),
    +    };
    +    println!("CustomSmartPointers created.");
    +}
    +// Output -
    +// CustomSmartPointers created.
    +// Dropping CustomSmartPointer with data `other stuff`!
    +// Dropping CustomSmartPointer with data `my stuff`!
    +
  • +
  • +

    Notice that, variables are dropped in the reverse order, d was dropped before c.

    +
  • +
  • +

    There might be some cases when you want to manually drop the Smart Pointer, instead of waiting for the scope to end. For example, you want to release the lock so that other code in the same scope can acquire the lock.

    +
      +
    • +

      First thing is that, you can't call the drop() from the Drop trait.

      +
      // FAIL: This is not allowed in Rust, compiler will throw "explicit destructor calls not allowed"
      +fn main() {
      +    let c = CustomSmartPointer {
      +        data: String::from("some data"),
      +    };
      +    println!("CustomSmartPointer created.");
      +    c.drop();
      +    println!("CustomSmartPointer dropped before the end of main.");
      +}
      +
        --> src/main.rs:16:7
      +   |
      +16 |     c.drop();
      +   |     --^^^^--
      +   |     | |
      +   |     | explicit destructor calls not allowed
      +   |     help: consider using `drop` function: `drop(c)`
      +
      +
    • +
    • +

      Compiler uses term destructor, which is the general programming term for a function that cleans up an instance. It is analogous to the word constructor.

      +
    • +
    • +

      The reason that compiler doesn't allows us to do that, is to prevent the double free error.

      +
    • +
    • +

      The alternative is to use drop() from std::mem::drop, good thing is it's already in the prelude, so you don't need to import it.

      +
      fn main() {
      +    let c = CustomSmartPointer {
      +        data: String::from("some data"),
      +    };
      +    println!("CustomSmartPointer created.");
      +    drop(c); // Notice, we're passing it as an argument
      +    println!("CustomSmartPointer dropped before the end of main.");
      +}
      +
      +// Ouput -
      +// CustomSmartPointer created.
      +// Dropping CustomSmartPointer with data `some data`!
      +// CustomSmartPointer dropped before the end of main.
      +
    • +
    • +

      It solves the double free error through the ownership rules, as we pass it as an argument.

      +
    • +
    +
  • +
+

Rc<T>

+
    +
  • +

    Also known as Reference Counted Smart Pointer, it allows multiple ownership.

    +
  • +
  • +

    It does that by keeping the count of references. When the count becomes 0, it means that there are no references linked to data, so it's safe to clean.

    +
  • +
  • +

    Imagine Rc<T> as a TV in a family room. When one person enters to watch TV, they turn it on. Others can come into the room and watch the TV. When the last person leaves the room, they turn off the TV because it’s no longer being used. If someone turns off the TV while others are still watching it, there would be uproar from the remaining TV watchers!

    +
  • +
  • +

    Use case:

    +
      +
    • We want to allocate data on heap and we want multiple parts of our code to read it.
    • +
    • The problem is that we don't know which part will stop reading it last, that's why we can't make someone as an owner.
    • +
    • For those cases, Rc<T> will help us, it'll save us from deciding someone as owner and will allow multiple parts to read it at the same time.
    • +
    +
  • +
  • +

    With Rc<T> it is possible to create two lists that both share ownership of a third list.

    +List that is not infinitely sized +
      +
    • +

      Trying to do this with Box<T> fails:

      +
      enum List {
      +    Cons(i32, Box<List>),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +
      +fn main() {
      +    let a = Cons(5, Box::new(Cons(10, Box::new(Nil))));
      +    let b = Cons(3, Box::new(a));
      +    let c = Cons(4, Box::new(a));
      +}
      +
    • +
    • +

      We can also use references with lifetimes to solve this problem, but Rc<T> is better here.

      +
      enum List {
      +    Cons(i32, Rc<List>),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +use std::rc::Rc;
      +
      +fn main() {
      +    let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil)))));
      +    let b = Cons(3, Rc::clone(&a)); // Notice that we don't need to use Rc<T> here, since no one will be owning b and c
      +    let c = Cons(4, Rc::clone(&a)); // Also notice that we're using Rc::clone() and passing reference to create owners
      +}
      +
    • +
    • +

      Rc::clone() never makes deep copy, unlike clone(). Rc::clone() only increments the reference count, which doesn’t take much time.

      +
    • +
    • +

      To Increase Count: Rc::clone(), To Decrease Count: Drop does when the variable goes out of scope.

      +
    • +
    +
  • +
+

Note: Rc<T> can only allow multiple owners to read data and not to mutate it. For interior mutability there is another Smart Pointer named RefCell<T>.

+

RefCell<T>

+
    +
  • +

    Allows interior mutability to the immutable data.

    +
  • +
  • +

    Interior mutability is a design pattern in Rust that allows you to mutate data even when there are immutable references to that data; normally, this action is disallowed by the borrowing rules.

    +
  • +
  • +

    It uses unsafe rust code to function.

    +
  • +
  • +

    An example:

    +
  • +
  • +

    Consider one trait named Messanger and another struct named LimitTracker.

    +
  • +
+
#![allow(unused)]
+fn main() {
+pub trait Messenger {
+    fn send(&self, msg: &str);
+}
+
+pub struct LimitTracker<'a, T: Messenger> {
+  messenger: &'a T,
+  value: usize;
+}
+
+impl<'a, T> LimitTracker<'a, T>
+where
+    T: Messenger,
+{
+    pub fn new(messenger: &T, max: usize) -> LimitTracker<T> {
+      ...
+    }
+
+    pub fn set_value(&mut self, value: usize) { // Problem 1: We want mutable reference of self, but it includes immutable reference to messenger
+      self.value = value;
+
+      if (value > 100) {
+        self.messenger.send("Error: You are over your quota!"); // Problem 2: send() is an immutable function in trait, but self should be mutable.
+      }
+    }
+}
+}
+
    +
  • +

    LimitTracker takes in a reference of struct that implements Messenger, so that it can store it as one of it's field.

    +
  • +
  • +

    Inside LimitTracker, the problem is that set_value() takes mutable reference of self, but the messenger is an immutable reference and it's function send is also immutable. So, how can we test this set_value()?

    +
  • +
  • +

    This will fail to compile:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: send() is required to be mutable by LimitTracker but immutable due to trait Messenger
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    struct MockMessenger {
    +        sent_messages: Vec<String>,
    +    }
    +
    +    impl MockMessenger {
    +        fn new() -> MockMessenger {
    +            MockMessenger {
    +                sent_messages: vec![], // This is immutable
    +            }
    +        }
    +    }
    +
    +    impl Messenger for MockMessenger {
    +        fn send(&self, message: &str) {
    +             // We're trying to push on immutbale field, we also can't make send() mutable
    +            self.sent_messages.push(String::from(message));
    +        }
    +    }
    +
    +    #[test]
    +    fn it_sends_an_over_75_percent_warning_message() {
    +        let mock_messenger = MockMessenger::new();
    +        let mut limit_tracker = LimitTracker::new(&mock_messenger, 100);
    +
    +        limit_tracker.set_value(80);
    +
    +        assert_eq!(mock_messenger.sent_messages.len(), 1);
    +    }
    +}
    +}
    +
  • +
  • +

    Here's the solution using RefCell<T>:

    +
    #![allow(unused)]
    +fn main() {
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +    use std::cell::RefCell;
    +
    +    struct MockMessenger {
    +        // RefCell will make sent_messages mutable even though
    +        // it's parent MockMessenger can seem immutable to others
    +        sent_messages: RefCell<Vec<String>>,
    +    }
    +
    +    impl MockMessenger {
    +        fn new() -> MockMessenger {
    +            MockMessenger {
    +                // Now, RefCell will wrap the vector and will allow it to be mutable
    +                // at places where it's parent is asked to be immutable
    +                sent_messages: RefCell::new(vec![]),
    +            }
    +        }
    +    }
    +
    +    impl Messenger for MockMessenger {
    +        fn send(&self, message: &str) {
    +            // MockMessenger will seem immutable to send() but
    +            // sent_messages is mutable, and items can be pushed into it
    +            self.sent_messages.borrow_mut().push(String::from(message)); // borrow_mut() will generate mutable reference for push()
    +        }
    +    }
    +
    +    #[test]
    +    fn it_sends_an_over_75_percent_warning_message() {
    +        // --snip--
    +
    +        assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); // borrow() will generate the immutable reference, since we're only reading
    +    }
    +}
    +}
    +
  • +
  • +

    We use the & and &mut syntax with references. With RefCell<T>, we use the borrow() and borrow_mut() methods and they return Ref<T> and RefMut<T> respectively. They both implement Deref trait.

    +
  • +
  • +

    RefCell<T> lets us have many immutable borrows or one mutable borrow at any point in time. It keeps a count of whenever we call the borrow().

    +
  • +
  • +

    In case of an error, it won't be just a compile error, but will appear on Runtime, and will cause a panic.

    +
  • +
+

Differences between Box<T>, Rc<T> and RefCell<T>

+
+ + + + +
PropertyBox<T>Rc<T>RefCell<T>
OwnershipSingle OwnershipMultiple OwnershipSingle Ownership
Mutability of Inner DataImmutable or MutableOnly ImmutableImmutable or Mutable
Borrowing Rules CheckCompiled Time (compiler errors)Compiled Time (compiler errors)Runtime (panics at runtime)
MultithreadingOnly for Single Threaded ScenariosOnly for Single Threaded Scenarios
+
+

Using RefCell<T> with Rc<T>

+
    +
  • +

    It'll give you superpowers.

    +
  • +
  • +

    Now you can have a value that has multiple owners and can also mutate.

    +
  • +
  • +

    To use it, you'll have to wrap it like this, Rc<RefCell<T>>.

    +
  • +
  • +

    Here's our modified Cons list:

    +
    #![allow(unused)]
    +fn main() {
    +enum List {
    +    Cons(Rc<RefCell<i32>>, Rc<List>),
    +    Nil,
    +}
    +}
    +
  • +
  • +

    Now, we can have a list like this:

    +
    b --|
    +    a---Nil
    +c --|
    +
    +
  • +
  • +

    Here, a can have multiple owners b and c, and it's value can also mutate.

    +
    fn main() {
    +    let value = Rc::new(RefCell::new(5)); // Created a value that can have multiple owners and can also mutate
    +
    +    let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); // Make a such that it can be owned by multiple people
    +
    +    let b = Cons(Rc::new(RefCell::new(3)), Rc::clone(&a)); // Make b the owner of a
    +    let c = Cons(Rc::new(RefCell::new(4)), Rc::clone(&a)); // Made c the owner of a
    +
    +    *value.borrow_mut() += 10; // Rc -> RefCell -> &mut -> inner_element, then 10 is added to the inner_element in place
    +
    +    println!("a after = {:?}", a); // Value of a: Cons(RefCell { value: 15 }, Nil)
    +    println!("b after = {:?}", b); // Value of b: Cons(RefCell { value: 3 }, Cons(RefCell { value: 15 }, Nil))
    +    println!("c after = {:?}", c); // Value of c: Cons(RefCell { value: 4 }, Cons(RefCell { value: 15 }, Nil))
    +}
    +
  • +
  • +

    Other Types to provide interior mutability:

    +
      +
    • Cell<T>: It copies the data instead of giving references.
    • +
    • Mutex<T>: It provides interior mutability that's safe to use in multiple threads.
    • +
    +
  • +
+

Memory Leak

+
    +
  • +

    When we accidentally create memory that is never cleaned up is called Memory Leak.

    +
  • +
  • +

    Rust’s memory safety guarantees make it difficult, but not impossible.

    +
  • +
  • +

    Rust allows memory leaks by using Rc<T> and RefCell<T>.

    +
  • +
  • +

    By using both of them together, it's possible to create a reference cycle.

    +
  • +
  • +

    A reference cycle happens when reference of a is owned by b and reference of b is owned by a.

    +
  • +
  • +

    First of all, this will cause an infinite loop of references.

    +
  • +
  • +

    Also, it'll be impossible for Rust to Drop the values of a and b, as their reference count will never be zero.

    +
  • +
  • +

    This is one of Rust's limitations, and is referred to the problem of Memory Leak.

    +
  • +
  • +

    Reference Cycle in Action:

    +
    use crate::List::{Cons, Nil};
    +use std::cell::RefCell;
    +use std::rc::Rc;
    +
    +#[derive(Debug)]
    +enum List {
    +    Cons(i32, RefCell<Rc<List>>), // We can replace the list in place now
    +    Nil
    +}
    +
    +impl List {
    +    fn tail(&self) -> Option<&RefCell<Rc<List>>> {
    +        match self {
    +            Cons(_, item) => Some(item),
    +            Nil => None,
    +        }
    +    }
    +}
    +
    +fn main() {
    +    let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); // a = (5, Nil)
    +
    +
    +    let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); // b = (10, a)
    +
    +    if let Some(link) = a.tail() {
    +        *link.borrow_mut() = b; // a = (5, b)
    +    }
    +
    +    // At this point, Rc Count of a: 2, b: 2
    +
    +    // This will try to print the lists infinitely
    +    // and then will crash with the stack overflow error
    +    println!("a next item = {:?}", a.tail());
    +}
    +
    +// In case, we comment out the println!()
    +// At the end of scope, Rust will try to decrease the count of references
    +// Rc Count of b will decrease to 1
    +// Rc Count of a will decrease to 1
    +// Neither a nor b will be dropped as their count is not 0 and
    +// will still stay on the heap, causing Memory Leak
    +
  • +
  • +

    You may take help of this diagram to understand better:

    +List that is not infinitely sized +
  • +
+

Important Lesson: +You can't rely on Rust's memory safety while using RefCell<T> and Rc<T> together, or another combination with interior mutability, as it may cause the problem of Memory Leak.

+

Solutions to prevent Reference Cycles:

+
    +
  • Use Automated tests, Code reviews, and other Software development practices to minimize.
  • +
  • Reorganize data structure so that some references express ownership and some references don't.
  • +
+
+ + + +
Strong CountWeak Count
Rust will only drop an element if this count becomes zero.Rust will drop an element in case it gets out of scope, even if the count is not zero.
Rc<T> uses strong count.Weak<T> uses weak count.
It's hard to prevent reference cycle.It's easier to prevent reference cycle.
+
+
    +
  • +

    Preventing Reference Cycle using Weak<T>:

    +
    use std::cell::RefCell;
    +use std::rc::{Rc, Weak};
    +
    +#[derive(Debug)]
    +struct Node {
    +    value: i32,
    +    parent: RefCell<Weak<Node>>, // Child won't own it's parent
    +    children: RefCell<Vec<Rc<Node>>>,
    +}
    +
    +fn main() {
    +    let leaf = Rc::new(Node {
    +        value: 3,
    +        parent: RefCell::new(Weak::new()),
    +        children: RefCell::new(vec![])
    +    });
    +
    +    let branch = Rc::new(Node {
    +        value: 5,
    +        parent: RefCell::new(Weak::new()),
    +        children: RefCell::new(vec![Rc::clone(&leaf)])
    +    });
    +
    +    // The downgrade() changes Rc -> Weak
    +    *leaf.parent.borrow_mut() = Rc::downgrade(&branch);
    +
    +    // The upgrade() returns Some() or None, representing the value
    +    println!("Leaf parent: {:?}", leaf.parent.borrow().upgrade());
    +}
    +
  • +
  • +

    The output will look like this:

    +
    leaf parent = Some(Node { value: 5, parent: RefCell { value: (Weak) },
    +children: RefCell { value: [Node { value: 3, parent: RefCell { value: (Weak) },
    +children: RefCell { value: [] } }] } })
    +
    +
  • +
  • +

    Notice, at some places only Weak is there, and the whole element is not printed. This is Rust's way of preventing infinite output.

    +
  • +
  • +

    This lack of inifinite output, indicates that reference cycle is prevented.

    +
  • +
  • +

    Here's another example, using the same struct to show how strong count and weak count will change:

    +
    fn main() {
    +    let leaf = Rc::new(Node {
    +        value: 3,
    +        parent: RefCell::new(Weak::new()),
    +        children: RefCell::new(vec![]),
    +    });
    +
    +    // leaf strong = 1, weak = 0
    +
    +    {
    +        let branch = Rc::new(Node {
    +            value: 5,
    +            parent: RefCell::new(Weak::new()),
    +            children: RefCell::new(vec![Rc::clone(&leaf)]),
    +        });
    +
    +        // Since Rc is downgrading branch, branch's weak count will increase by 1
    +        *leaf.parent.borrow_mut() = Rc::downgrade(&branch);
    +
    +        // branch strong = 1, weak = 1
    +
    +        // leaf strong = 2, weak = 0
    +    }
    +
    +    // leaf strong = 1, weak = 0
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/pg-06-concurrency.html b/docs/ch-05-medium-concepts/pg-06-concurrency.html new file mode 100644 index 0000000..86288ed --- /dev/null +++ b/docs/ch-05-medium-concepts/pg-06-concurrency.html @@ -0,0 +1,589 @@ + + + + + + Concurrency - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Concurrency

+
    +
  • Difference between Concurrency and Parallel programming:
  • +
+
+ +
Concurrent ProgrammingParallel Programming
Where different parts of program execute independently.Where different parts of program execute at the same time.
+
+

Using Threads

+
    +
  • +

    OS manages multiple processes at once.

    +
  • +
  • +

    An executed program's code is run in a process.

    +
  • +
  • +

    You can write programs such that there are indpendent pieces of code that run simultaneously.

    +
  • +
  • +

    The features that run these parts simultaneously are called threads.

    +
  • +
  • +

    Threads can run simultaneously, there’s no inherent guarantee about the order in which parts of your code on different threads will run. This causes the following problems:

    +
      +
    • Race conditions: Where threads are accessing data or resources in an inconsistent order.
    • +
    • Deadlocks: Where two threads are waiting for each other to finish using a resource the other thread has, preventing both threads from continuing.
    • +
    • Bugs: Hard to reproduce bugs, and only happens in certain situations.
    • +
    +
  • +
  • +

    Many operating systems provide an API for creating new threads. This model where a language calls the operating system APIs to create threads is sometimes called 1:1, meaning 1 OS Thread / 1 Language Thread. The rust standard library provides the implementation for only 1:1.

    +
  • +
  • +

    Creating a new thread with spawn:

    +
    use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +  thread::spawn(|| {
    +    for i in 1..10 {
    +      println!("hi number {} from the spawned thread", i);
    +      thread::sleep(Duration::from_millis(1));
    +    }
    +  });
    +
    +  for i in 1..5 {
    +    println!("hi number {} from the main thread", i);
    +    thread::sleep(Duration::from_millis(1));
    +  }
    +}
    +
  • +
  • +

    The output will be:

    +
    hi number 1 from the main thread
    +hi number 1 from the spawned thread
    +hi number 2 from the main thread
    +hi number 2 from the spawned thread
    +hi number 3 from the main thread
    +hi number 3 from the spawned thread
    +hi number 4 from the main thread
    +hi number 4 from the spawned thread
    +hi number 5 from the spawned thread
    +
    +
  • +
  • +

    The spawned thread will automatically die as the main thread ends.

    +
  • +
  • +

    That's why spawned thread ran 5 times, 4 times same as main thread and the 5th time, which is exectued to break the condition for the main thread's for loop condition.

    +
  • +
  • +

    Which thread will execute first is not guaranteed, you may notice in our case, the main thread runs first, even though according to the code, the spawned thread should have ran first.

    +
  • +
  • +

    In fact, there is not even a guarantee that this spwaned thread will even run at all.

    +
  • +
  • +

    We can make sure that the spawned thread will definitely run and will execute completely, by using the join()

    +
    use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +    // Let's store the thread in a variable
    +    let handle = thread::spawn(|| {
    +        for i in 1..10 {
    +            println!("hi number {} from the spawned thread!", i);
    +            thread::sleep(Duration::from_millis(1));
    +        }
    +    });
    +
    +    for i in 1..5 {
    +        println!("hi number {} from the main thread!", i);
    +        thread::sleep(Duration::from_millis(1));
    +    }
    +
    +    // This will make sure that the spawned thread
    +    // finishes before the main thread ends
    +    handle.join().unwrap();
    +}
    +
  • +
  • +

    The two threads will now continue alternating, but the main thread will wait because of the call to handle.join() and will not end until the spawned thread is finished.

    +
  • +
  • +

    It is very important, where you call the handle.join(), as it may create an unexpected behaviour:

    +
    use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +    let handle = thread::spawn(|| {
    +        for i in 1..10 {
    +            println!("hi number {} from the spawned thread!", i);
    +            thread::sleep(Duration::from_millis(1));
    +        }
    +    });
    +
    +    handle.join().unwrap();
    +
    +    for i in 1..5 {
    +        println!("hi number {} from the main thread!", i);
    +        thread::sleep(Duration::from_millis(1));
    +    }
    +}
    +
  • +
  • +

    This will give us this output:

    +
    hi number 1 from the spawned thread!
    +hi number 2 from the spawned thread!
    +hi number 3 from the spawned thread!
    +hi number 4 from the spawned thread!
    +hi number 5 from the spawned thread!
    +hi number 6 from the spawned thread!
    +hi number 7 from the spawned thread!
    +hi number 8 from the spawned thread!
    +hi number 9 from the spawned thread!
    +hi number 1 from the main thread!
    +hi number 2 from the main thread!
    +hi number 3 from the main thread!
    +hi number 4 from the main thread!
    +
    +
  • +
  • +

    So, make sure that you're calling the handle.join() to prevent undesired behaviour.

    +
  • +
  • +

    When we use closure, Rust will infer that we want to only borrow the variable.

    +
    use std::thread;
    +
    +fn main() {
    +    let v = vec![1, 2, 3];
    +
    +    // Notice, here v is only borrowed here,
    +    // it's possible that the closure may outlive
    +    // and v may die early, so Rust will throw us
    +    // error, and will ask us to use move
    +    let handle = thread::spawn(|| {
    +        println!("Here's a vector: {:?}", v);
    +    });
    +
    +    handle.join().unwrap();
    +}
    +
  • +
  • +

    So, we need to expicitly add the move keyword, to tell Rust to transfer ownership of v to the closure.

    +
    use std::thread;
    +
    +fn main() {
    +    let v = vec![1, 2, 3];
    +
    +    let handle = thread::spawn(move || {
    +        println!("Here's a vector: {:?}", v);
    +    });
    +
    +    // Now, we cannot use v over here, inside the main thread for any reason
    +
    +    handle.join().unwrap();
    +}
    +
  • +
+

Using Message Passing to Transfer Data Between Threads

+

“Do not communicate by sharing memory; instead, share memory by communicating.” - Go Language Documentation

+
    +
  • +

    Rust sends messages between threads to accomplish concurrency.

    +
  • +
  • +

    Rust uses channel for the message-sending concurrency (it works similar to a river stream), it has two parts:

    +
      +
    • Transmitter: The upstream location
    • +
    • Receiver: The downstream location
    • +
    +
  • +
  • +

    A channel is said to be closed if either the transmitter or receiver half is dropped.

    +
  • +
  • +

    You may create a channel just like this:

    +
      +
    • +

      A channel can have multiple producer of values (multiple sources of river), but only 1 consumer of those values (all rivers will mix into one river).

      +
    • +
    • +

      A channel produces it's two parts, inside a tuple and are abbreviated as tx and rx, for transmitter and receiver respectively.

      +
      // mpsc stands for multiple producer, single consumer
      +use std::sync::mpsc;
      +use std::thread;
      +
      +fn main() {
      +    let (tx, rx) = mpsc::channel();
      +
      +    thread::spawn(move || {
      +        let val = String::from("hi");
      +        // We'll send the value to the receiver's end
      +        // and in case there's a problem at receiving
      +        // end, it'll thrown an error and cause a panic
      +        tx.send(val).unwrap();
      +    });
      +
      +    // The recv()
      +    let received = rx.recv().unwrap();
      +    println!("Got: {}", received);
      +}
      +
    • +
    +
  • +
  • +

    Ways to receive the values from the channel:

    +
      +
    • recv(): It'll block the main thread’s execution and wait until a value is sent down the channel.
    • +
    • try_recv(): This method doesn't block, but may not contain any value for some time. So, you'll need to call this every so often, by writing a loop.
    • +
    +
  • +
  • +

    Sending and Receiving multiple values:

    +
    use std::sync::mpsc;
    +use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +    let (tx, rx) = mpsc::channel();
    +
    +    let tx1 = tx.clone();
    +    thread::spawn(move || {
    +        let vals = vec![
    +            String::from("hi"),
    +            String::from("from"),
    +            String::from("the"),
    +            String::from("thread"),
    +        ];
    +
    +        for val in vals {
    +            tx1.send(val).unwrap();
    +            thread::sleep(Duration::from_secs(1));
    +        }
    +    });
    +
    +    thread::spawn(move || {
    +        let vals = vec![
    +            String::from("more"),
    +            String::from("messages"),
    +            String::from("from"),
    +            String::from("you"),
    +        ];
    +
    +        for val in vals {
    +            tx.send(val).unwrap();
    +            thread::sleep(Duration::from_secs(1));
    +        }
    +    });
    +
    +    // We’re not calling the recv function explicitly anymore:
    +    // When the channel is closed, iteration will end.
    +    for received in rx {
    +        println!("Got: {}", received);
    +    }
    +}
    +
  • +
+

Shared-State Concurrency

+
    +
  • Shared memory concurrency is like multiple ownership: multiple threads can access the same memory location at the same time.
  • +
  • We can use Mutex to allow access to data from one thread at a time.
  • +
+
Mutex
+
    +
  • +

    Mutex is an abbreviation of Mutual Exclusion.

    +
  • +
  • +

    It locks the data such that others can use. Lock is a data structure that keeps track of who currently has exclusive access to the data.

    +
  • +
  • +

    These are the rules that you'll have to follow while using a Mutex:

    +
      +
    • You must attempt to acquire the lock before using the data.
    • +
    • When you’re done with the data that the mutex guards, you must unlock the data so other threads can acquire the lock.
    • +
    +
  • +
  • +

    Here's an example:

    +
    use std::sync::Mutex;
    +
    +fn main() {
    +    let m = Mutex::new(5);
    +
    +    {
    +        let mut num = m.lock() // It'll block the old thread, until we unlock the mutex
    +                       .unwrap(); // lock() may fail if the old thread panics, so unwrap() will also panic the current thread
    +        *num = 6; // Mutex returns a Smart Pointer named MutexGuard, that's why we need to dereference it to change it's value
    +    } // MutexGuard has a Drop trait implementation, which automatically unlocks the mutex when it goes out of scope
    +
    +    println!("m = {:?}", m);
    +}
    +
  • +
  • +

    Here's an example wehere the varaible counter will be shared among 10 threads, where each of them will try to increment it by 1.

    +
      +
    • Why can't we directly use Mutex within multiple threads? +
        +
      • The threads use move, which moves the ownership of variable to the thread.
      • +
      • Rust won't allow us to move the ownership of lock counter in multiple threads.
      • +
      +
    • +
    • Why can't we use Rc<T>, to provide multiple ownership to individual threads? +
        +
      • Rc<T> is not safe to share across threads. It is possible if we use Rc<T> in multiple threads, then both threads might update the reference count at same time.
      • +
      • It doesn’t use any concurrency primitives to make sure that changes to the count can’t be interrupted by another thread.
      • +
      • That could lead to Wrong Counts and Memory Leak.
      • +
      +
    • +
    • What do we need then? +
        +
      • What we need is a type exactly like Rc<T> but one that makes changes to the reference count in a thread-safe way.
      • +
      • Fortunately, we have Arc<T> (atomically referenced counter), it is almost like Rc<T>, except the counts are maintained atomically.
      • +
      • Atomics are primitives that are safe to share across threads.
      • +
      +
    • +
    +
    use std::sync::{Arc, Mutex};
    +use std::thread;
    +
    +fn main() {
    +    // Mutex is used to lock a variable so that other thread can use
    +    // Arc provides multiple ownership like Rc<T> and it is thread safe
    +    let counter = Arc::new(Mutex::new(0)); // Notice counter is immutable, it's because Mutex provides interior mutability, similar to RefCell
    +    let mut handles = vec![];
    +
    +    for _ in 1..=10 {
    +        let counter = Arc::clone(&counter);
    +        let handle = thread::spawn(move || {
    +            let mut value = counter.lock().unwrap();
    +            *value += 1
    +        });
    +
    +        handles.push(handle);
    +    }
    +
    +    for handle in handles {
    +        handle.join().unwrap();
    +    }
    +
    +    println!("The value of counter: {}", *counter.lock().unwrap());
    +}
    +
  • +
  • +

    The combination of Arc<Mutex<T>>, is analogous to Rc<RefCell<T>>.

    +
  • +
  • +

    Keep in mind using Mutex<T> is risky, as logical errors may lead to deadlocks.

    +
  • +
+

Send and Sync trait

+
    +
  • +

    These two traits are part of the language itself, unlike otheer features of concurrency as they were part of the standard library.

    +
  • +
  • +

    They are called std::marker traits.

    +
  • +
  • +

    Send vs Sync

    +
    + + + +
    SendSync
    It is safe to transfer ownership of a type between threads.It is safe to use that type's reference betweeen threads.
    Any type T that implements SyncType T is Sync, if it's reference (&T) is Send or if type T implements Sync.
    Except Rc<T>, almost all types are Send. (use Arc<T> instead).Primitive Types, Mutex<T> are Sync but Rc<T>, RefCell<T> are not.
    +
  • +
  • +

    We don't need to implement Send and Sync for the types that are made up of those types that implements these traits.

    +
  • +
  • +

    In case you need to implement thes traits for a particular type than it means you'll need to write some unsafe rust code. You can learn the Dark Arts of Unsafe Code from this book “The Rustonomicon”.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-05-medium-concepts/pg-07-object-oriented-programming.html b/docs/ch-05-medium-concepts/pg-07-object-oriented-programming.html new file mode 100644 index 0000000..510cc93 --- /dev/null +++ b/docs/ch-05-medium-concepts/pg-07-object-oriented-programming.html @@ -0,0 +1,445 @@ + + + + + + Object Oriented Programming - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

OOP (Object Oriented Programming)

+
    +
  • Characterstics of OOP: +
      +
    • Objects contain data and behaviour: +
        +
      • Programs should make up of objects.
      • +
      • An object packages both data and it's methods.
      • +
      • Rust offers struct, enum and impl blocks to provide this characterstic.
      • +
      +
    • +
    • Encapsulation: +
        +
      • When the implementation details are hidden from the code that is using the object.
      • +
      • The only way to use an object is through it's public API.
      • +
      • This enables the programmer to change and refactor an object’s internals without needing to change the code that uses the object.
      • +
      • Rust encapsulates everything by default and offers pub keyword to make things public.
      • +
      +
    • +
    • Inheritance: +
        +
      • When an object can inherit from another object’s definition, so that it can use it's parent object's data and behavior without defining them again.
      • +
      • Rust doesn't offers inheritance between struct, but has trait where you can use default methods that is both reusable and can be overridden.
      • +
      • The reasons to use inheritance are: code reusability and polymorphism.
      • +
      • Polymorphism means that you don't need to explicitly define the type in code, but can be detected during runtime. It is useful when two types share same characterstics.
      • +
      • Rust offers polymorphism in a more general manner. It offers generics to generalize the accepted types and trait bounds, to constraint the allowed types.
      • +
      +
    • +
    +
  • +
+

Note: People think "polymorphism is synonymous with inheritance". But it is a more general concept which means that a certain code can be referred to multiple types. It is used when two types share some common characterstics. In inheritance, those types are only subclasses.

+
    +
  • +

    Problems with Inheritance:

    +
      +
    • It adds the risk of sharing more code than necessary.
    • +
    • Subclasses are forced to share all the characterstics of the parents, even though sometimes it's not necessary or even undesired.
    • +
    • Sometimes calling the functions on the subclass doen't makes sense and even cause errors.
    • +
    • Due to this, some programming languages will only allow a subclass to inherit from one class, further restricting the flexibility of a program’s design.
    • +
    +
  • +
  • +

    Rust is different, it takes a completely different approach by using trait objects instead of inheritance.

    +
  • +
+

Defining a common behaviour using trait

+
    +
  • +

    A trait object points to both:

    +
      +
    • An instance of a type implementing our specified trait
    • +
    • A table used to look up trait methods on that type at runtime.
    • +
    +
  • +
+
+ + + + +
Propertystruct or enumtraitObjects in other languages
Stores DataYesNoYes
Stores BehaviourNoYesYes
Data and behaviourSeperated by impl blocks.CombinedCombined
UsesStore same items togetherStore common behaviour and allow abstractionStore same items and their common behavior
+
+
    +
  • +

    An example:

    +
      +
    • +

      Problem: Let's say initially we have components such as Button and Image that may use a common functionality to draw on the screen. It's possible that someday programmers want to introduce one more component named SelectBox. So, what we'll end up with are different types of structures that wants to use a common functionality.

      +
    • +
    • +

      Solution: We can invent a common function named draw(), which will have different implementations for different types of components.

      +
    • +
    • +

      How to build: We'll initialise a trait that can be shared among various components and a struct that can hold these compoenents.

      +
    • +
    • +

      The trait will look like this:

      +
      #![allow(unused)]
      +fn main() {
      +// A common functionality shared between multiple components
      +pub trait Draw {
      +    fn draw(&self);
      +}
      +}
      +
    • +
    • +

      We can build a struct that holds the components that implements the Draw:

      +
      #![allow(unused)]
      +fn main() {
      +pub struct Screen {
      +    // Box will allow to store the components on heap
      +    // dyn keyword will add the ability to detect a type that implements Draw on runtime
      +    pub components: Vec<Box<dyn Draw>>,
      +}
      +
      +impl Screen {
      +    pub fn run(&self) {
      +        for component in self.components.iter() {
      +            component.draw();
      +        }
      +    }
      +}
      +}
      +
    • +
    • +

      The difference with the alternative implementation using trait bounds in struct is that it restricts us to a Screen instance that has a list of components all of type Button or all of type TextField. At compile time, the definitions will be monomorphized.

      +
      #![allow(unused)]
      +fn main() {
      +pub struct Screen<T: Draw> {
      +    pub components: Vec<T>,
      +}
      +
      +impl<T> Screen<T>
      +where
      +    T: Draw,
      +{
      +    pub fn run(&self) {
      +        for component in self.components.iter() {
      +            component.draw();
      +        }
      +    }
      +}
      +}
      +
    • +
    • +

      Programmers can now create new components like this:

      +
      #![allow(unused)]
      +fn main() {
      +use gui::Draw;
      +
      +pub struct Button {
      +    // Some fields
      +}
      +
      +impl Draw for Button {
      +    fn draw(&self) {
      +        // code to actually draw something
      +    }
      +}
      +}
      +
    • +
    • +

      Users of this library can now use it like this:

      +
      use gui::{Button, Screen};
      +
      +fn main() {
      +    let screen = Screen {
      +        components: vec![
      +            Box::new(SelectBox {
      +                width: 75,
      +                height: 10,
      +                options: vec![
      +                    String::from("Yes"),
      +                    String::from("Maybe"),
      +                    String::from("No"),
      +                ],
      +            }),
      +            Box::new(Button {
      +                width: 50,
      +                height: 10,
      +                label: String::from("OK"),
      +            }),
      +        ],
      +    };
      +
      +    screen.run();
      +}
      +
    • +
    • +

      This concept is similar to the concept like duck typing: if it walks like a duck and quacks like a duck, then it must be a duck!

      +
    • +
    • +

      Use Cases:

      +
        +
      • Generics with trait bounds: If you’ll only ever have homogeneous collections. For Example, all elements of vector will be of type Button.
      • +
      • Box<dyn T>: You can use heterogeneous collections. For Example, elements can be a mix of Button, TextField etc.
      • +
      +
    • +
    +
  • +
  • +

    Static Dispatch vs Dynamic Dispatch:

    +
  • +
+
+ + + + +
Static DispatchDynamic Dispatch
Concrete types are decided at compile time.The compiler emits code that at runtime will figure out which method to call.
Compiler writes some new code for various concrete types.At runtime, it is decided whether a selected type can follow the requirements.
When we use trait bounds on generics, static dispatch happens.When we want to perform dynamic dispatch, we can use the dyn keyword.
No runtime cost is added.Some runtime cost is added.
+
+

The State Pattern

+
    +
  • +

    The state pattern is an object-oriented design pattern.

    +
  • +
  • +

    The current state is stored inside the struct, along with it's value(s).

    +
    #![allow(unused)]
    +fn main() {
    +pub struct Post {
    +    // Box and dyn are used because the state variable
    +    // will have different states during the life of Post
    +    state: Option<Box<dyn State>>,
    +    content: String,
    +}
    +}
    +
  • +
  • +

    There are state objects, you can create a new object by implementing this trait.

    +
    #![allow(unused)]
    +fn main() {
    +trait State {
    +    // The first two functions, results in transitions to different states.
    +    fn request_review(self: Box<Self>) -> Box<dyn State>;
    +    fn approve(self: Box<Self>) -> Box<dyn State>;
    +    // This function, can be called on any state object,
    +    // similar to the above two functions, except instead
    +    // of causing a state transition, it will return value
    +    // as if we conditionally returned output for each state
    +    fn content<'a>(&self, _post: &'a Post) -> &'a str {
    +        ""
    +    }
    +}
    +}
    +
      +
    • +

      The state pattern is built such that, methods defined on state objects will cause changes in the Post, but the methods defined on Post will have no idea what these changes will look like. Hence, state objects will encapsulate behaviour changes from the main struct.

      +
    • +
    • +

      You can look at it's complete implementation over here.

      +
    • +
    • +

      Some downsides of State Pattern:

      +
        +
      • Extra Modifications: If we add a new state, we'll need to modify other states too. It's due to the reason that one state can only make transitions to another state.
      • +
      • Code Duplication: It leads us to write common code inside state objects, as we cannot write directly in trait's default implementation because traits don't know about the concrete type.
      • +
      +
    • +
    • +

      There's another implementation of state pattern in Rust. It doesn't follow the classic OOP pattern, as we'll require to store the object in new variable, whenever a state transition will happen. Here's the code.

      +
      #![allow(unused)]
      +fn main() {
      +// This will cause a state transition from PendingReview to Published
      +let post = post.approve();
      +}
      +
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/main.html b/docs/ch-06-advanced-concepts/main.html new file mode 100644 index 0000000..3f6e090 --- /dev/null +++ b/docs/ch-06-advanced-concepts/main.html @@ -0,0 +1,198 @@ + + + + + + Advanced Concepts - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Advanced Concepts

+
    +
  • You'll learn about macros, it is a form of code that writes more code. We'll talk about unsafe rust which is a form of rust which gives you superpowers by removing the rust safety checks. You'll also learn some other advanced forms of traits, types and pattern matching.
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/pg-01-advanced-pattern-matching.html b/docs/ch-06-advanced-concepts/pg-01-advanced-pattern-matching.html new file mode 100644 index 0000000..636cd54 --- /dev/null +++ b/docs/ch-06-advanced-concepts/pg-01-advanced-pattern-matching.html @@ -0,0 +1,625 @@ + + + + + + Advanced Pattern Matching - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Pattern Matching

+
    +
  • +

    match Arms

    +
    #![allow(unused)]
    +fn main() {
    +match VALUE {
    +    PATTERN => EXPRESSION,
    +    PATTERN => EXPRESSION,
    +    PATTERN => EXPRESSION,
    +}
    +}
    +
  • +
  • +

    Conditional if let statements

    +
    fn main() {
    +    let favorite_color: Option<&str> = None;
    +    let is_tuesday = false;
    +    let age: Result<u8, _> = "34".parse();
    +
    +    if let Some(color) = favorite_color {
    +        println!("Using your favorite color, {}, as the background", color);
    +    } else if is_tuesday {
    +        println!("Tuesday is green day!");
    +    } else if let Ok(age) = age {
    +        if age > 30 {
    +            println!("Using purple as the background color");
    +        } else {
    +            println!("Using orange as the background color");
    +        }
    +    } else {
    +        println!("Using blue as the background color");
    +    }
    +}
    +
  • +
  • +

    while let loops

    +
    #![allow(unused)]
    +fn main() {
    +    let mut stack = Vec::new();
    +
    +    stack.push(1);
    +    stack.push(2);
    +    stack.push(3);
    +
    +    while let Some(top) = stack.pop() {
    +        println!("{}", top);
    +    }
    +}
    +
  • +
  • +

    for loops

    +
    #![allow(unused)]
    +fn main() {
    +    let v = vec!['a', 'b', 'c'];
    +
    +    for (index, value) in v.iter().enumerate() {
    +        println!("{} is at index {}", value, index);
    +    }
    +}
    +
  • +
  • +

    let statements

    +
    #![allow(unused)]
    +fn main() {
    +    let (x, y, z) = (1, 2, 3);
    +}
    +
  • +
  • +

    function parameters

    +
    fn print_coordinates(&(x, y): &(i32, i32)) {
    +    println!("Current location: ({}, {})", x, y);
    +}
    +
    +fn main() {
    +    let point = (3, 5);
    +    print_coordinates(&point);
    +}
    +
  • +
+

Forms of Pattern

+
+ + + +
RefutableIrrefutable
Patterns that can fail to match for some possible value.Patterns that'll match for any possible value.
For Example, in if let Some(x) = a_value, the Some(x) can fail to match if a_value is None.For Example, in let x = 5;, the x matches anything and therefore cannot fail to match.
The if let and while let expressions accept refutable and irrefutable patterns, but the compiler warns against irrefutable patterns.Function parameters, let statements, and for loops can only accept irrefutable patterns, because the program cannot do anything meaningful when values don’t match.
+
+
    +
  • +

    Using a refutable pattern where Rust requires an irrefutable pattern:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: The code doesn't know what to do with a None value
    +// Some(x) is a refutable pattern
    +// let requires an irrefutable pattern
    +let Some(x) = some_option_value;
    +}
    +
  • +
  • +

    Using irrefutable pattern where Rust requires a refutable pattern:

    +
  • +
+
#![allow(unused)]
+fn main() {
+// WARN: It doesn’t make sense to use if let with an irrefutable pattern
+// x is an irrefutable pattern
+// if let is a refutable pattern
+if let x = 5 {
+    println!("{}", x);
+};
+}
+
    +
  • In match statements, all arms use refutable pattern except the last one that uses _, which uses irrefutable pattern.
  • +
+

Pattern Syntax

+
Inside the match expression
+
    +
  • +

    Each match expression creates a new scope, hence varaibles defined in scope will shadow the variables defined outside.

    +
    #![allow(unused)]
    +fn main() {
    +    let x = Some(5);
    +    let y = 10;
    +
    +    match x {
    +        Some(50) => println!("Got 50"),
    +        Some(y) => println!("Matched, y = {:?}", y), // This y will shadow the y defined outside of this scope
    +        _ => println!("Default case, x = {:?}", x),
    +    }
    +
    +    println!("at the end: x = {:?}, y = {:?}", x, y);
    +
    +    // Output =>
    +    // Matched, y = 5
    +    // at the end: x = Some(5), y = 10
    +}
    +
  • +
  • +

    It's possible to use the "or" using the | syntax

    +
    #![allow(unused)]
    +fn main() {
    +    let x = 1;
    +
    +    match x {
    +        1 | 2 => println!("one or two"),
    +        3 => println!("three"),
    +        _ => println!("anything"),
    +    }
    +
    +    // Output =>
    +    // one or two
    +}
    +
  • +
  • +

    You may also specify ranges in the arm, only numbers and char values are allowed.

    +
    #![allow(unused)]
    +fn main() {
    +    let x = 5;
    +
    +    match x {
    +        1..=5 => println!("one through five"),
    +        _ => println!("something else"),
    +    }
    +
    +    let y = 'c';
    +
    +    match y {
    +        'a'..='j' => println!("early ASCII letter"),
    +        'k'..='z' => println!("late ASCII letter"),
    +        _ => println!("something else"),
    +    }
    +
    +    // Output =>
    +    // one through five
    +    // early ASCII letter
    +}
    +
  • +
+
Destructuring
+
    +
  • +

    Destructuring structs

    +
    struct Point {
    +    x: i32,
    +    y: i32,
    +}
    +
    +fn main() {
    +    let p = Point { x: 0, y: 7 };
    +
    +    // It's possible to destructure a struct into variables
    +    let Point { x: a, y: b } = p;
    +    assert_eq!(0, a);
    +    assert_eq!(7, b);
    +
    +    // A shorthand, will directly store respective values in x and y
    +    let Point { x, y } = p;
    +    assert_eq!(0, x);
    +    assert_eq!(7, y);
    +}
    +
  • +
  • +

    Destructring as well as matching the structs

    +
    fn main() {
    +    let p = Point { x: 0, y: 7 };
    +
    +    match p {
    +        Point { x, y: 0 } => println!("On the x axis at {}", x),
    +        Point { x: 0, y } => println!("On the y axis at {}", y),
    +        Point { x, y } => println!("On neither axis: ({}, {})", x, y),
    +    }
    +}
    +
  • +
  • +

    Destructuring enums

    +
    enum Color {
    +    Rgb(i32, i32, i32),
    +    Hsv(i32, i32, i32),
    +}
    +
    +enum Message {
    +    Quit,
    +    Move { x: i32, y: i32 },
    +    Write(String),
    +    ChangeColor(Color),
    +}
    +
    +fn main() {
    +    let msg = Message::ChangeColor(Color::Hsv(0, 160, 255));
    +
    +    match msg {
    +        Message::Quit => {
    +            println!("The Quit variant has no data to destructure.")
    +        }
    +        Message::Move { x, y } => {
    +            println!(
    +                "Move in the x direction {} and in the y direction {}",
    +                x, y
    +            );
    +        }
    +        Message::Write(text) => println!("Text message: {}", text),
    +        Message::ChangeColor(r, g, b) => println!(
    +            "Change the color to red {}, green {}, and blue {}",
    +            r, g, b
    +        ),
    +        Message::ChangeColor(Color::Rgb(r, g, b)) => println!(
    +            "Change the color to red {}, green {}, and blue {}",
    +            r, g, b
    +        ),
    +        Message::ChangeColor(Color::Hsv(h, s, v)) => println!(
    +            "Change the color to hue {}, saturation {}, and value {}",
    +            h, s, v
    +        ),
    +    }
    +}
    +
  • +
  • +

    We can mix, match, and nest destructuring patterns in even more complex ways

    +
    #![allow(unused)]
    +fn main() {
    +    let ((feet, inches), Point { x, y }) = ((3, 10), Point { x: 3, y: -10 });
    +}
    +
  • +
+
Ignoring Values
+
    +
  • +

    You may use _ or .. to ignore values:

    +
      +
    • _ : It is used when you want to ignore a warning of unused variable, inside match expression for the remaining values or using a name that starts with underscore.
    • +
    • .. : Ignore remaining parts of the value.
    • +
    +
  • +
  • +

    You may use _ for ignoring an unused variable

    +
    fn main() {
    +    let _x = 5;
    +    let y = 10;
    +}
    +
  • +
  • +

    It's possible to use _ in functions

    +
    fn foo(_: i32, y: i32) {
    +    println!("This code only uses the y parameter: {}", y);
    +}
    +
    +fn main() {
    +    foo(3, 4);
    +}
    +
  • +
  • +

    There is a subtle difference between using only _ and using a name that starts with an underscore.

    +
      +
    • +

      The syntax _x still binds the value to the variable.

      +
      #![allow(unused)]
      +fn main() {
      +// FAIL: s lost it's ownership to _s, but was attempted to use again for printing
      +let s = Some(String::from("Hello!"));
      +
      +// _s binds the value, the value of s is moved
      +if let Some(_s) = s {
      +    println!("found a string");
      +}
      +
      +println!("{:?}", s);
      +}
      +
    • +
    • +

      Whereas _ doesn’t bind at all.

      +
      #![allow(unused)]
      +fn main() {
      +    let s = Some(String::from("Hello!"));
      +
      +    // _ never binds the value, hence s stays the owner
      +    if let Some(_) = s {
      +        println!("found a string");
      +    }
      +
      +    println!("{:?}", s);
      +}
      +
    • +
    +
  • +
+

Note: Ignoring a function parameter can be especially useful in some cases, for example, when implementing a trait when you need a certain type signature but the function body in your implementation doesn’t need one of the parameters. The compiler will then not warn about unused function parameters, as it would if you used a name instead.

+
    +
  • +

    Ignoring remaining parts of struct with ..

    +
    #![allow(unused)]
    +fn main() {
    +struct Point {
    +    x: i32,
    +    y: i32,
    +    z: i32,
    +}
    +
    +let origin = Point { x: 0, y: 0, z: 0 };
    +
    +match origin {
    +    // It prevents using _ multiple times
    +    Point { x, .. } => println!("x is {}", x),
    +}
    +}
    +
  • +
  • +

    Skipping middle values using ..

    +
    fn main() {
    +    let numbers = (2, 4, 8, 16, 32);
    +
    +    match numbers {
    +        (first, .., last) => {
    +            println!("Some numbers: {}, {}", first, last);
    +        }
    +    }
    +}
    +
  • +
  • +

    You can only use .. once per tuple

    +
    fn main() {
    +    let numbers = (2, 4, 8, 16, 32);
    +
    +    match numbers {
    +        (.., second, ..) => {
    +            println!("Some numbers: {}", second)
    +        },
    +    }
    +}
    +
  • +
+
Match Guard
+
    +
  • +

    Match Guard is an additional if condition specified after the pattern in a match arm that must also match along with the pattern matching, for that arm to be chosen.

    +
    #![allow(unused)]
    +fn main() {
    +    let num = Some(4);
    +
    +    match num {
    +        Some(x) if x % 2 == 0 => println!("The number {} is even", x),
    +        Some(x) => println!("The number {} is odd", x),
    +        None => (),
    +    }
    +}
    +
  • +
  • +

    The downside of this additional expressiveness is that the compiler doesn't try to check for exhaustiveness when match guard expressions are involved.

    +
  • +
  • +

    Using Match Guard with | operator

    +
    #![allow(unused)]
    +fn main() {
    +    let x = 4;
    +    let y = false;
    +
    +    match x {
    +        // It works like this => (4 | 5 | 6) if y => ...
    +        // And not like this => 4 | 5 | (6 if y) => ...
    +        4 | 5 | 6 if y => println!("yes"),
    +        _ => println!("no"),
    +    }
    +
    +    // Output =>
    +    // no
    +}
    +
  • +
  • +

    @ Bindings

    +
    #![allow(unused)]
    +fn main() {
    +// The at operator (@) lets us create a variable that holds a value at the same time
    +// we’re testing that value to see whether it matches a pattern.
    +
    +enum Message {
    +    Hello { id: i32 },
    +}
    +
    +let msg = Message::Hello { id: 5 };
    +
    +match msg {
    +    Message::Hello {
    +        id: id_variable @ 3..=7,
    +    } => println!("Found an id in range: {}", id_variable), // Value of "id" is stored in "id_variable", hence it was knwon here
    +    Message::Hello { id: 10..=12 } => {
    +        println!("Found an id in another range") // Range was specified, Value of "id" is not stored inside any variable, hence it is unknown here
    +    }
    +    Message::Hello { id } => println!("Found some other id: {}", id), // Range was not specified, Value of "id" is stored inside "id", hence it was known here
    +}
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/pg-02-unsafe-rust.html b/docs/ch-06-advanced-concepts/pg-02-unsafe-rust.html new file mode 100644 index 0000000..3d9afb0 --- /dev/null +++ b/docs/ch-06-advanced-concepts/pg-02-unsafe-rust.html @@ -0,0 +1,504 @@ + + + + + + Unsafe Rust - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Unsafe Rust

+

Rust has a second language hidden inside it that doesn’t enforce the memory safety guarantees: it’s called unsafe Rust and works just like regular Rust, but gives us extra superpowers.

+
    +
  • +

    Why it exists?

    +
      +
    • It’s better for Rust to reject some valid programs rather than accept some invalid programs.
    • +
    • That makes the static analysis of the Rust compiler conservative.
    • +
    • Although the code might be okay, if the Rust compiler doesn’t have enough information to be confident, it will reject the code.
    • +
    • In these cases, you can use unsafe code to tell the compiler, “Trust me, I know what I’m doing.”
    • +
    • Another reason Rust has an unsafe alter ego is that the underlying computer hardware is inherently unsafe. Hence, it'll allow you to write low-level systems code, such as directly interacting with the OS, or even write your own OS.
    • +
    +
  • +
  • +

    Any Downsides?

    +
      +
    • Use it at your own risk.
    • +
    • Problems due to memory unsafety, such as null pointer dereferencing, can occur.
    • +
    +
  • +
  • +

    Answers to some common misconceptions:

    +
      +
    • It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks: if you use a reference in unsafe code, it will still be checked.
    • +
    • Hence, you'll get only the above mentioned features along with some safety.
    • +
    • Also, it does not necessarily mean that code inside unsafe is necessarily dangerous or that it will definitely have memory safety problems.
    • +
    • It is programmer's responsibilty to ensure that the code is memory safe.
    • +
    +
  • +
  • +

    How to write code safely using unsafe?

    +
      +
    • Keep unsafe blocks small and it'll be easier to investigate the memory bugs.
    • +
    • You can also wrap unsafe code in a safe abstraction. It prevents the uses of unsafe from leaking out in all the other places.
    • +
    +
  • +
  • +

    What Superpowers can I get?

    +
      +
    • Dereference a raw pointer
    • +
    • Call an unsafe function or method
    • +
    • Access or modify a mutable static variable
    • +
    • Implement an unsafe trait
    • +
    • Access fields of unions
    • +
    +
  • +
+

Dereferencing a Raw Pointer

+
    +
  • +

    Raw Pointers are meant for unsafe rust and are similar to references. They are of two types:

    +
      +
    • *const T: Immutable Raw Pointer
    • +
    • *mut T: Mutable Raw Pointer
    • +
    +
  • +
  • +

    Here * is not a dereference operator but a part of the type name.

    +
  • +
  • +

    Unlike references and Smart Pointers, they break the following rules of Rust's safety:

    +
      +
    • They are allowed to ignore the borrowing rules by having both immutable and mutable pointers or multiple mutable pointers to the same location
    • +
    • Aren’t guaranteed to point to valid memory
    • +
    • Are allowed to be null
    • +
    • Don’t implement any automatic cleanup
    • +
    +
  • +
  • +

    This is how you can create raw pointers out of a variable.

    +
    #![allow(unused)]
    +fn main() {
    +let mut num = 5;
    +
    +let r1 = &num as *const i32;
    +let r2 = &mut num as *mut i32;
    +}
    +
  • +
  • +

    We can create raw pointers in safe code; we just can’t dereference raw pointers outside an unsafe block.

    +
    #![allow(unused)]
    +fn main() {
    +let mut num = 5;
    +
    +// Notice it's possible to create raw pointers inside safe code
    +let r1 = &num as *const i32;
    +let r2 = &mut num as *mut i32;
    +
    +// But to dereference a raw pointer you'll require an unsafe block
    +unsafe {
    +    println!("r1 is: {}", *r1);
    +    println!("r2 is: {}", *r2);
    +}
    +}
    +
  • +
  • +

    We broke the Rust's safety measures, as we are able to use a mutable and immutable reference to a value. Now, as a programmer we made sure that these references are used properly inside the unsafe block.

    +
  • +
  • +

    Uses of creating raw pointers:

    +
      +
    • Mostly used when interfacing with C code.
    • +
    • Calling an Unsafe Function or Method.
    • +
    • Building safe abstractions over unsafe code.
    • +
    +
  • +
+

Call an unsafe function or method

+
    +
  • +

    Defining an unsafe function:

    +
    #![allow(unused)]
    +fn main() {
    +unsafe fn dangerous() {}
    +}
    +
  • +
  • +

    Calling an unsafe function:

    +
    #![allow(unused)]
    +fn main() {
    +// By calling an unsafe function within an unsafe block,
    +// we’re saying that we’ve read this function’s documentation
    +// and take responsibility for upholding the function’s contracts.
    +unsafe {
    +    dangerous();
    +}
    +}
    +
  • +
+
Wrappping unsafe code in safe abstractions
+
    +
  • +

    We want to create a function that can split a vector into two by index

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Rust won't allow us to have two immutable borrow of the same vector
    +// Only we know that the two immutable borrow aren't overlapping and won't
    +// cause any trouble so we would like to silent the compiler by using unsafe
    +fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
    +    let len = slice.len();
    +
    +    assert!(mid <= len);
    +
    +    (&mut slice[..mid], &mut slice[mid..])
    +}
    +}
    +
  • +
  • +

    Here is it's implementation using unsafe

    +
    #![allow(unused)]
    +fn main() {
    +use std::slice;
    +
    +// Notice the function isn't using unsafe in it's signature, hence unsafe is
    +// wrapped in a safe abstraction
    +fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
    +    let len = slice.len();
    +    let ptr = slice.as_mut_ptr(); // Raw pointer
    +
    +    assert!(mid <= len);
    +
    +    // This is an acceptable use of unsafe
    +    // We need unsafe block to call these functions because
    +    // we're slicing and adding to the raw pointers, which may
    +    // have a chance to become invalid, iff programmer hasn't
    +    // written in properly
    +    unsafe {
    +        (
    +            slice::from_raw_parts_mut(ptr, mid), // It will give the slice of range [ptr, ptr + mid)
    +            slice::from_raw_parts_mut(ptr.add(mid), len - mid),
    +        )
    +    }
    +}
    +}
    +
  • +
  • +

    If you want to create a raw pointer with unexpected behaviour, you can do this

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: It won't point to a valid i32 value
    +use std::slice;
    +
    +let address = 0x01234usize;
    +let r = address as *mut i32;
    +
    +let slice: &[i32] = unsafe { slice::from_raw_parts_mut(r, 10000) };
    +}
    +
  • +
+
Call the code from other languages using extern
+
    +
  • +

    Rust uses extern keyword to use Foreign Function Interface (FFI), it is a way for a programming language to define functions and enable a different (foreign) programming language to call those functions.

    +
  • +
  • +

    Functions declared within extern blocks are always unsafe to call from Rust code.

    +
  • +
  • +

    This is how you can call C code in Rust:

    +
    // After extern you need to specify ABI (Application Binary Interface)
    +// Here we are using extern to use ABI of other languages
    +extern "C" {
    +    fn abs(input: i32) -> i32;
    +}
    +
    +fn main() {
    +    unsafe {
    +        println!("Absolute value of -3 according to C: {}", abs(-3));
    +    }
    +}
    +
  • +
  • +

    It is possible to write Rust code such that other languages can call.

    +
    #![allow(unused)]
    +fn main() {
    +// This code is not unsafe
    +#[no_mangle] // This doesn't allows the compiler to rename the functions name
    +pub extern "C" fn call_from_c() {   // Here we are using extern to create an ABI for other languages
    +    println!("Just called a Rust function from C!");
    +}
    +}
    +
  • +
+

Accessing or Modifying a Mutable Static Variable

+
    +
  • +

    In Rust, global variables are called static variables.

    +
  • +
  • +

    It is problematic as it may cause a data race if two threads are accessing the same mutable global variable.

    +
  • +
  • +

    This is how you can create a global or static variable.

    +
    static HELLO_WORLD: &str = "Hello, world!";
    +
    +fn main() {
    +    println!("name is: {}", HELLO_WORLD);
    +}
    +
  • +
  • +

    The references for static variable is 'static by default. So, we need to specify it's lifetime anywhere.

    +
  • +
  • +

    Also, it's completely safe to access an immutable static variable.

    +
  • +
+
Constants and Static Variable
+
+ + + +
ConstantsStatic Variable
Dynamic address in memoryFixed address in memory
Constants duplicate their data whenever used.Using the value will always access the same data.
Constants are never mutable.Static variable can be both mutable and immutable, and for modifying mutable static variable, you'll need to use unsafe.
+
+
Implementing Static Variables
+
    +
  • +

    This is how you can implement static variables.

    +
    static mut COUNTER: u32 = 0;
    +
    +fn add_to_count(inc: u32) {
    +    unsafe {
    +        COUNTER += inc;
    +    }
    +}
    +
    +fn main() {
    +    add_to_count(3);
    +
    +    unsafe {
    +        println!("COUNTER: {}", COUNTER);
    +    }
    +}
    +
  • +
  • +

    Notice that, it's not causing us any trouble because this code is single threaded, but if we tried to mutate the static variable in multiple threads it could lead to data races.

    +
  • +
  • +

    Static Variables (or Global Variables) are unsafe. That's because it's difficult to ensure that there are no data races for a global variable.

    +
  • +
  • +

    It’s preferable to use the concurrency techniques and thread-safe smart pointers.

    +
  • +
+

Implementing an unsafe trait

+
    +
  • +

    A trait is unsafe when at least one of its methods has some invariant that the compiler can’t verify.

    +
  • +
  • +

    Here's an implementation:

    +
    unsafe trait Foo {
    +    // methods go here
    +}
    +
    +unsafe impl Foo for i32 {
    +    // method implementations go here
    +}
    +
    +fn main() {}
    +
  • +
  • +

    If we implement a type that contains a type that is not Send or Sync (i.e. doesn't already implements the safe ways of sending a type in multiple threads), such as raw pointers, and we want to mark that type as Send or Sync, we must use unsafe.

    +
  • +
+

Accessing Fields of a Union

+
    +
  • A union is similar to a struct, but only one declared field is used in a particular instance at one time.
  • +
  • Unions are primarily used to interface with unions in C code.
  • +
  • Accessing union fields is unsafe because Rust can’t guarantee the type of the data currently being stored in the union instance.
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/pg-03-advanced-traits.html b/docs/ch-06-advanced-concepts/pg-03-advanced-traits.html new file mode 100644 index 0000000..b9232b8 --- /dev/null +++ b/docs/ch-06-advanced-concepts/pg-03-advanced-traits.html @@ -0,0 +1,499 @@ + + + + + + Advanced Traits - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Advanced Traits

+

Associated Types

+
    +
  • +

    This is how you can create an associate type inside a trait

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Iterator {
    +    type Item; // You see, this is the associated type
    +
    +    fn next(&mut self) -> Option<Self::Item>; // Now, this trait can use this type in it's signatures
    +}
    +}
    +
  • +
  • +

    Here's an implementation of this trait on one of our types Counter:

    +
    #![allow(unused)]
    +fn main() {
    +impl Iterator for Counter {
    +    type Item = u32;
    +
    +    fn next(&mut self) -> Option<Self::Item> {
    +        // --snip--
    +}
    +
  • +
  • +

    Now, you might be wondering, can't we do something like this with using traits with generics?

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Iterator<T> {
    +    fn next(&mut self) -> Option<T>;
    +}
    +}
    +
  • +
  • +

    Here are the differences between Associated Types and Traits with generics?

    +
    + + + +
    Traits with Associated TypesTraits with Generics
    There will be only one implementation for a type.There can be multiple implementations for a type, using individual concrete type.
    For Example, impl Iterator for CounterFor Example, impl Iterator<String> for Counter, and many more.
    Using functions of these traits will not require you to provide type annotations.You'll need to provide type annotations to provide which iteration to use.
    +
  • +
+

Operator Overloading

+
    +
  • +

    This is how you can add two types by using the + operator

    +
    // This library `std::ops` contains all the overloadable operators
    +use std::ops::Add;
    +
    +#[derive(Debug, Copy, Clone, PartialEq)]
    +struct Point {
    +    x: i32,
    +    y: i32,
    +}
    +
    +impl Add for Point {
    +    type Output = Point; // associated type will restrict the number of implementations
    +
    +    fn add(self, other: Point) -> Point { // This fn will decide how the `+` will behave for the type Point
    +        Point {
    +            x: self.x + other.x,
    +            y: self.y + other.y,
    +        }
    +    }
    +}
    +
    +fn main() {
    +    assert_eq!(
    +        Point { x: 1, y: 0 } + Point { x: 2, y: 3 },
    +        Point { x: 3, y: 3 }
    +    );
    +}
    +
  • +
  • +

    This is how the trait Add is defined in the Rust's library std::ops

    +
    #![allow(unused)]
    +fn main() {
    +// This syntax `<Rhs=Self>` is called "default parameters"
    +// In case, someone implementing this trait doesn't define the type
    +// then the type defined in default parameter will be used everywhere in this trait
    +trait Add<Rhs=Self> {
    +    type Output;
    +
    +    fn add(self, rhs: Rhs) -> Self::Output; // The "default parameter" is used here inside argument `rhs`
    +}
    +}
    +
  • +
  • +

    You can also customize Rhs, that'll mean you'll be adding a value of different type to the main type

    +
    #![allow(unused)]
    +fn main() {
    +use std::ops::Add;
    +
    +struct Millimeters(u32);
    +struct Meters(u32);
    +
    +impl Add<Meters> for Millimeters { // Modified Rhs to Meters, otherwise the default will be Self (or Millimeters)
    +    type Output = Millimeters;
    +
    +    fn add(self, other: Meters) -> Millimeters {
    +        Millimeters(self.0 + (other.0 * 1000))
    +    }
    +}
    +}
    +
  • +
  • +

    You’ll use default type parameters in two main ways:

    +
      +
    • To extend a type without breaking existing code
    • +
    • To allow customization in specific cases most users won’t need
    • +
    +
  • +
+

Function with same name in multiple traits

+
    +
  • +

    Following things are allowed:

    +
      +
    • Multiple traits to have functions with same name
    • +
    • A type implementing all these traits
    • +
    +
  • +
  • +

    Here's an implementation:

    +
    trait Pilot {
    +    fn fly(&self);
    +}
    +
    +trait Wizard {
    +    fn fly(&self);
    +}
    +
    +struct Human;
    +
    +impl Pilot for Human {
    +    fn fly(&self) {
    +        println!("This is your captain speaking.");
    +    }
    +}
    +
    +impl Wizard for Human {
    +    fn fly(&self) {
    +        println!("Up!");
    +    }
    +}
    +
    +impl Human {
    +    fn fly(&self) {
    +        println!("*waving arms furiously*");
    +    }
    +}
    +
    +fn main() {
    +    let person = Human;
    +    Pilot::fly(&person); // You'll have to pass the reference to the person, because it takes self as an argument
    +    Wizard::fly(&person); // if we had two types that both implement one trait, this self would recognize the correct type
    +    person.fly(); // The direct implementation will get called first, instead you can also use Human::fly(&person)
    +}
    +
  • +
  • +

    Let's see what happens if the associated function of a struct and a trait has same name

    +
    trait Animal {
    +    // Notice, there is no self passed inside,
    +    // multiple types can implement this trait,
    +    // Calling this function won't be direct,
    +    // as the trait won't be able to infer
    +    // which type's implementation to call
    +    fn baby_name() -> String;
    +}
    +
    +struct Dog;
    +
    +impl Dog {
    +    // This is an associated function, which can be called
    +    // using `Dog::baby_name()`, just like any other
    +    // associated fn without self
    +    fn baby_name() -> String {
    +        String::from("Spot")
    +    }
    +}
    +
    +impl Animal for Dog {
    +    fn baby_name() -> String {
    +        String::from("puppy")
    +    }
    +}
    +
    +fn main() {
    +    println!("A baby dog is called a {}", Dog::baby_name()); // The direct implementation will get called
    +    println!("A baby dog is called a {}", Animal::baby_name()); // Won't work, this associated fn don't has self, remember? It can't infer the type
    +    println!("A baby dog is called a {}", <Dog as Animal>::baby_name()); // We need to tell Rust that we want to use the implementation of Animal for Dog
    +}
    +
  • +
  • +

    This is the fully qualified syntax, used for all associated functions (including methods)

    +
    #![allow(unused)]
    +fn main() {
    +<Type as Trait>::function(receiver_if_method, next_arg, ...); // You don't need to provide all the information that Rust can infer
    +}
    +
  • +
+

Supertraits

+
    +
  • +

    Sometimes, you might need one trait to use another trait’s functionality.

    +
  • +
  • +

    The traits you would be using to build your own trait is called Supertrait.

    +
  • +
  • +

    One important thing is that, now your trait can only be implemented on the types that already implements the Supertrait.

    +
  • +
  • +

    Here's an implementation. This OutlinePrint can only be implemented on any trait that implements Display.

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt;
    +
    +trait OutlinePrint: fmt::Display { // It is also like bounding a trait with another trait
    +    fn outline_print(&self) {
    +        let output = self.to_string(); // It works only because all the types already implements `Display`
    +        let len = output.len();
    +        println!("{}", "*".repeat(len + 4));
    +        println!("*{}*", " ".repeat(len + 2));
    +        println!("* {} *", output);
    +        println!("*{}*", " ".repeat(len + 2));
    +        println!("{}", "*".repeat(len + 4));
    +    }
    +}
    +}
    +
  • +
  • +

    For reference, you can also implement fmt::Display on your type, like this:

    +
    #![allow(unused)]
    +fn main() {
    +struct Point {
    +    x: i32,
    +    y: i32,
    +}
    +
    +use std::fmt;
    +
    +impl fmt::Display for Point {
    +    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    +        write!(f, "({}, {})", self.x, self.y)
    +    }
    +}
    +}
    +
  • +
  • +

    Now, we know that Point implements Display, now we can implement OutlinePrint like this:

    +
    #![allow(unused)]
    +fn main() {
    +impl OutlinePrint for Point {}
    +}
    +
  • +
  • +

    The output will look like this for the fn outline_print

    +
    **********
    +*        *
    +* (1, 3) *
    +*        *
    +**********
    +
    +
  • +
+

Newtype Pattern

+

The Orphan Rule states that we’re allowed to implement a trait on a type as long as either the trait or the type are local to our crate.

+
    +
  • +

    The newtype pattern , helps us to get around this restriction.

    +
  • +
  • +

    All we need to do is to create a new type in a tuple struct.

    +
  • +
  • +

    Let's say, we want to implement Display on Vec<T>. Both of them are not local to our code, thereby orphan rule will prevent us from implementing it.

    +
  • +
  • +

    Now, we can use this newtype pattern for getting a workaround. What we'll be building is a wrapper that will make the Vec<T> local to us.

    +
    use std::fmt;
    +
    +struct Wrapper(Vec<String>); // A new struct, which is just a wrapper for Vec<String>
    +
    +impl fmt::Display for Wrapper { // Now, we can implement Display on Wrapper, but we can't do directly on Vec<T>
    +    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    +        write!(f, "[{}]", self.0.join(", ")) // self.0 is used to take the Vector out
    +    }
    +}
    +
    +fn main() {
    +    // The only disadvantage is that, we'll need to create
    +    // a vector inside a wrapper to use the Display trait
    +    let w = Wrapper(vec![String::from("hello"), String::from("world")]);
    +    println!("w = {}", w);
    +}
    +
  • +
  • +

    If we wanted the new type to have every method the inner type has, implementing the Deref trait on the Wrapper to return the inner type would be a solution.

    +
  • +
  • +

    If we don’t want the Wrapper type to have all the methods of the inner type — for example, to restrict the Wrapper type’s behavior — we would have to implement just the methods we do want manually.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/pg-04-advanced-types.html b/docs/ch-06-advanced-concepts/pg-04-advanced-types.html new file mode 100644 index 0000000..0e4f9c2 --- /dev/null +++ b/docs/ch-06-advanced-concepts/pg-04-advanced-types.html @@ -0,0 +1,407 @@ + + + + + + Advanced Types - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Advanced Types

+

Uses of the Newtype Pattern

+
    +
  • Type Safety: We can wrap u32 values with structs Millimeters and Meters. Now, if a value is stored in Millimeters, it is safe to say that this value can't call functions defined for Meters, and vice versa is true.
  • +
  • Abstraction: We could provide a People type to wrap a HashMap<i32, String> that stores a person’s ID associated with their name. Code using People would only interact with the public API we provide, such as a method to add a name string to the People collection; that code wouldn’t need to know that we assign an i32 ID to names internally.
  • +
+

Type Aliases

+
    +
  • +

    This is how you can create a type alias:

    +
    #![allow(unused)]
    +fn main() {
    +type Kilometers = i32;
    +}
    +
  • +
  • +

    How it works?

    +
      +
    • Values with type Kilometers will be treated same as i32.
    • +
    • We aren't creating a new type, we're just adding a synonym to i32, called Kilometers
    • +
    +
  • +
  • +

    Hence, doing something like this is totally fine:

    +
    #![allow(unused)]
    +fn main() {
    +let x: i32 = 5;
    +let y: Kilometers = 5;
    +
    +println!("x + y = {}", x + y); // This will work
    +}
    +
  • +
  • +

    The advantage is that it will give us the flexibility that any function with an argument of i32, we can pass Kilometers value to it.

    +
  • +
  • +

    The disadvantage is that we don't get the type checks as we get in the newtype pattern.

    +
  • +
  • +

    You can create an alias where you want to prevent naming a complex type.

    +
    #![allow(unused)]
    +fn main() {
    +type Thunk = Box<dyn Fn() + Send + 'static>; // A type that stores closure
    +
    +let f: Thunk = Box::new(|| println!("hi")); // We don't need to specify the longer type, instead we can say just "Thunk"
    +
    +fn takes_long_type(f: Thunk) { // Again, we don't need to specify the longer type, just "Thunk"
    +  ...
    +}
    +}
    +
  • +
+

Fun Fact: Thunk is a word for code to be evaluated at a later time, so it’s an appropriate name for a closure that gets stored

+
    +
  • +

    We can also shorten a Result values of I/O operations like this

    +
    #![allow(unused)]
    +fn main() {
    +type Result<T> = std::result::Result<T, std::io::Error>;
    +}
    +
  • +
  • +

    Now, Result<usize, Error> can be replaced with Result<usize> and Result<(), Error> can be replaced with Result<()>. Also, we can use the ? operator, since it's the same type.

    +
  • +
+

The never type !

+
    +
  • +

    This type never returns. In type theory lingo it is known as the empty type because it has no values.

    +
  • +
  • +

    Rust prefers to call it the never type because it stands in the place of the return type when a function will never return.

    +
    #![allow(unused)]
    +fn main() {
    +// People read it as, "the function bar(), returns never", and are called diverging functions
    +fn bar() -> ! {
    +    // --snip--
    +}
    +}
    +
  • +
  • +

    Rust never allows a variable to have different possible data types.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: You can't create a variable "guess", that may have either number or string
    +let guess = match guess.trim().parse() {
    +    Ok(_) => 5,
    +    Err(_) => "hello",
    +};
    +}
    +
  • +
  • +

    But this is possible:

    +
    #![allow(unused)]
    +fn main() {
    +let guess: u32 = match guess.trim().parse() {
    +    Ok(num) => num,
    +    Err(_) => continue, // Wait a minute, how's this even allowed?
    +};
    +}
    +
  • +
  • +

    The continue has a never type (!), which means it'll never return any value. That is, when Rust computes the type of guess, it looks at both match arms, the former with a value of u32 and the latter with a ! value. Because ! can never have a value, Rust decides that the type of guess is u32.

    +
  • +
  • +

    You can remember it this way, the ! can get coerced to any other type.

    +
  • +
  • +

    This is the original implementation of unwrap!(). Here, the return type is coerced to a single type T, and that's because panic!() ends the program and has a never type (!).

    +
    #![allow(unused)]
    +fn main() {
    +impl<T> Option<T> {
    +    pub fn unwrap(self) -> T {
    +        match self {
    +            Some(val) => val,
    +            None => panic!("called `Option::unwrap()` on a `None` value"),
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    The value of the expression of loop is also of the type !.

    +
    #![allow(unused)]
    +fn main() {
    +print!("forever ");
    +
    +loop {
    +    print!("and ever ");
    +}
    +}
    +
  • +
+

Dynamically Sized Traits and the Sized trait

+
    +
  • +

    DSTs or unsized types let us write code using values whose size can only be known at runtime.

    +
  • +
  • +

    So, Rust doesn't let us create strings with str (not &str):

    +
    #![allow(unused)]
    +fn main() {
    +let s1: str = "Hello there!";
    +let s2: str = "How's it going?";
    +}
    +
  • +
  • +

    Why's that?

    +
      +
    • Rust needs to know a fixed size of a type. Here s1 takes 12 bytes and s2 takes 15 bytes.
    • +
    • It's not possible to accomodate all the strings in a single fixed size.
    • +
    +
  • +
  • +

    What's the solution?

    +
      +
    • &str is the solution.
    • +
    • It stores two values: the address of the str and its length.
    • +
    • So, that makes &str will only need two usize, one for the address and the other for the length.
    • +
    • That's why, we always know the size of a &str, no matter how long the string it refers to is.
    • +
    +
  • +
  • +

    In general, this is the way in which dynamically sized types are used in Rust.

    +
  • +
  • +

    The golden rule of dynamically sized types is that we must always put values of dynamically sized types behind a pointer of some kind.

    +
  • +
  • +

    The traits can be Dynamically Sixed too. All we need to do is to put them behind a pointer, such as &dyn Trait or Box<dyn Trait>.

    +
  • +
  • +

    The Sized trait

    +
      +
    • +

      A trait that determines whether or not a type's size is known at compile time.

      +
    • +
    • +

      You may create a generic function like this:

      +
      #![allow(unused)]
      +fn main() {
      +fn generic<T>(t: T) {
      +    // --snip--
      +}
      +}
      +
    • +
    • +

      But, Rust treats it as if it was re-written like this:

      +
      #![allow(unused)]
      +fn main() {
      +// This means generic functions will only work on
      +// types who's size is known at the compile time
      +fn generic<T: Sized>(t: T) {
      +    // --snip--
      +}
      +}
      +
    • +
    • +

      It's possible to get over with this restriction:

      +
      #![allow(unused)]
      +fn main() {
      +// The ?Sized means “T may or may not be Sized”
      +// Now, this fn will accept T whose size may or may not be known at compile time
      +// The ?Trait syntax with this meaning is only available for Sized, not any other traits.
      +// Also, notice, we're using `&T` and not `T`, now we'll use `T` behind some kind of pointer, here it's reference
      +fn generic<T: ?Sized>(t: &T) {
      +    // --snip--
      +}
      +}
      +
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/pg-05-advanced-functions-and-closures.html b/docs/ch-06-advanced-concepts/pg-05-advanced-functions-and-closures.html new file mode 100644 index 0000000..ab4d8b9 --- /dev/null +++ b/docs/ch-06-advanced-concepts/pg-05-advanced-functions-and-closures.html @@ -0,0 +1,310 @@ + + + + + + Advanced Functions and Closures - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Advanced Functions and Closures

+

Pass functions to the functions

+
    +
  • +

    Just like you can pass closures to the functions, you can also pass "funtions to the functions".

    +
  • +
  • +

    There's a type represented by fn, (don't confuse it with Fn, that is a closure trait).

    +
  • +
  • +

    This fn type is called Function Pointer.

    +
  • +
  • +

    Here's how you can use it:

    +
    fn add_one(x: i32) -> i32 {
    +  x + 1
    +}
    +
    +fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 {
    +  f(arg) + f(arg)
    +}
    +
    +fn main() {
    +  let answer = do_twice(add_one, 5);
    +  println!("Answer: {}", answer);
    +}
    +
  • +
  • +

    Function pointers implement all three of the closure traits (Fn, FnMut, and FnOnce), so you can always pass a function pointer as an argument for a function that expects a closure.

    +
  • +
  • +

    So, instead of passing a closure, you can simply enter a function name, and it will work.

    +
    #![allow(unused)]
    +fn main() {
    +// You can either do this
    +let list_of_numbers = vec![1, 2, 3];
    +let list_of_strings: Vec<String> =
    +    list_of_numbers
    +    .iter()
    +    .map(|i| i.to_string()) // Provide the closure
    +    .collect();
    +
    +
    +// Or you can simply enter the function name
    +let list_of_numbers = vec![1, 2, 3];
    +let list_of_strings: Vec<String> =
    +    list_of_numbers
    +    .iter()
    +    .map(ToString::to_string) // Enter the function name, wohoo!
    +    .collect();
    +}
    +
  • +
  • +

    You can use enum variants as an initializer function. Also, we now know we can pass a function inside a function, so here's what we can also do:

    +
    #![allow(unused)]
    +fn main() {
    +enum Status {
    +    Value(u32), // So, this works as an initializer function too
    +    Stop,
    +}
    +
    +let list_of_statuses: Vec<Status> = (0u32..20).map(Status::Value).collect(); // This will create Status instances of the variant Value
    +}
    +
  • +
  • +

    You can do the same thing by using closures, it's more of a personal preference. You can use whichever feels more clearer to you.

    +
  • +
+

Return Closures

+
    +
  • +

    First of all, you can't return functions, that's not allowed in rust.

    +
  • +
  • +

    Technically, you are not alllowed to use fn (Funciion Pointer) as a return type, but you can return closures.

    +
  • +
  • +

    Closures are represented by traits.

    +
  • +
  • +

    To return a type that implements a trait, you can do either of the two:

    +
      +
    • Return a concrete type
    • +
    • Use dynamic dispatch (it'll allow the function to know concrete type at runtime).
    • +
    +
  • +
  • +

    Closures don't have the concrete type, you can't send them directly, you'll need to use dynamic dispatch.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: This will also not work
    +fn returns_closure() -> dyn Fn(i32) -> i32 {
    +    |x| x + 1
    +}
    +}
    +
  • +
  • +

    Now, Rust needs one more thing, the size of the closure. Remember the Sized trait.

    +
  • +
  • +

    The solution to this problem, is to wrap the return type with some sort of pointer, in case of strings we use references. For example, using &str instead of str.

    +
  • +
  • +

    Here, we'll use Box<T> to simply store it on the heap.

    +
    #![allow(unused)]
    +fn main() {
    +// This is how you can successfully return a closure
    +fn returns_closure() -> Box<dyn Fn(i32) -> i32> {
    +    Box::new(|x| x + 1)
    +}
    +}
    +
  • +
  • +

    In case you want to understand better how you can use traits with dynamic dispatch, you can check here.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/pg-06-macros.html b/docs/ch-06-advanced-concepts/pg-06-macros.html new file mode 100644 index 0000000..7506aeb --- /dev/null +++ b/docs/ch-06-advanced-concepts/pg-06-macros.html @@ -0,0 +1,546 @@ + + + + + + Macros - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Macros

+
    +
  • +

    Rust code that writes more rust code are called Macros. This kind of programming is called metaprogramming.

    +
  • +
  • +

    Here are the following things that you can only do with macros and not functions:

    +
      +
    • Macros can take variable number of parameters, unlike functions. You can call println!("hello") with one argument or println!("hello {}", name) with two arguments.
    • +
    • Macros are expanded before the compiler interprets the meaning of the code. For example, macros can implement a trait on a given type. Functions can't because it gets called at runtime and a trait needs to be implemented at compile time.
    • +
    +
  • +
  • +

    Drawbacks of Macros:

    +
      +
    • It's hard to read, write and maintain.
    • +
    • You can define functions anywhere, but you need to bring the macros in scope before you can call them.
    • +
    +
  • +
+

Declarative Macros

+
    +
  • They are the most widely used types of macros.
  • +
  • Also referred to as "macros by example", “macro_rules! macros”, or just plain “macros”.
  • +
  • They are similar to match statements, except they match on literal rust code, instead of some value.
  • +
  • Here is a simple implementation of the vec! macro:
  • +
+
#![allow(unused)]
+fn main() {
+#[macro_export]
+macro_rules! vec {
+    ( $( $x:expr ),* ) => {
+        {
+            let mut temp_vec = Vec::new();
+            $(
+                temp_vec.push($x);
+            )*
+            temp_vec
+        }
+    };
+}
+}
+
    +
  • +

    Explanation:

    +
      +
    • #[macro_export] - You can't export the macro without this line. For using this macro, you'll have to bring the crate into scope where this macro is defined.
    • +
    • macro_rules! name-of-macro - Then we declare the macro with the macro_rules! along with the name of the macro without the exclamation mark. In our case, vec.
    • +
    • ( $( $x:expr ),* ) => - This is the match arm of the macro. In our case, the macro has only one match arm, if such an expression is passed to the macro which doesn't fall into it, it'll fail. Some complex macros will have multiple match arms. +
        +
      • ( ) => - A parantheses surrounds the whole pattern. It indicates that this is a match arm.
      • +
      • $( ) - Anything inside this parantheses will capture values.
      • +
      • $x: expr - This matches any Rust expression and gives the expression the name $x.
      • +
      • , - It means that the literal , might appear after the code that matches the code in $().
      • +
      • * - It means that the pattern matches zero or more of whatever precedes the *.
      • +
      • $()* - For every time the expression in $() gets matched, the code inside $()* will get called.
      • +
      +
    • +
    +
  • +
  • +

    In Action:

    +
      +
    • +

      So, when we'll write vec![1, 2, 3] it will get compiled into, the following code:

      +
      #![allow(unused)]
      +fn main() {
      +{
      +  let mut temp_vec = Vec::new();
      +  temp_vec.push(1);
      +  temp_vec.push(2);
      +  temp_vec.push(3);
      +  temp_vec
      +}
      +}
      +
    • +
    +
  • +
+

Note: This vector that we created over here can take any number of arguments of any type. The implementation of vec! macro in standard library only accepts data of one type and it also has some extra code for preallocating memory for those types.

+

Procedural Macros

+
    +
  • +

    They act more like functions and they are a type of procedure.

    +
  • +
  • +

    They don't match against a pattern.

    +
  • +
  • +

    They simply accept some code, operates on it and produces some new code.

    +
  • +
  • +

    There are three kinds of procedural macros:

    +
      +
    • Custom Derive
    • +
    • Attribute Like
    • +
    • Function Like
    • +
    +
  • +
+
Custom Derive Macros
+
    +
  • +

    Using custom derive macros looks like this (it is used over structs or enums):

    +
    #![allow(unused)]
    +fn main() {
    +#[derive(HelloMacro)]
    +struct Pancakes;
    +}
    +
  • +
  • +

    Defining proceudral macros looks like this:

    +
    #![allow(unused)]
    +fn main() {
    +use proc_macro;
    +
    +#[some_attribute] // This attribute tells us which kind of procedural macro we are creating
    +pub fn some_name(input: TokenStream) -> TokenStream { // TokenStream is a type imported from the crate `proc_macro`. It represents a sequence of tokens.
    +}
    +}
    +
  • +
  • +

    An Example of a Custom Derive macro:

    +
      +
    • +

      What we want? We want to print the name of the struct which tries to call the function hello_macro().

      +
      use hello_macro::HelloMacro; // A trait which has an associated function hello_macro()
      +use hello_macro_derive::HelloMacro; // A macro that we can use
      +
      +#[derive(HelloMacro)]
      +struct Pancakes;
      +
      +fn main() {
      +    Pancakes::hello_macro(); // This will print "Hello, Macro! My name is Pancakes!"
      +}
      +
    • +
    • +

      Part 1: Defining Traits

      +
        +
      • +

        First of all define the trait in different crate, created using cargo new hello_macro --lib:

        +
        #![allow(unused)]
        +fn main() {
        +// File: src/lib.rs
        +pub trait HelloMacro {
        +    fn hello_macro();
        +}
        +}
        +
      • +
      • +

        Then implement the trait for every struct (without using macro, this is what it looks like):

        +
        // File: src/main.rs
        +use hello_macro::HelloMacro;
        +
        +struct Pancakes;
        +
        +impl HelloMacro for Pancakes {
        +    fn hello_macro() {
        +        println!("Hello, Macro! My name is Pancakes!"); // Programmer will have to implement this fn for each struct.
        +    }
        +}
        +
        +fn main() {
        +    Pancakes::hello_macro();
        +}
        +
      • +
      • +

        Additionally, we can’t yet provide the hello_macro function with default implementation that will print the name of the type the trait is implemented on: Rust doesn’t have reflection capabilities, so it can’t look up the type’s name at runtime.

        +
      • +
      +
    • +
    • +

      Part 2: Implementing Procedural Macros

      +
        +
      • +

        At the time of this writing, procedural macros need to be in their own crate. Eventually, this restriction might be lifted. So, first create a new crate using:

        +
        cargo new hello_macro_derive --lib
        +
        +
      • +
      • +

        This trait will work in parallel with the trait defined above. Both the traits are tightly related. Hence we'll have to keep both the crates (hello_macro and hello_macro_derive) in one directory. In case someone wants to use the macro, they'll have to pull both the crates as dependencies.

        +
      • +
      • +

        So inside the cargo.toml file of the crate hello_macro_derive, add the following lines:

        +
        [lib]
        +proc-macro = true
        +
        +[dependencies]
        +syn = "1.0"
        +quote = "1.0"
        +
        +
      • +
      • +

        Now, we can define the macro inside the src/lib.rs file of the crate hello_macro_derive. The code for most of the procedural macros will be same as the code block below:

        +
        #![allow(unused)]
        +fn main() {
        +// Filename: src/lib.rs
        +use proc_macro::TokenStream; // this crate, proc_macro comes with rust, it allows to read and manipulate rust code from our code
        +use quote::quote; // Transforms DeriveInput -> Rust Code
        +use syn; // Transforms Rust Code -> DeriveInput
        +
        +#[proc_macro_derive(HelloMacro)] // This line makes sure that whenever a user specifies #[derive(HelloMacro)] on a type, it calls the below fn
        +pub fn hello_macro_derive(input: TokenStream) -> TokenStream {
        +    // Construct a representation of Rust code as a syntax tree
        +    // that we can manipulate
        +    let ast = syn::parse(input).unwrap();
        +
        +    // Build the trait implementation
        +    impl_hello_macro(&ast)
        +}
        +}
        +
      • +
      • +

        Once the line let ast = syn::parse(input).unwrap(); is executed (let's say for the struct Pancakes {};), it creates a DeriveInput struct, which looks like this:

        +
        #![allow(unused)]
        +fn main() {
        +DeriveInput {
        +    // --snip--
        +
        +    ident: Ident {
        +        ident: "Pancakes",
        +        span: #0 bytes(95..103)
        +    },
        +    data: Struct(
        +        DataStruct {
        +            struct_token: Struct,
        +            fields: Unit,
        +            semi_token: Some(
        +                Semi
        +            )
        +        }
        +    )
        +}
        +}
        +
      • +
      +
    • +
    • +

      Now, we can convert the DeriveInput into TokenStream using the function impl_hello_macro(&ast):

      +
      #![allow(unused)]
      +fn main() {
      +fn impl_hello_macro(ast: &syn::DeriveInput) -> TokenStream {
      +    let name = &ast.ident; // type is not &str but &syn::Ident
      +    let gen = quote! { // it turns Rust syntax tree data structures into tokens of source code
      +        impl HelloMacro for #name {
      +            fn hello_macro() {
      +                println!("Hello, Macro! My name is {}!", stringify!(#name)); // quote! is used here to replace #name with the value in the variable name
      +            }
      +        }
      +    };
      +
      +    gen.into() // quote! can't directly convert into TokenStream so we call into()
      +}
      +}
      +
    • +
    • +

      The stringify! macro used here is built into Rust. It takes a Rust expression, such as 1 + 2, and at compile time turns the expression into a string literal, such as "1 + 2". This is different than format! or println!, macros which evaluate the expression and then turn the result into a String.

      +
    • +
    • +

      Now, we can create a crate named pancakes and then use our macro inside of it.

      +
      cargo new pancakes
      +
      +
    • +
    • +

      The file structure should be like this:

      +
      .
      +├── hello_macro
      +│   ├── hello_macro_derive
      +│   │   └── ..
      +│   └── ..
      +└── pancakes
      +    └── ..
      +
      +
    • +
    • +

      Then migrate the code as explained in the starting of this example to src/main.rs, and also add these lines to the dependencies:

      +
      hello_macro = { path = "../hello_macro" }
      +hello_macro_derive = { path = "../hello_macro/hello_macro_derive" }
      +
      +
    • +
    +
  • +
+
Attribute Like Macros
+
    +
  • +

    In Custom Derive Macros, the derive keyword is used and it generates some new code for the struct or enum.

    +
  • +
  • +

    Instead of generating new code, Attribute like macros allow you to create new attributes.

    +
  • +
  • +

    Unlike Custom Derive Macros, Attribute like macros are not limited to just structs or enums and can be applied to other items, such as functions.

    +
  • +
  • +

    Here's an example of how it can be used on a function:

    +
    #![allow(unused)]
    +fn main() {
    +#[route(GET, "/")]
    +fn index() {
    +  ..
    +}
    +}
    +
  • +
  • +

    This #[route] attribute would be defined by the framework as a procedural macro. The signature of the macro definition function would look like this:

    +
    #![allow(unused)]
    +fn main() {
    +#[proc_macro_attribute]
    +pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
    +  // attr: The GET, "/" will get stored in this argument
    +  // item: The code attached to above macro (fn index() {} in our case) will get stored in this argument
    +  ..
    +}
    +}
    +
  • +
  • +

    Other than that, attribute-like macros work the same way as custom derive macros: you create a crate with the proc-macro crate type and implement a function that generates the code you want!

    +
  • +
+
Function Like Macros
+
    +
  • +

    These macros look like function calls but with a !.

    +
  • +
  • +

    They're more flexible than functions as they can accept variable number of arguments.

    +
  • +
  • +

    In declarative macros (macro_rules ! macro) uses match-like syntax, the Function Like Macros take a TokenStream parameter, similar to the other two procedural macros.

    +
  • +
  • +

    Here's an example, here we want to parse SQL code:

    +
    #![allow(unused)]
    +fn main() {
    +let sql = sql!(SELECT * FROM posts WHERE id=1);
    +}
    +
  • +
  • +

    If we tried to build this macro with the macro_rules ! macro, then match-like pattern would've made it hard to implement. With using TokenStream it is a bit easier to implement:

    +
    #![allow(unused)]
    +fn main() {
    +#[proc_macro]
    +pub fn sql(input: TokenStream) -> TokenStream {
    +  ..
    +}
    +}
    +
  • +
  • +

    It's implementation is closer to that of custom derive macros.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-06-advanced-concepts/pg-07-miscellaneous.html b/docs/ch-06-advanced-concepts/pg-07-miscellaneous.html new file mode 100644 index 0000000..78c4319 --- /dev/null +++ b/docs/ch-06-advanced-concepts/pg-07-miscellaneous.html @@ -0,0 +1,312 @@ + + + + + + Miscellaneous - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Miscellaneous

+

Raw Identifers

+
    +
  • +

    Identifiers are the names of the functions, variable, structs etc.

    +
  • +
  • +

    Keywords are the words reserved by Rust. For example, if, else, match.

    +
  • +
  • +

    You're not allowed to use keywords as identifiers, but there's a hack.

    +
  • +
  • +

    Raw identifiers are the syntax that lets you use keywords where they wouldn’t normally be allowed. You use a raw identifier by prefixing a keyword with r#.

    +
  • +
  • +

    Here's something that you're not allowed to do:

    +
  • +
+
#![allow(unused)]
+fn main() {
+// FAIL: match is a keyword, but is used as an identifier
+fn match(needle: &str, haystack: &str) -> bool {
+    haystack.contains(needle)
+}
+}
+
    +
  • If there's a need to use a keyword as identifier, you may use raw identifiers:
  • +
+
fn r#match(needle: &str, haystack: &str) -> bool {
+    haystack.contains(needle)
+}
+
+fn main() {
+    assert!(r#match("foo", "foobar"));
+}
+
    +
  • What's the use? +
      +
    • Let's say you're integrating some code written in other languages to your Rust project. Now, there are some functions written in other languages whose name are keywords in Rust. So, you may use raw identifiers to overcome Rust's restriction.
    • +
    • try isn’t a keyword in the 2015 edition but is in the 2018 edition. If you depend on a library that’s written using the 2015 edition and has a try function, you’ll need to use the raw identifier syntax, r#try in this case, to call that function from your 2018 edition code.
    • +
    +
  • +
+

Derivable Traits

+
Debug
+
    +
  • It can used to print elements by using :? within {} placeholders.
  • +
  • The Debug trait is required, for example, in use of the assert_eq! macro. This macro prints the values of instances given as arguments if the equality assertion fails so programmers can see why the two instances weren’t equal.
  • +
+
PartialEq
+
    +
  • By deriving this trait you can use == and != operators on structs an enums.
  • +
  • It implements the eq method.
  • +
+
Eq
+
    +
  • +

    It's purpose is to check that the annotated types are equal to itself.

    +
  • +
  • +

    It can only be implemented by the types that already implements PartialEq.

    +
  • +
  • +

    The mathematical difference between Eq and PartialEq is that Eq is reflexive, symmetric and transitive. However,PartialEq only guarantees symmetric and transitive.

    +
    reflexive: a == a;
    +symmetric: a == b implies b == a; and
    +transitive: a == b and b == c implies a == c.
    +
    +
  • +
  • +

    An example of a type that follows PartialEq and doesn't follows Eq is floating point number. The implementation of floating point numbers states that two instances of the not-a-number (NaN) value are not equal to each other.

    +
  • +
  • +

    An example of when Eq is required is for keys in a HashMap<K, V> so the HashMap<K, V> can tell whether two keys are the same.

    +
  • +
+
PartialOrd
+
    +
  • A type that implements PartialOrd can be used with the <, >, <=, and >= operators.
  • +
  • The PartialOrd trait allows you to compare instances of a type for sorting purposes.
  • +
  • It implements the partial_cmp method, which returns an Option<Ordering> that will be None when the values given don’t produce an ordering.
  • +
  • Since floating point numbers can't compare (or order) the not-a-number (NaN), it doesn't support this trait.
  • +
  • When derived on enums, variants declared earlier in the enum definition are considered less than the variants listed later.
  • +
  • When derived on structs, it compares two instances by comparing the value in each field in the order in which the fields appear in the struct definition.
  • +
+
Ord
+
    +
  • It implements the cmp method, which returns an Ordering rather than an Option<Ordering> because a valid ordering will always be possible.
  • +
  • You can only apply the Ord trait to types that also implement PartialOrd and Eq (and Eq requires PartialEq).
  • +
  • When derived on structs and enums, cmp behaves the same way as the derived implementation for partial_cmp does with PartialOrd.
  • +
  • An example of when Ord is required is when storing values in a BTreeSet<T>, a data structure that stores data based on the sort order of the values.
  • +
+
Clone
+
    +
  • It allows you to perform a deep copy (copying the data on heap) of a value.
  • +
  • When you derive clone on a type, then it is required that the type's fields must also derive the clone.
  • +
+
Copy
+
    +
  • It allows you to copy data on the stack.
  • +
  • Copying is a lot faster than cloning but it's undesirable for large items. For Example, String.
  • +
  • A type that implements copy must also implement clone. It is trivial because Clone performs the same task as Copy.
  • +
+
Hash
+
    +
  • It allows you to take an instance of a type of arbitrary size and map that instance to a value of fixed size using a hash function.
  • +
  • It is required in storing keys in a HashMap<K, V> to store data efficiently.
  • +
  • If a type implements this trait then it's required that all of it fields must also implement this trait.
  • +
+
Default
+
    +
  • It allows you to create a default value of a type.
  • +
  • The Default::default function is commonly used in combination with the struct update syntax.
  • +
  • You can customize a few fields of a struct and then set and use a default value for the rest of the fields by using ..Default::default().
  • +
  • You can use the method unwrap_or_default() on Option<T> instances.
  • +
  • For Example, If the Option<T> is None, the method unwrap_or_default will return the result of Default::default for the type T stored in the Option<T>.
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-07-rust-tests/main.html b/docs/ch-07-rust-tests/main.html new file mode 100644 index 0000000..2ce4892 --- /dev/null +++ b/docs/ch-07-rust-tests/main.html @@ -0,0 +1,197 @@ + + + + + + Rust Tests - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Rust Tests

+

You'll learn about the different forms of tests written in Rust. You'll also learn how to do Test Driven Development.

+

Fun Fact: In Rust, each test is run in a new thread, and when the main thread sees that a test thread has died, the test is marked as failed.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-07-rust-tests/pg-01-getting-started.html b/docs/ch-07-rust-tests/pg-01-getting-started.html new file mode 100644 index 0000000..63b2b80 --- /dev/null +++ b/docs/ch-07-rust-tests/pg-01-getting-started.html @@ -0,0 +1,409 @@ + + + + + + Getting Started - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Getting Started

+
    +
  • +

    You can create a boilerplate rust project that automatically has tests using the following commmand:

    +
    cargo new <project-name> --lib
    +
    +
  • +
  • +

    A test in Rust is a function that’s annotated with the test attribute.

    +
  • +
  • +

    The bodies of test functions typically perform these three actions:

    +
      +
    1. Set up any needed data or state.
    2. +
    3. Run the code you want to test.
    4. +
    5. Assert the results are what you expect.
    6. +
    +
  • +
  • +

    Two attributes to keep in mind:

    +
      +
    1. #[test] - To change a function into a test function, add #[test] on the line before fn.
    2. +
    3. #[should_panic] - To declare before each test function that if this function panics then it is working correctly.
    4. +
    +
  • +
  • +

    After adding the attribute #[test], the rust compiler is ready to run cargo test.

    +
  • +
  • +

    When you run the command, behind the scenes Rust builds a test runner binary that runs the functions annotated with the test attribute.

    +
  • +
  • +

    You can write the functions that are not tests inside the tests module, for example a helper function. So, the only way for the Rust to know whether a function is a test function is through the #[test] attribute.

    +
  • +
  • +

    The tests fail when something in the test function panics.

    +
  • +
  • +

    Here is the table for the logging statistics:

    +
    + + + + + +
    StatisticMeaning
    PassedPassing Tests
    FailedFailing Tests
    IgnoredTests that were ignored due to #[ignore] attribute.
    MeasuredThis is for benchmark tests that measure performance. (only in nightly Rust)
    Filtered OutWhile running specific tests, the left out tests are called filtered.
    +
  • +
  • +

    Here is the table for the macros you mauy use for assertion:

    +
    + + + + +
    Assertion MacroUse CaseArgument(s)
    assert!()If the condition is true then passes else panics.Condition
    panic!()Panics or fails the test with a message if given.Message
    assert_eq!()Passes if equal else panics. (==)(actual, expected)
    assert_ne!()Passes if not equal else panics. (!=)(actual, not_expected)
    +
  • +
  • +

    In rust the convention doesn't matter, we can either use actual as first argument or as second. It is the programmer's convention.

    +
  • +
  • +

    In case we are writing the tests in a module inside the same file then we'll need to use the super::*; inside the tests module to pull all the outside code of the current file.

    +
  • +
+
#![allow(unused)]
+fn main() {
+//Filename: src/lib.rs
+fn do_something() {
+  ...
+}
+
+
+#[cfg(test)]
+mod tests {
+    // The line below will pull all the code of outer module inside.
+    use super::*;
+
+    #[test]
+    fn test_do_something() {
+      ...
+    }
+}
+}
+
    +
  • +

    For structs and enums that you define, you’ll need to implement PartialEq to assert that values of those types are equal or not equal.

    +
    #![allow(unused)]
    +fn main() {
    +#[derive(PartialEq, Debug)]
    +struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    // This test will only work if we'll add #[derive(PartialEq)] to the struct or enum.
    +    #[test]
    +    fn rectangle_is_of_same_size() {
    +        let rectangle1 = Rectangle {
    +            width: 8,
    +            height: 7,
    +        };
    +        let rectangle2 = Rectangle {
    +            width: 8,
    +            height: 7,
    +        };
    +
    +        assert_eq!(rectangle1, rectangle2);
    +    }
    +}
    +}
    +
  • +
  • +

    You’ll need to implement Debug to the struct or enum if you want to see the logs that say (left != right).

    +
    ---- tests::rectangle_is_of_same_size stdout ----
    +thread 'tests::rectangle_is_of_same_size' panicked at 'assertion failed: `(left == right)`
    +  left: `Rectangle { width: 8, height: 7 }`,
    + right: `Rectangle { width: 8, height: 8 }`', src/lib.rs:56:9
    +
    +
  • +
  • +

    The assert!() macro also allows the message to show in case the test fails.

    +
    #![allow(unused)]
    +fn main() {
    +assert!(
    +  result.contains("something"),
    +  "The result doesn't contain something. This was the actual result: {}",
    +  result
    +)
    +}
    +
  • +
  • +

    There is an attribute named #[should_panic], that you can write before any test function to declare that if this function panics then it is working correctly.

    +
    #![allow(unused)]
    +fn main() {
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    #[test]
    +    #[should_panic]
    +    fn greater_than_100() {
    +        Guess::new(200);
    +    }
    +}
    +}
    +
  • +
  • +

    This is the note that appears in case the function doesn't panics.

    +
    note: test did not panic as expected
    +
    +
  • +
  • +

    To make the ![should_panic] attribute more precise we can add the expected parameter and pass a string to it such that the string is a substring of the relevant panic message.

    +
    #![allow(unused)]
    +fn main() {
    +impl Guess {
    +    pub fn new(value: i32) -> Guess {
    +        if value < 1 {
    +            panic!(
    +                "Guess value must be greater than or equal to 1, got {}.",
    +                value
    +            );
    +        } else if value > 100 {
    +            panic!(
    +                "Guess value must be less than or equal to 100, got {}.",
    +                value
    +            );
    +        }
    +
    +        Guess { value }
    +    }
    +}
    +
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    // The below test only passes if both the two conditions satisfies:
    +    // 1. Code should panic
    +    // 2. The string passed in expected parameter is a substring of the panic message.
    +    #[test]
    +    #[should_panic(expected = "Guess value must be less than or equal to 100")]
    +    fn greater_than_100() {
    +        Guess::new(200);
    +    }
    +}
    +}
    +
  • +
  • +

    There is also an alternative approach possible to use Ok() and Err() inside a test.

    +
    #![allow(unused)]
    +fn main() {
    +#[cfg(test)]
    +mod tests {
    +    #[test]
    +    fn it_works() -> Result<(), String> {
    +        if 2 + 2 == 4 {
    +            Ok(())
    +        } else {
    +            Err(String::from("two plus two does not equal four"))
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    Pros: The only upside of writing tests such that they return a Result<T, E> enables you to use the question mark (?) operator in the body of tests, which can be a convenient way to write tests that should fail if any operation within them returns an Err variant.

    +
  • +
  • +

    Cons: If we write tests in above manner than we cannot use #[should_panic] attribute because we can use Err().

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-07-rust-tests/pg-02-controlling-tests.html b/docs/ch-07-rust-tests/pg-02-controlling-tests.html new file mode 100644 index 0000000..d15e3ef --- /dev/null +++ b/docs/ch-07-rust-tests/pg-02-controlling-tests.html @@ -0,0 +1,285 @@ + + + + + + Controlling Tests - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Controlling Tests

+
    +
  • +

    Command Line Options either go to:

    +
      +
    1. cargo test - Run this command for help, cargo test --help
    2. +
    3. The resulting test binary - Run this command for help, cargo test -- --help.
    4. +
    +
  • +
  • +

    In simple terms, if you want to pass something into tests binary you'll have to seperate them with --.

    +
  • +
+

Threading while running Tests

+
    +
  • +

    By default, Rust runs tests in different threads.

    +
  • +
  • +

    In case the test depends on each other. For example, tests perform read, write, and assert to a same file. If run concurrently, the file will get corrupt and the tests might fail.

    +
  • +
  • +

    To run tests on a single thread, one by one we can do it by:

    +
    cargo test -- --test-threads=1
    +
    +
  • +
  • +

    This command will prevent parallelism, though the tests will take longer to run but it'll save us from the above problem.

    +
  • +
+

Printing while running tests

+
    +
  • +

    By default, when we run cargo test, the compiler never prints the statements.

    +
  • +
  • +

    To display print statements we can run this command:

    +
    cargo test -- --show-output
    +
    +
  • +
+

Running Specific Tests

+
    +
  • +

    To run specific tests either 1 or more, we can do that by specifying the name of test.

    +
      +
    • +

      For One Test:

      +
      cargo test <name-of-test>
      +
      +
    • +
    • +

      For more than one test (e.g. add_two, add_three, then substring add):

      +
      cargo test <substring-of-tests-name>
      +
      +
    • +
    +
  • +
  • +

    When we run specific tests, the remaining tests will fall into the category of filtered out, you may see that in the logs.

    +
  • +
  • +

    Also note that the module in which a test appears becomes part of the test’s name, so we can run all the tests in a module by filtering on the module’s name.

    +
  • +
+

Ignoring Tests

+
    +
  • +

    Instead of filtering tests, you may like to ignore the tests by adding #[ignore] attribute above each test that you'd like to ignore.

    +
  • +
  • +

    Now, you may use the following commands to run the tests.

    +
      +
    • +

      To run the tests ignoring ones that use #[ignore] attribute:

      +
      cargo test
      +
      +
    • +
    • +

      To run only the ignored tests:

      +
      cargo test -- --ignored
      +
      +
    • +
    • +

      To run both ignored and not ignored tests:

      +
      cargo test -- --include-ignored
      +
      +
    • +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-07-rust-tests/pg-03-test-organization.html b/docs/ch-07-rust-tests/pg-03-test-organization.html new file mode 100644 index 0000000..73ab27f --- /dev/null +++ b/docs/ch-07-rust-tests/pg-03-test-organization.html @@ -0,0 +1,387 @@ + + + + + + Test Organization - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Test Organization

+

Test Types

+
    +
  • The Rust community thinks about tests in terms of two main categories Unit Tests and Integration tests.
  • +
+
+ + + + + + + +
Unit TestsIntegration tests
Small and FocusedLarge and Broad
InternalExternal
Tests One ModuleTests Multiple Modules
Can Test Private InterfacesOnly Tests Public Interfaces
Testing Internally such that external code may not possibly doTesting like some external code would do
Lives inside src directory inside each moduleLives in tests directory right outside src directory
Module named tests inside each module with #[cfg(test)]Different files inside tests directory without #[cfg(test)]
+
+

Unit Tests

+
    +
  • +

    This annotation #[cfg(test)] tells Rust to only run this module on cargo test, not when you run cargo build.

    +
  • +
  • +

    Thus, the functions following this annotation are never part of compiled result, hereby saving some space.

    +
  • +
  • +

    Only used for unit tests, since integration tests are different directory they don't need to use it.

    +
  • +
  • +

    An example worth noting:

    +
    #![allow(unused)]
    +fn main() {
    +// Both code and unit test lives in the same file.
    +
    +pub fn public_fn() {
    +  ...
    +}
    +
    +fn private_fn() {
    +  ...
    +}
    +
    +// cfg stands for configuration
    +#[cfg(test)]
    +mod tests {
    +  // You'll use this line to pull code from outside this module but inside this file.
    +  use super::*;
    +
    +  // A helper function
    +  fn helper() {
    +    ...
    +  }
    +
    +  // Only this fn will be considered test, unlike above fn
    +  #[test]
    +  fn it_works() {
    +      // Can test both private and public functions.
    +      ...
    +  }
    +}
    +}
    +
  • +
+

Integration tests

+
    +
  • +

    For integration test, we create a new directory target beside the src directory.

    +
  • +
  • +

    Each file in the tests directory is compiled as its own separate crate.

    +
  • +
  • +

    Treating each integration test file as its own crate is useful to create separate scopes that are more like the way end users will be using your crate.

    +
  • +
  • +

    However, this means files in the tests directory don’t share the same behavior as files in src do.

    +
  • +
  • +

    The file structure of integration tests are:

    +
    #![allow(unused)]
    +fn main() {
    +rust_project
    +├── src
    +|  └── lib.rs
    +├── target
    +|  ├── ...
    +|  └── ...
    +├── tests
    +|  ├── common
    +|  |  └── mod.rs // contains helper functions for tests
    +|  └── integration_test.rs // contains integration tests
    +├── Cargo.lock
    +└── Cargo.toml
    +}
    +
  • +
  • +

    The helper functions lives inside file tests/common/mod.rs.

    +
  • +
  • +

    This is a naming convention that rust uses to prevent functions inside this file not to appear in output logs of tests.

    +
  • +
  • +

    Files in subdirectories of the tests directory don’t get compiled as separate crates or have sections in the test output.

    +
  • +
  • +

    It looks something like this:

    +
    #![allow(unused)]
    +fn main() {
    +pub fn setup() {
    +    // setup code specific to your library's tests would go here
    +}
    +}
    +
  • +
  • +

    The integration_test.rs looks similar to this:

    +
    #![allow(unused)]
    +fn main() {
    +// Each file in the tests directory is a separate crate, so we need to bring our library into each test crate’s scope
    +use adder;
    +
    +// Bring the common functions
    +mod common;
    +
    +// No need to add `#[cfg(test)]` attribute, since we are in the tests directory.
    +
    +#[test]
    +fn it_adds_two() {
    +    common::setup();
    +    assert_eq!(4, adder::add_two(2));
    +}
    +}
    +
  • +
  • +

    To run all the tests in a particular integration test file, use:

    +
    cargo test --test <integration-test-filename>
    +
    +
  • +
  • +

    We can't write integration tests for binary crates, the rust projects that only contains a src/main.rs file and doesn’t have a src/lib.rs file.

    +
  • +
  • +

    The reason is that we cannot bring functions defined in the src/main.rs file into scope of files in tests directory with a use statement.

    +
  • +
  • +

    Only library crates expose functions that other crates can use; binary crates are meant to be run on their own.

    +
  • +
  • +

    Though, if a project contains both src/lib.rs and sr/main.rs, we can write integration tests for the important functionality inside src/lib.rs using the use keyword.

    +
  • +
  • +

    If the important functionality works, the small amount of code in the src/main.rs file will work as well, and that small amount of code doesn’t need to be tested.

    +
  • +
+

Doc Tests

+
    +
  • +

    You can write doc tests above the item, using the Examples with the docs comment /// like this:

    +
    #![allow(unused)]
    +fn main() {
    +/// Adds one to the number given.
    +///
    +/// # Examples
    +///
    +/// ```
    +/// let arg = 5;
    +/// let answer = my_crate::add_one(arg);
    +///
    +/// assert_eq!(6, answer);
    +/// ```
    +pub fn add_one(x: i32) -> i32 {
    +    x + 1
    +}
    +}
    +
  • +
  • +

    Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work.

    +
       Doc-tests my_crate
    +
    +running 1 test
    +test src/lib.rs - add_one (line 5) ... ok
    +
    +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
    +
    +
  • +
+

Tests Output Log

+
    +
  • The output logs section has three parts: +
      +
    1. Unit Tests
    2. +
    3. Integration Tests
    4. +
    5. Doc Tests
    6. +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-07-rust-tests/pg-04-test-driven-development.html b/docs/ch-07-rust-tests/pg-04-test-driven-development.html new file mode 100644 index 0000000..1f74f77 --- /dev/null +++ b/docs/ch-07-rust-tests/pg-04-test-driven-development.html @@ -0,0 +1,217 @@ + + + + + + Test Driven Development - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Test Driven Development

+

A Step by Step guide

+

Step 1: Don't write any source code, write tests first. Elaboration: It's okay to frame out production data +structures and code patterns without tests; but they should contain no valid behavioral code. Use macros +like unimplemented!() or todo!() (the latter is prefered) to hold places for code that doesn't exist yet.

+

Step 2 (Red!): Run the test, and see the test getting failed, to prove that some changes in the code are required to pass +the test. Elaboration: Always watch a test fail before you make it pass. If you don't see tests fail, +it's easy to accidentally test code you're not writing and write code that has very little to do with the +tests you're writing.

+

Step 3 (Green!): Now, write code such that the failing test(s) passes. Elaboration: Don't write bad code just for +fun, but also don't worry too much about slavishly following best practices in everything in this step, +The important thing is to get the tests passing. If you have to commit atrocities to make the tests pass, +go ahead and commit them.

+

Step 3.5 (Refactor!): Once you see all the tests passing, refactor your atrocities. Do not add any new functionality +to the production code, but rearrange (possibly redesign) it to be more elegant and pretty. As long as +you don't add any new functionality, you don't have to worry about accidentally screwing something up: +if you break the existing one, a test will fail.

+

Step 4: Once the new code is refactored and beautiful, repeat the process from Step 1.

+

Maxim from Justin Searls: "Every line of production code must be +demanded into existence by a failing test."

+

Note: Any code that doesn't drive new code is an overhead and it causes the cost of refactoring. +Refer here for more explanation.

+

Postulated by Dan Wiebe

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-08-useful-snippets/main.html b/docs/ch-08-useful-snippets/main.html new file mode 100644 index 0000000..4be4422 --- /dev/null +++ b/docs/ch-08-useful-snippets/main.html @@ -0,0 +1,196 @@ + + + + + + Useful Snippets - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Useful Snippets

+

This section contains commonly used code snippets that you can use in your projects.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-08-useful-snippets/pg-01-useful-operations.html b/docs/ch-08-useful-snippets/pg-01-useful-operations.html new file mode 100644 index 0000000..bb2b66f --- /dev/null +++ b/docs/ch-08-useful-snippets/pg-01-useful-operations.html @@ -0,0 +1,273 @@ + + + + + + Useful Operations - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Useful operations

+
    +
  • +

    Taking Input and performing type conversions

    +
    // Always import when you want to take input from user
    +use std::io;
    +
    +fn main() {
    +  let mut input = String::new();
    +
    +  // read_line() returns io::Result, which is an enum
    +  // It acts as a match, either returns Ok() with value or prints error.
    +  io::stdin().read_line(&mut input)
    +             .expect("Failed to read line.");
    +
    +  // Declaring a variable with same name again is called shadowing, mostly used for type conversions.
    +  // Trims whitespaces at start and end, `/n` (newline) and `/r/n` (windows carriage return and a newline)
    +  // parse() (returns Result), parses the string to a number, into the defined type
    +  let input: u32 = match guess.trim()
    +                              .parse()
    +                              .expect("Invalid Input");
    +
    +  println!("Your input: {}", input);
    +}
    +
  • +
  • +

    Generating Random Numbers (need external crate rand)

    +
    // The Rng trait defines the functions that we'll use to generate random numbers
    +use rand::Rng;
    +
    +fn main() {
    +  // thread_rng() is a random number generator that is local to the current thread of execution and seeded by the operating system.
    +  // gen_range() is a function part of Rng and it generates a random number of range [inclusive, exclusive), 1..101 === 1..=100
    +  let random_number = rand::thread_rng().gen_range(1..101);
    +}
    +
  • +
  • +

    A hack to know type definitions, is to write a wrong definition, and read the error from logs, they'll tell you the correct type.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: It doesn't have u32 as type, we wrote wrong type,
    +// to find the correct one by reading error logs.
    +let f: u32 = File::open("hello.txt");
    +}
    +
  • +
  • +

    To read the contents of a file into a string:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs;
    +use std::io;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    fs::read_to_string("hello.txt")
    +}
    +}
    +
  • +
  • +

    To return the last character of first line in a text.

    +
    #![allow(unused)]
    +fn main() {
    +fn last_char_of_first_line(text: &str) -> Option<char> {
    +  text.lines() // Converts string slice into iterator of lines
    +      .next()? // Returns First element of iterator or None
    +      .chars() // Converts string slice into iteratot of characters
    +      .last() // Returns last element
    +}
    +}
    +
  • +
  • +

    Read command line arguments and store them into a vector.

    +
    use std::env;
    +
    +fn main() {
    +    let args: Vec<String> = env::args().collect();
    +    println!("{:?}", args);
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-08-useful-snippets/pg-02-useful-functions.html b/docs/ch-08-useful-snippets/pg-02-useful-functions.html new file mode 100644 index 0000000..49c58c2 --- /dev/null +++ b/docs/ch-08-useful-snippets/pg-02-useful-functions.html @@ -0,0 +1,254 @@ + + + + + + Useful Functions - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Useful Functions

+

unwrap()

+
    +
  • +

    If we call unwrap it will make sure that if the result was an error, it will terminate our program, if it is a success it will yield the contents of it’s results.

    +
  • +
  • +

    We use it while taking input.

    +
    #![allow(unused)]
    +fn main() {
    +io::stdin().read_line(&mut input).unwrap();
    +}
    +
  • +
+

trim()

+
    +
  • +

    This function removes all whitespaces from a string.

    +
    #![allow(unused)]
    +fn main() {
    +let trimmed_string = input_string.trim();
    +}
    +
  • +
+

parse()

+
    +
  • +

    This function will parse the variable to different data type.

    +
  • +
  • +

    We’ll only have to provide the data type to the variable and the parse() will call the required parsing function.

    +
  • +
  • +

    The parse() returns a Result instead of parsed variable since it has a chance of failure. For Example, if we try to convert a string into floats which contains alphabets.

    +
  • +
  • +

    So, we use unwrap() along with parse, telling the compiler to stop the execution in case of failure.

    +
    #![allow(unused)]
    +fn main() {
    +let weight: f32 = input.trim().parse().unwrap();
    +}
    +
  • +
+

or()

+
    +
  • This function is used to handle the result and error variables.
  • +
  • If the result is ok, then it will return the unwrapped result, if error happens, it will return the error passed in the or function.
  • +
  • There is a question mark in the end, which is a shorthand for match block, if we don’t use question mark, we’ll have to still use the match block with or function.
  • +
+
#![allow(unused)]
+fn main() {
+// Traditional Method
+match str::from_utf8(buf) {
+    Ok(request) => {},
+    Err(_) => return Err(ParseError::InvalidEncoding)
+}
+
+// Using or function
+str::from_utf8(buf).or(Err(ParseError::InvalidEncoding))?;
+}
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-08-useful-snippets/pg-03-useful-macros.html b/docs/ch-08-useful-snippets/pg-03-useful-macros.html new file mode 100644 index 0000000..371c091 --- /dev/null +++ b/docs/ch-08-useful-snippets/pg-03-useful-macros.html @@ -0,0 +1,222 @@ + + + + + + Useful Macros - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Useful Macros

+

todo!()

+
    +
  • +

    Indicates unfinished code.

    +
  • +
  • +

    This can be useful if you are prototyping and are just looking to have your code typecheck.

    +
    #![allow(unused)]
    +fn main() {
    +fn untested_function() {
    +    // let's not worry about implementing untested_function() for now
    +    todo!();
    +}
    +}
    +
  • +
+

dbg!()

+
    +
  • +

    This is a debug macro, we can pass any variable inside it to see debug logs in console.

    +
    #![allow(unused)]
    +fn main() {
    +let my_variable = 12.0;
    +dbg!(my_variable)
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-09-masq-rust-tools/main.html b/docs/ch-09-masq-rust-tools/main.html new file mode 100644 index 0000000..9de4460 --- /dev/null +++ b/docs/ch-09-masq-rust-tools/main.html @@ -0,0 +1,196 @@ + + + + + + MASQ Rust Tools - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

MASQ Rust Tools

+

This section contains the tools that are not the part of official Rust and are created by the dev team at MASQ for the development of the project.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-10-appendix/main.html b/docs/ch-10-appendix/main.html new file mode 100644 index 0000000..8e0b40c --- /dev/null +++ b/docs/ch-10-appendix/main.html @@ -0,0 +1,196 @@ + + + + + + Appendix - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Appendix

+

The following sections contain reference material you may find useful in your Rust journey.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-10-appendix/pg-01-installation.html b/docs/ch-10-appendix/pg-01-installation.html new file mode 100644 index 0000000..5965187 --- /dev/null +++ b/docs/ch-10-appendix/pg-01-installation.html @@ -0,0 +1,221 @@ + + + + + + Installaiton - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Installation

+

For Linux and macOS:

+
    +
  • +

    Download the rustup and install it using:

    +
    curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
    +
    +
  • +
  • +

    You may need to install C compiler, because it'll give you a linker and also because some common Rust packages depend on C code:

    +
      +
    • +

      For macOS:

      +
      xcode-select --install
      +
      +
    • +
    • +

      For Linux:

      +

      Linux users should generally install GCC or Clang, according to their distribution’s documentation. For example, if you use Ubuntu, you can install the build-essential package.

      +
    • +
    +
  • +
+

For Windows:

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-10-appendix/pg-02-basic-rust-commands.html b/docs/ch-10-appendix/pg-02-basic-rust-commands.html new file mode 100644 index 0000000..51bb5e8 --- /dev/null +++ b/docs/ch-10-appendix/pg-02-basic-rust-commands.html @@ -0,0 +1,233 @@ + + + + + + Basic Rust Commands - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Basic Rust Commands

+
    +
  • +

    To check version or to verify that Rust is installed properly:

    +
    rustc --version
    +
    +
  • +
  • +

    Update Rust:

    +
    rustup update
    +
    +
  • +
  • +

    Uninstall Rust and rustup:

    +
    rustup self uninstall
    +
    +
  • +
  • +

    Open Rust Docs locally on browser:

    +
    rustup doc
    +
    +
  • +
  • +

    List the rustup toolchain

    +
    rustup toolchain list
    +
    +
  • +
  • +

    Install rustup toolchain

    +
    rustup toolchain install nightly-x86_64-unknown-linux-gnu
    +
    +
  • +
  • +

    Use nightly on a specific project (after this all the rustc and cargo commands will use nightly):

    +
    cd ~/projects/needs-nightly
    +rustup override set nightly
    +
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-10-appendix/pg-03-conventions-in-rust.html b/docs/ch-10-appendix/pg-03-conventions-in-rust.html new file mode 100644 index 0000000..b7da131 --- /dev/null +++ b/docs/ch-10-appendix/pg-03-conventions-in-rust.html @@ -0,0 +1,219 @@ + + + + + + Conventions in Rust - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Conventions in Rust

+
    +
  • +

    Rust code uses snake case as the conventional style for function and variable names, in which all letters are lowercase and underscores separate words.

    +
  • +
  • +

    Rust style is to indent with four spaces, not a tab.

    +
  • +
  • +

    Naming convention for constants is to use all uppercase with underscores between words.

    +
    #![allow(unused)]
    +fn main() {
    +const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
    +}
    +
  • +
  • +

    The names of static variables are in SCREAMING_SNAKE_CASE by convention.

    +
  • +
  • +

    The names of a type in rust uses CamelCase. For example, consider T in Result<T>.

    +
  • +
  • +

    Documentation Comments use ///, and is converted to HTML, unlike simple comments //. So simply add the documentation above the items. Learn more.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-10-appendix/pg-04-documentation.html b/docs/ch-10-appendix/pg-04-documentation.html new file mode 100644 index 0000000..86bd217 --- /dev/null +++ b/docs/ch-10-appendix/pg-04-documentation.html @@ -0,0 +1,245 @@ + + + + + + Documentation - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Documentation

+
    +
  • +

    Always remember that, programmers are interested in knowing how to use your crate as opposed to how your crate is implemented.

    +
  • +
  • +

    You'll be using /// for documentation. Notice that you'll need to add docs comment above your item, not inside the {}. Using this///, we're documenting the item that follows it.

    +
    #![allow(unused)]
    +fn main() {
    +/// Adds one to the number given.
    +///
    +/// # Examples
    +///
    +/// ```
    +/// let arg = 5;
    +/// let answer = my_crate::add_one(arg);
    +///
    +/// assert_eq!(6, answer);
    +/// ```
    +pub fn add_one(x: i32) -> i32 {
    +    x + 1
    +}
    +}
    +
  • +
  • +

    You can use cargo doc to generate the docs as HTML, and can open it through target/doc directory or by running the command cargo doc --open.

    +
  • +
  • +

    Just like Examples as shown in the above code, you can use other sections too. Here are other commonly used sections.

    +
  • +
  • +

    Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work.

    +
       Doc-tests my_crate
    +
    +running 1 test
    +test src/lib.rs - add_one (line 5) ... ok
    +
    +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
    +
    +
  • +
  • +

    To document a whole crate, //! is used in the crate root file (src/lib.rs). Using this //!, we’re documenting the item that contains this comment.

    +
    #![allow(unused)]
    +fn main() {
    +//! # My Crate
    +//!
    +//! `my_crate` is a collection of utilities to make performing certain
    +//! calculations more convenient.
    +}
    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-10-appendix/pg-05-cargo.html b/docs/ch-10-appendix/pg-05-cargo.html new file mode 100644 index 0000000..27a0a7d --- /dev/null +++ b/docs/ch-10-appendix/pg-05-cargo.html @@ -0,0 +1,324 @@ + + + + + + Cargo - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Cargo

+
    +
  • +

    It is the package manager for rust. It does the following things:

    +
      +
    • Manages Rust Projects
    • +
    • Download packages or dependencies
    • +
    • Build both your code and it's dependencies
    • +
    +
  • +
  • +

    Check Cargo Installation or Version:

    +
    cargo --version
    +
    +
  • +
  • +

    Create New Boilerplate Project:

    +
    cargo new {project-name}
    +
    +
  • +
  • +

    Create Boilerplate Binary Project (only main.rs):

    +
    cargo new {project-name} --bin
    +
    +
  • +
  • +

    Create Boilerplate Library Project (for writing tests, contains lib.rs):

    +
    cargo new {project-name} --lib
    +
    +
  • +
  • +

    Help for Cargo new:

    +
    cargo new --help
    +
    +
  • +
  • +

    Build a Project (Installing Dependencies and Compiling):

    +
    cargo build
    +
    +
  • +
  • +

    Run a Project (build + run):

    +
    cargo run
    +
    +
  • +
  • +

    Running through executable binary:

    +
    ./target/debug/hello_cargo # or .\target\debug\hello_cargo.exe on Windows
    +
    +
  • +
  • +

    Compile but don't generate executable (it's just faster than cargo build):

    +
    cargo check
    +
    +
  • +
  • +

    Build for releases (it's optimized and binaries lives in target/release):

    +
    cargo build --release
    +
    +
  • +
  • +

    To generate docs, you can access them through target/doc:

    +
    cargo doc
    +
    +
  • +
  • +

    To generate docs of all dependencies of your project and run them in browser:

    +
    cargo doc --open
    +
    +
  • +
  • +

    We can install cargo-expand to use cargo libraries system wide.

    +
    cargo install cargo-expand
    +
    +
  • +
  • +

    The cargo expand command

    +
    cargo expand
    +
    +
  • +
  • +

    To install a package from crates.io into your system, you may use this command (only binary crates can be installed and ensure that $HOME/.cargo/bin is in your $PATH):

    +
    cargo install <package-name>
    +
    +
  • +
  • +

    To list out custom cargo commands:

    +
    cargo --list
    +
    +
  • +
  • +

    To automatically format code:

    +
    cargo fmt
    +
    +
  • +
  • +

    To automatically fix warnings (fixable by compiler):

    +
    cargo fix
    +
    +
  • +
  • +

    To Lint your code:

    +
    cargo clippy
    +
    +
  • +
+

The opt-level

+
    +
  • +

    The opt-level setting controls the number of optimizations Rust will apply to your code, with a range of 0 to 3.

    +
    // Filename: Cargo.toml
    +[profile.dev]
    +opt-level = 0 // Less Optimization, less compiling time
    +
    +[profile.release]
    +opt-level = 3 // More Optimizations, more compiling time
    +
    +
  • +
  • +

    You can override any default setting by adding a different value for it in Cargo.toml. To override, you can add these two lines below the above lines.

    +
    // Filename: Cargo.toml
    +[profile.dev]
    +opt-level = 1
    +
    +
  • +
  • +

    To learn more about customizing profiles, you can read the docs here.

    +
  • +
+

For more information about Cargo, check out its documentation.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/ch-10-appendix/pg-06-editions-in-rust.html b/docs/ch-10-appendix/pg-06-editions-in-rust.html new file mode 100644 index 0000000..1f14516 --- /dev/null +++ b/docs/ch-10-appendix/pg-06-editions-in-rust.html @@ -0,0 +1,226 @@ + + + + + + Editions in Rust - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Editions in Rust

+
    +
  • +

    When you use, cargo new, Rust adds a bit of metadata to your cargo.toml about edition under [package].

    +
    edition = "2021"
    +
    +
  • +
  • +

    Here are the details about editions:

    +
    + + + +
    EditionDescription
    2015If no edition is specified, your project is using this edition.
    2018The Rust Book is written using this edition.
    2021This is the latest release at the moment.
    +
  • +
  • +

    Rust has a 6-week release cycle.

    +
  • +
  • +

    Rust releases small changes very often rather than big changes less often.

    +
  • +
  • +

    Every 2-3 years, Rust team releases a new edition.

    +
  • +
  • +

    Rust supports backward compatibility, it means even if you update your Rust software your old code will still compile.

    +
  • +
  • +

    Here are the following cases you may consider:

    +
    + + +
    EditionDependencyWill Compile?
    20152018:white_check_mark:
    20182015:white_check_mark:
    +
  • +
  • +

    For more details, the Edition Guide is a complete book about editions that enumerates the differences between editions and explains how to automatically upgrade your code to a new edition via cargo fix.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/clipboard.min.js b/docs/clipboard.min.js new file mode 100644 index 0000000..02c549e --- /dev/null +++ b/docs/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n .hljs { + color: var(--links); +} + +/* Menu Bar */ + +#menu-bar, +#menu-bar-hover-placeholder { + z-index: 101; + margin: auto calc(0px - var(--page-padding)); +} +#menu-bar { + position: relative; + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-bottom-color: var(--bg); + border-bottom-width: 1px; + border-bottom-style: solid; +} +#menu-bar.sticky, +.js #menu-bar-hover-placeholder:hover + #menu-bar, +.js #menu-bar:hover, +.js.sidebar-visible #menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0 !important; +} +#menu-bar-hover-placeholder { + position: sticky; + position: -webkit-sticky; + top: 0; + height: var(--menu-bar-height); +} +#menu-bar.bordered { + border-bottom-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + padding: 0 8px; + z-index: 10; + line-height: var(--menu-bar-height); + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: 420px) { + #menu-bar i, #menu-bar .icon-button { + padding: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +.right-buttons { + margin: 0 15px; +} +.right-buttons a { + text-decoration: none; +} + +.left-buttons { + display: flex; + margin: 0 5px; +} +.no-js .left-buttons { + display: none; +} + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 2.4rem; + line-height: var(--menu-bar-height); + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 0; + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s, background-color 0.5s; +} + +.nav-chapters:hover { + text-decoration: none; + background-color: var(--theme-hover); + transition: background-color 0.15s, color 0.15s; +} + +.nav-wrapper { + margin-top: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +.previous { + float: left; +} + +.next { + float: right; + right: var(--page-padding); +} + +@media only screen and (max-width: 1080px) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +@media only screen and (max-width: 1380px) { + .sidebar-visible .nav-wide-wrapper { display: none; } + .sidebar-visible .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline; + padding: 0.1em 0.3em; + border-radius: 3px; +} + +:not(pre):not(a) > .hljs { + color: var(--inline-code-color); + overflow-x: initial; +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + 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; +} +pre > .buttons button { + cursor: inherit; + margin: 0px 5px; + padding: 3px 5px; + font-size: 14px; + + 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); +} +@media (pointer: coarse) { + pre > .buttons button { + /* On mobile, make it easier to tap buttons. */ + padding: 0.3rem 1rem; + } +} +pre > code { + 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; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding: 0 3px 1px 3px; + margin: 0 -3px -1px -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin: 5px auto 0px auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding: 18px 0 0 5px; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); + border-bottom: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-left: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin: 5px 0 0 20px; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +.sidebar-resizing { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.js:not(.sidebar-resizing) .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar .sidebar-scrollbox { + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 10px 10px; +} +.sidebar .sidebar-resize-handle { + position: absolute; + cursor: col-resize; + width: 0; + right: 0; + top: 0; + bottom: 0; +} +.js .sidebar .sidebar-resize-handle { + cursor: col-resize; + width: 5px; +} +.sidebar-hidden .sidebar { + transform: translateX(calc(0px - var(--sidebar-width))); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +.sidebar-visible .page-wrapper { + transform: translateX(var(--sidebar-width)); +} +@media only screen and (min-width: 620px) { + .sidebar-visible .page-wrapper { + transform: none; + margin-left: var(--sidebar-width); + } +} + +.chapter { + list-style: none outside none; + padding-left: 0; + line-height: 2.2em; +} + +.chapter ol { + width: 100%; +} + +.chapter li { + display: flex; + color: var(--sidebar-non-existant); +} +.chapter li a { + display: block; + padding: 0; + text-decoration: none; + color: var(--sidebar-fg); +} + +.chapter li a:hover { + color: var(--sidebar-active); +} + +.chapter li a.active { + color: var(--sidebar-active); +} + +.chapter li > a.toggle { + cursor: pointer; + display: block; + margin-left: auto; + padding: 0 10px; + user-select: none; + opacity: 0.68; +} + +.chapter li > a.toggle div { + transition: transform 0.5s; +} + +/* collapse the section */ +.chapter li:not(.expanded) + li > ol { + display: none; +} + +.chapter li.chapter-item { + line-height: 1.5em; + margin-top: 0.6em; +} + +.chapter li.expanded > a.toggle div { + transform: rotate(90deg); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-left: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + top: var(--menu-bar-height); + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; + /* Don't let the children's background extend past the rounded corners. */ + overflow: hidden; +} +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + width: 100%; + border: 0; + margin: 0; + padding: 2px 20px; + line-height: 25px; + white-space: nowrap; + text-align: left; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} + +.theme-selected::before { + display: inline-block; + content: "✓"; + margin-left: -14px; + width: 14px; +} diff --git a/docs/css/general.css b/docs/css/general.css new file mode 100644 index 0000000..344b53e --- /dev/null +++ b/docs/css/general.css @@ -0,0 +1,203 @@ +/* Base styles and content styles */ + +@import 'variables.css'; + +:root { + /* Browser default font-size is 16px, this way 1 rem = 10px */ + font-size: 62.5%; +} + +html { + font-family: "Open Sans", sans-serif; + color: var(--fg); + background-color: var(--bg); + text-size-adjust: none; + -webkit-text-size-adjust: none; +} + +body { + margin: 0; + font-size: 1.6rem; + overflow-x: hidden; +} + +code { + font-family: var(--mono-font) !important; + font-size: var(--code-font-size); +} + +/* 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. */ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: unset; +} + +.left { float: left; } +.right { float: right; } +.boring { opacity: 0.6; } +.hide-boring .boring { display: none; } +.hidden { display: none !important; } + +h2, h3 { margin-top: 2.5em; } +h4, h5 { margin-top: 2em; } + +.header + .header h3, +.header + .header h4, +.header + .header h5 { + margin-top: 1em; +} + +h1:target::before, +h2:target::before, +h3:target::before, +h4:target::before, +h5:target::before, +h6:target::before { + display: inline-block; + content: "»"; + margin-left: -30px; + width: 30px; +} + +/* This is broken on Safari as of version 14, but is fixed + in Safari Technology Preview 117 which I think will be Safari 14.2. + https://bugs.webkit.org/show_bug.cgi?id=218076 +*/ +:target { + 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 */ +} +.page-wrapper { + box-sizing: border-box; +} +.js:not(.sidebar-resizing) .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 5px 50px 5px; +} +.content main { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} +.content p { line-height: 1.45em; } +.content ol { line-height: 1.45em; } +.content ul { line-height: 1.45em; } +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img, .content video { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} +table td { + padding: 3px 20px; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); +} +table thead td { + font-weight: 700; + border: none; +} +table thead th { + padding: 3px 20px; +} +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + 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); +} + +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; +} + +:not(.footnote-definition) + .footnote-definition, +.footnote-definition + :not(.footnote-definition) { + margin-top: 2em; +} +.footnote-definition { + font-size: 0.9em; + margin: 0.5em 0; +} +.footnote-definition p { + display: inline; +} + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + +.chapter li.part-title { + color: var(--sidebar-fg); + margin: 5px 0px; + font-weight: bold; +} + +.result-no-output { + font-style: italic; +} diff --git a/docs/css/print.css b/docs/css/print.css new file mode 100644 index 0000000..5e690f7 --- /dev/null +++ b/docs/css/print.css @@ -0,0 +1,54 @@ + +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none; + margin-left: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + background-color: #666666; + border-radius: 5px; + + /* Force background to be printed in Chrome */ + -webkit-print-color-adjust: exact; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; +} diff --git a/docs/css/variables.css b/docs/css/variables.css new file mode 100644 index 0000000..21bf8e5 --- /dev/null +++ b/docs/css/variables.css @@ -0,0 +1,255 @@ + +/* Globals */ + +:root { + --sidebar-width: 300px; + --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 */ + +.ayu { + --bg: hsl(210, 25%, 8%); + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; +} + +.coal { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; +} + +.light { + --bg: hsl(0, 0%, 100%); + --fg: hsl(0, 0%, 0%); + + --sidebar-bg: #fafafa; + --sidebar-fg: hsl(0, 0%, 0%); + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #1f1fff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #8F8F8F; + + --icons: #747474; + --icons-hover: #000000; + + --links: #20609f; + + --inline-code-color: #301900; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: hsl(197, 37%, 96%); + --quote-border: hsl(197, 37%, 91%); + + --table-border-color: hsl(0, 0%, 95%); + --table-header-bg: hsl(0, 0%, 80%); + --table-alternate-bg: hsl(0, 0%, 97%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; +} + +.navy { + --bg: hsl(226, 23%, 11%); + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --table-border-color: hsl(226, 23%, 16%); + --table-header-bg: hsl(226, 23%, 31%); + --table-alternate-bg: hsl(226, 23%, 14%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; +} + +.rust { + --bg: hsl(60, 9%, 87%); + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: hsl(60, 5%, 75%); + --quote-border: hsl(60, 5%, 70%); + + --table-border-color: hsl(60, 9%, 82%); + --table-header-bg: #b3a497; + --table-alternate-bg: hsl(60, 9%, 84%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; +} + +@media (prefers-color-scheme: dark) { + .light.no-js { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + } +} diff --git a/docs/elasticlunr.min.js b/docs/elasticlunr.min.js new file mode 100644 index 0000000..94b20dd --- /dev/null +++ b/docs/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o + + + + diff --git a/docs/fonts/OPEN-SANS-LICENSE.txt b/docs/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/docs/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + 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/docs/fonts/SOURCE-CODE-PRO-LICENSE.txt b/docs/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 0000000..366206f --- /dev/null +++ b/docs/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +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. diff --git a/docs/fonts/fonts.css b/docs/fonts/fonts.css new file mode 100644 index 0000000..858efa5 --- /dev/null +++ b/docs/fonts/fonts.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('open-sans-v17-all-charsets-300.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('open-sans-v17-all-charsets-300italic.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('open-sans-v17-all-charsets-regular.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v17-all-charsets-italic.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('open-sans-v17-all-charsets-600.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('open-sans-v17-all-charsets-600italic.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v17-all-charsets-700.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v17-all-charsets-700italic.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('open-sans-v17-all-charsets-800.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('open-sans-v17-all-charsets-800italic.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2'); +} diff --git a/docs/fonts/open-sans-v17-all-charsets-300.woff2 b/docs/fonts/open-sans-v17-all-charsets-300.woff2 new file mode 100644 index 0000000..9f51be3 Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-300.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-300italic.woff2 b/docs/fonts/open-sans-v17-all-charsets-300italic.woff2 new file mode 100644 index 0000000..2f54544 Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-300italic.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-600.woff2 b/docs/fonts/open-sans-v17-all-charsets-600.woff2 new file mode 100644 index 0000000..f503d55 Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-600.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-600italic.woff2 b/docs/fonts/open-sans-v17-all-charsets-600italic.woff2 new file mode 100644 index 0000000..c99aabe Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-600italic.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-700.woff2 b/docs/fonts/open-sans-v17-all-charsets-700.woff2 new file mode 100644 index 0000000..421a1ab Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-700.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-700italic.woff2 b/docs/fonts/open-sans-v17-all-charsets-700italic.woff2 new file mode 100644 index 0000000..12ce3d2 Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-700italic.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-800.woff2 b/docs/fonts/open-sans-v17-all-charsets-800.woff2 new file mode 100644 index 0000000..c94a223 Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-800.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-800italic.woff2 b/docs/fonts/open-sans-v17-all-charsets-800italic.woff2 new file mode 100644 index 0000000..eed7d3c Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-800italic.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-italic.woff2 b/docs/fonts/open-sans-v17-all-charsets-italic.woff2 new file mode 100644 index 0000000..398b68a Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-italic.woff2 differ diff --git a/docs/fonts/open-sans-v17-all-charsets-regular.woff2 b/docs/fonts/open-sans-v17-all-charsets-regular.woff2 new file mode 100644 index 0000000..8383e94 Binary files /dev/null and b/docs/fonts/open-sans-v17-all-charsets-regular.woff2 differ diff --git a/docs/fonts/source-code-pro-v11-all-charsets-500.woff2 b/docs/fonts/source-code-pro-v11-all-charsets-500.woff2 new file mode 100644 index 0000000..7222456 Binary files /dev/null and b/docs/fonts/source-code-pro-v11-all-charsets-500.woff2 differ diff --git a/docs/highlight.css b/docs/highlight.css new file mode 100644 index 0000000..ba57b82 --- /dev/null +++ b/docs/highlight.css @@ -0,0 +1,82 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/docs/highlight.js b/docs/highlight.js new file mode 100644 index 0000000..180385b --- /dev/null +++ b/docs/highlight.js @@ -0,0 +1,6 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + 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}])}}}()); diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..09c003d --- /dev/null +++ b/docs/index.html @@ -0,0 +1,190 @@ + + + + + + Welcome! - MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Welcome

+

This book is written by the Rust Dev Team at MASQ.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/mark.min.js b/docs/mark.min.js new file mode 100644 index 0000000..1636231 --- /dev/null +++ b/docs/mark.min.js @@ -0,0 +1,7 @@ +/*!*************************************************** +* mark.js v8.11.1 +* https://markjs.io/ +* Copyright (c) 2014–2018, Julian Kühnel +* Released under the MIT license https://git.io/vwTVl +*****************************************************/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c + + + + + MASQ Rust Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Welcome

+

This book is written by the Rust Dev Team at MASQ.

+

Introduction

+

This section will introduce you with the benefits of using rust and will tell you why you should learn this programming language.

+

Benefits of using rust

+
    +
  • Memory Safe +
      +
    • Chromium Project has 70% vulnerabilities related to Memory.
    • +
    • C/C++ doesn’t provide Memory Safety
    • +
    • Python, JS provides Memory Safety but uses Garbage Collector
    • +
    • Rust provides Memory Safety without using Garbage Collector.
    • +
    • Rust achieves this functionality by making the language typed, thus the code won’t compile if any vulnerability will exist.
    • +
    +
  • +
  • No Null Types or No Null Pointers +
      +
    • Null Pointers in C are used as *ptr = NULL.
    • +
    • Rust uses it’s rich type system to represent the absence of a value.
    • +
    +
  • +
  • No Exceptions +
      +
    • Rust Provides No Direct Referencing, No Pointers and No Pointer Exceptions.
    • +
    +
  • +
  • Modern Package Manager +
      +
    • It uses Package Manager named Cargo.
    • +
    +
  • +
  • No Data Race +
      +
    • A data race occurs when: +
        +
      • two or more threads in a single process access the same memory location concurrently, and
      • +
      • at least one of the accesses is for writing, and
      • +
      • the threads are not using any exclusive locks to control their accesses to that memory
      • +
      +
    • +
    • Game Changer for writing Asynchronous Code
    • +
    +
  • +
+

The "Hello, World!" program

+

Fun Fact: Rust is an ahead-of-time compiled language, meaning you can compile a program and give the executable to someone else, and they can run it even without having Rust installed.

+
    +
  • +

    After installing Rust, you may follow the following steps.

    +
  • +
  • +

    Create a project folder, cd into it and create main.rs file:

    +
    mkdir hello_world
    +cd hello_world
    +touch main.rs
    +
    +
  • +
  • +

    Add the following program inside of it:

    +
    // Filename: main.rs
    +fn main() {
    +    println!("Hello, world!");
    +}
    +
  • +
  • +

    Some facts regarding the above code.

    +
      +
    • Main function is the first function that gets called.
    • +
    • println!() is not a function but a macro.
    • +
    • Macros contain an ! mark.
    • +
    +
  • +
  • +

    Compile and run the file:

    +
    rustc main.rs
    +
    +
      +
    • +

      For Linux and macOS:

      +
      ./main
      +
      +
    • +
    • +

      For Windows:

      +
      .\main
      +
      +
    • +
    +
  • +
  • +

    Alternatively, you may use the package manager Cargo to create new boilerplate projects.

    +
  • +
+

Basics of Rust

+

In this Chapter you'll learn about the common programming concepts like functions, conditionals etc. along with some unique Rust concepts like borrowing, ownership and pattern matching.

+

Variables and Mutability

+

Variables

+
    +
  • +

    By default variables are immutable in Rust.

    +
  • +
  • +

    Its advantages includes memory safety and easy concurrency.

    +
  • +
  • +

    Example of immutable variable:

    +
    #![allow(unused)]
    +fn main() {
    +let x = 5;
    +}
    +
  • +
  • +

    Example of mutable variable:

    +
    #![allow(unused)]
    +fn main() {
    +let mut x = 5;
    +x = 6;
    +}
    +
  • +
+

Constants

+
    +
  • First, you aren’t allowed to use mut with constants.
  • +
  • Constants aren’t just immutable by default—they’re always immutable.
  • +
  • Constants can be declared in any scope, including the global scope, which makes them useful for values that many parts of code need to know about.
  • +
  • Constants may be set only to a constant expression, not the result of a value that could only be computed at runtime.
  • +
+
#![allow(unused)]
+fn main() {
+const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
+}
+ +

Shadowing

+
    +
  • +

    You can declare a new variable with the same name as a previous variable, it's called shadowing.

    +
    fn main() {
    +    let x = 5; // Binding x to value 5
    +
    +    let x = x + 1; // Declaring a variable named x again, thereby performing shadowing
    +
    +    {
    +        let x = x * 2; // Shadowing x again, but within the scope
    +        println!("The value of x in the inner scope is: {}", x);
    +    }
    +
    +    println!("The value of x is: {}", x);
    +}
    +
    +// Output:
    +// The value of x in the inner scope is: 12
    +// The value of x is: 6
    +
  • +
  • +

    In shadowing, we can make a few transformations on a value but have the variable be immutable, unlike let mut.

    +
  • +
  • +

    You can perform type conversions and still keep the same name.

    +
    #![allow(unused)]
    +fn main() {
    +// Shadowing compiles without errors
    +let spaces = "   ";
    +let spaces = spaces.len();
    +
    +// It's not possible to change type of a mutable Variables
    +let mut spaces = "   ";
    +spaces = spaces.len(); // This line won't compile
    +}
    +
  • +
+

Shadowing Vs Mutable Variables

+
+ + + +
ShadowingMutable Variables
Transform a variable but still keep it as immutable.We only make transformations after making variable mutable.
We need to declare variable with let everytime we perform shadowing.We need to declare variable with only let mut once.
It is possible to change the type of variable and keep the same name.It is not possible to change the type of mutable variable.
+

Data Types

+
    +
  • Every value in Rust is of a certain data type, that makes Rust a statically typed language.
  • +
  • It means Rust needs to know the type of all variables at compile time.
  • +
  • Rust data types has two subsets: +
      +
    1. Scalar
    2. +
    3. Compound
    4. +
    +
  • +
+

Scalar Data Types

+
    +
  • +

    Booleans

    +
      +
    • Represented by bool, has two values true and false.
    • +
    +
  • +
  • +

    Characters

    +
      +
    • Represented by char, it always has space of 4 bytes or 32 bits instead of 1 byte.
    • +
    • Characters are UTF-8 encoded, thus supports 'z', 'ℤ', '😻'.
    • +
    • Characters use single quotes and string uses double quotes.
    • +
    +
  • +
  • +

    Integers

    +
      +
    • u means unsigned (only positive), i means signed (both positive & negative)
    • +
    • The size ranges from 8 bits to 128 bits.
    • +
    • Range of Unsigned Integers is: +$$ [0, 2^n - 1] $$
    • +
    • Range of Signed Integer is: +$$ [- 2^{n-1}, 2^{n-1} - 1]$$
    • +
    • Examples, u8, i8, u128, i128
    • +
    • Rust also supports, usize and isize which means that it will take up space according to the architecture whether it is 32 bit or 64 bit.
    • +
    • You may also represent integer literals in the below forms:
    • +
    +
  • +
+
+ + + + + +
Number literalsExampleInteger
Decimal98_22298222
Hex0xff255
Octal0o7763
Binary0b1111_0000240
Byte (u8 only)b'A'65
+
+
    +
  • +

    Integer types default to i32.

    +
  • +
  • +

    To read how Interger Overflow works in Rust, please follow this link.

    +
  • +
  • +

    Division of integers gives floored value, 3 / 2 == 1.

    +
  • +
  • +

    Floats

    +
      +
    • It has f32 and f64, two floating data types for size 32 and 64.
    • +
    • Floating types default to f64.
    • +
    • Division of floats give fractional result, 3.0 / 2. 0 = 1.5.
    • +
    +
  • +
+

Compound Data Types

+
    +
  • +

    There are two compound data types in Rust:

    +
      +
    1. Tuples
    2. +
    3. Arrays
    4. +
    +
  • +
+

Tuples

+
    +
  • +

    They can store number of values with different data types.

    +
  • +
  • +

    They can't grow or shrink once declared.

    +
  • +
  • +

    Tuples can be declared as follows:

    +
    #![allow(unused)]
    +fn main() {
    +let tup_with_types: (i32, f64, u8) = (500, 6.4, 1);
    +let tup = (500, 6.4, 1);
    +
    +// Destructuring Tuples
    +let (x, y, z) = tup;
    +
    +// Destructuing Tuples using .
    +let x: (i32, f64, u8) = (500, 6.4, 1);
    +let five_hundred = x.0;
    +let six_point_four = x.1;
    +let one = x.2;
    +
    +// Unit type tuple with unit value
    +let unit_tup = ();
    +}
    +
  • +
+

Array

+
    +
  • +

    They can store number of values with same data type.

    +
  • +
  • +

    They can't grow or shrink once declared as their memory is allocated on stack.

    +
  • +
  • +

    If you want a similar data structure that can grow or shrink then use Vectors.

    +
  • +
  • +

    If you access an index of array that is greater than it's length, it'll result in 'index out of bounds'.

    +
  • +
  • +

    In other low level languages, this check is not done and they return an invalid memory.

    +
  • +
  • +

    Arrays can be declared as follows:

    +
    #![allow(unused)]
    +fn main() {
    +// Simple array declaration
    +let a = [1, 2, 3, 4, 5];
    +
    +// Declaring array with type and size
    +let a: [i32; 5] = [1, 2, 3, 4, 5];
    +
    +// Declaring same value 3 for 5 elements
    +let a = [3; 5];
    +
    +// Accessing Values of array
    +let a = [1, 2, 3, 4, 5];
    +let first = a[0];
    +let second = a[1];
    +}
    +
  • +
+

Slicing an array

+
    +
  • +

    It is possible to slice an array in Rust.

    +
    #![allow(unused)]
    +fn main() {
    +let a = [1, 2, 3, 4, 5];
    +
    +let slice = &a[1..3]; // It is of type &[i32]
    +}
    +
  • +
+

Ranges

+
    +
  • You can create a range with .. operator.
  • +
  • The following are equal: +
      +
    • 1..5 ~ 1..=4
    • +
    • 0..4 ~ ..4
    • +
    • 1..len ~ 1..
    • +
    • 0..len ~ ..
    • +
    +
  • +
+

Advanced Data Types

+

Strings

+
    +
  • +

    They are represented in three types:

    +
      +
    • +

      String - A smart pointer.

      +
    • +
    • +

      &String - Reference to a String.

      +
    • +
    • +

      &str - String Slice

      +
    • +
    • +

      Defining a String

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::new("127.0.0.1:8080"); // It can grow and shrink
      +let string_literal = "1234"; // It's memory is fixed at runtime
      +}
      +
    • +
    • +

      Slicing a string

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::from("127.0.0.1:8080");
      +let string_slice = &string[10..14]; // We can also use &string[10..]
      +
      +// We can also use
      +let string_slice = &string[10..]; // Give me everything after 10th byte not character
      +let string_slice = &string[..12]; // Give me everything upto 12th byte not character
      +}
      +
    • +
    • +

      Rust uses UTF-8 encoding. So, prefer not to not pass integer values for slicing, as the slice function slices on the basis of bytes instead of characters.

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::from("😀😃😄😁");
      +let string_slice = &string[..4];
      +}
      +

      For this slice instead of returning 4 emojis, the rust will return 1 emoji because it takes 4 bytes to store an emoji.

      +
      string_slice = "😀"
      +
      +
    • +
    • +

      Strings in rust can dynamically grow or shrink.

      +
    • +
    • +

      We can borrow an entire string by using this syntax

      +
      #![allow(unused)]
      +fn main() {
      +let string = String::from("127.0.0.1:8080");
      +let string_borrow: &str = &string;
      +}
      +
    • +
    +
  • +
  • +

    This is how let s1 = String::from("hello"); is stored in Rust:

    +
      +
    • Left - Parts of String that are stored on the stack: +
        +
      1. Pointer: Points to the memory that holds the contents of the string.
      2. +
      3. Length: How much memory, in bytes, the contents of the String is currently using.
      4. +
      5. Capacity: The total amount of memory, in bytes, that the String has received from the allocator.
      6. +
      +
    • +
    • Right - The memory on the heap that holds the contents.
    • +
    +

    Image

    +
  • +
+

String Slicing

+
    +
  • +

    Slices let you reference a contiguous sequence of elements in a collection rather than the whole collection.

    +
  • +
  • +

    A slice is a kind of reference, so it does not have ownership.

    +
  • +
  • +

    Slices are represented by &str and are immutable.

    +
    #![allow(unused)]
    +fn main() {
    +    let s = String::from("hello world");
    +
    +    let hello = &s[0..5]; // or you can use &s[..5]
    +    let world = &s[6..11];
    +}
    +
  • +
  • +

    This will throw compile-time error:

    +
    // FAIL: You cannot clear the memory, to which some reference already exists
    +fn main() {
    +    let mut s = String::from("hello world");
    +
    +    let word = first_word(&s); // Returns a &str, which is a referenc to s
    +
    +    s.clear(); // error!
    +
    +    println!("the first word is: {}", word);
    +}
    +
  • +
  • +

    Thus, String Slices helps us write secure code by protecting the references to a string.

    +
  • +
  • +

    Also string literals let string_literal = "hello";, are string slices &str, and are immutable.

    +
  • +
+

Note: It is expected that the String only contains ASCII characters, because in case of UTF-8, if we try to slice between a multibyte character, it'll cause an error.

+
    +
  • +

    The correct way to use referencing is discussed int the section, "Which is better &String or &str?".

    +
  • +
  • +

    Difference between String, String Literal, String Slice

    +
    + + + + + +
    PropertyStringString LiteralString SliceReference to String
    Definitionlet string = String::from("some_string");let string_literal = "1234";let string_slice = &string[1..3]let string_reference = &string
    RepresentationString&str&str&String
    Mutable:white_check_mark::x::x::x:
    Memory ManagementHeap (but deallocates when out of scope)Heap (Points to binary)Heap (Points to Binary)Heap
    Use CasesTaking Input, or any String ManipulationDefining Constant StringsSlicing and BorrowingBorrowing
    +
  • +
+

Strings and UTF-8 encoding

+
    +
  • +

    Characters are represented by single inverted commas, and has 4 bytes of storage. For Example, '😀'.

    +
  • +
  • +

    String is not a collection of characters but collections of bytes.

    +
  • +
  • +

    Rust has only one string type in the core language, which is the string slice str that is usually seen in its borrowed form &str.

    +
  • +
  • +

    String Slices are the references to some UTF-8 data stored somewhere else.

    +
  • +
  • +

    String Literals are string slices when stored in program's binary.

    +
  • +
  • +

    The String type, which is provided by Rust’s standard library rather than coded into the core language, is a growable, mutable, owned, UTF-8 encoded string type.

    +
  • +
  • +

    When Rustaceans, call "string in rust", they collectively mean:

    +
      +
    • String
    • +
    • &str
    • +
    +
  • +
  • +

    Both String and &str are UTF-8 encoded.

    +
  • +
  • +

    Creating the String type:

    +
    #![allow(unused)]
    +fn main() {
    +let mut s = String::new();
    +}
    +
  • +
  • +

    To create a String from some starting string:

    +
    #![allow(unused)]
    +fn main() {
    +let s = "initial contents".to_string(); // This fn can be used on any type that implements Display trait
    +let s = String::from("initial contents");
    +}
    +
  • +
  • +

    It is possible to store any properly encoded data:

    +
    #![allow(unused)]
    +fn main() {
    +let hello = String::from("नमस्ते");
    +let hello = String::from("안녕하세요");
    +let hello = String::from("Здравствуйте");
    +}
    +
  • +
  • +

    Updating the String:

    +
    #![allow(unused)]
    +fn main() {
    +let mut s = String::from("foo");
    +s.push_str("bar"); // It takes string slice, hence doesn't takes ownership
    +s.push('!'); // This fn only takes character as argument.
    +// s will become "foobar!"
    +}
    +
  • +
  • +

    Concatenating two strings with the + operator:

    +
    #![allow(unused)]
    +fn main() {
    +// '+' is a replacement of - fn add(self, s: &str) -> String {
    +let s1 = String::from("Hello, ");
    +let s2 = String::from("world!");
    +let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used
    +}
    +
  • +
+

Note: In Rust, if we provide &str, as a function's argument, it can accept both &String and &str. Rust uses a deref coercion, which here turns &s2 into &s2[..].

+
    +
  • +

    Combining multiple strings or formatting them:

    +
    #![allow(unused)]
    +fn main() {
    +let s1 = String::from("tic");
    +let s2 = String::from("tac");
    +let s3 = String::from("toe");
    +
    +// Method 1
    +let s = s1 + "-" + &s2 + "-" + &s3;
    +
    +// Method 2
    +let s = format!("{}-{}-{}", s1, s2, s3); // It works like println!() but returns String
    +}
    +
  • +
  • +

    Indexing into Strings is not possible and results in error:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Strings can be indexed in Rust
    +let s1 = String::from("hello");
    +let h = s1[0]; // Won't work
    +}
    +
  • +
  • +

    How values are stored in string.

    +
      +
    • +

      String is just a wrapper over Vec<u8>, this means 1 byte of space for each element in the vector. Hence, if we want to save special charcters, then it may take more than one element to store the values.

      +
    • +
    • +

      Let's consider following examples:

      +
      #![allow(unused)]
      +fn main() {
      +let hello = String::from("Hola"); // Each character will take 1 byte of storage
      +let hello = String::from("Здравствуйте"); // Each character will take 2 bytes of storage
      +}
      +
    • +
    • +

      Let's understand using the Hindi word “नमस्ते”:

      +
        +
      • +

        As Bytes (the way String does using u8 which ranges from 0 to 255):

        +
        #![allow(unused)]
        +fn main() {
        +[224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, 164, 164,
        +224, 165, 135]
        +}
        +
      • +
      • +

        As Unicode Scalar Values (the way char does):

        +
        #![allow(unused)]
        +fn main() {
        +['न', 'म', 'स', '्', 'त', 'े']
        +}
        +
      • +
      • +

        As Grapheme Clusters (the way a Hindi speaker might do):

        +
        #![allow(unused)]
        +fn main() {
        +["न", "म", "स्", "ते"]
        +}
        +
      • +
      +
    • +
    +
  • +
  • +

    Slicing Strings:

    +
      +
    • +

      You need to provide the range of bytes to be sliced out of String. Again, not characters but bytes.

      +
      #![allow(unused)]
      +fn main() {
      +let hello = "Здравствуйте"; // Each character here is composed of 2 bytes
      +
      +let s = &hello[0..4]; // It'll save first 4 bytes, `Зд`
      +
      +let will_panic = &hello[0..1]; // It'll panic, as if invalid index was accessed in the vector.
      +}
      +
    • +
    +
  • +
  • +

    Iterating over strings:

    +
      +
    • +

      You can iterate over the unicode scalar values or what chars might store:

      +
      #![allow(unused)]
      +fn main() {
      +for c in "नमस्ते".chars() {
      +    println!("{}", c);
      +}
      +
      +// This is what it'll print
      +न
      +म
      +स
      +्
      +त
      +े
      +}
      +
    • +
    • +

      You can iterate over bytes also, the way String is stored in Vec<u8> format:

      +
      #![allow(unused)]
      +fn main() {
      +for b in "नमस्ते".bytes() {
      +    println!("{}", b);
      +}
      +
      +// The output will be like
      +224
      +164
      +// --snip--
      +165
      +135
      +}
      +
    • +
    +
  • +
+

Functions

+
    +
  • We define a function in Rust by entering fn followed by a function name and a set of parentheses.
  • +
  • The curly brackets tell the compiler where the function body begins and ends.
  • +
  • The entry function to a rust's code is the main function.
  • +
  • Rust doesn’t care where you define your functions, only that they’re defined somewhere.
  • +
  • Here's an example of functions in rust:
  • +
+
fn main() {
+    println!("Hello, world!");
+
+    another_function();
+}
+
+fn another_function() {
+    println!("Another function.");
+}
+
+// Function with Parameter (or argument)
+fn function_with_parameters(x: i32) {
+    println!("The value of x is: {}", x);
+}
+
+// Function with two parameters
+fn print_labeled_measurement(value: i32, unit_label: char) {
+    println!("The measurement is: {}{}", value, unit_label);
+}
+
+// Functions with a return value
+// In rust, functions return last expression implicitly
+fn five() -> i32 {
+    5 // An Expression
+}
+
+// Functions returning through classical return keyword
+// We use return keyword when we need to return early from a function
+fn five() -> i32 {
+    return 5; // A statement
+}
+
+// This will also work
+fn plus_one(x: i32) -> i32 {
+    x + 1
+}
+
+// Fail: Statement means, this function returns anything, expressed by (), a unit type
+fn plus_one(x: i32) -> i32 {
+    x + 1;
+}
+

Statements and Expressions

+
    +
  • In Rust, function bodies are made up of a series of statements optionally ending in an expression.
  • +
+

Statements

+
    +
  • +

    They are instructions that perform some action and do not return a value.

    +
  • +
  • +

    They are just a standalone unit of execution.

    +
  • +
  • +

    Creating a variable and assigning itself a value is a statement.

    +
    #![allow(unused)]
    +fn main() {
    +let y = 6;
    +}
    +
  • +
  • +

    Function definitions are also statements; the entire function is a statement in itself.

    +
    fn main() {
    +    let y = 6;
    +}
    +
  • +
  • +

    Statements do not return values. Therefore, you can’t assign a let statement to another variable:

    +
    fn main() {
    +    let x = (let y = 6); // FAIL : Statements doesn't return anything
    +}
    +
  • +
  • +

    In some languages, you can write x = y = 6 and have both x and y have the value 6; that is not the case in Rust.

    +
  • +
+

Expressions

+
    +
  • +

    They do not end with a semicolon, unlike statements.

    +
  • +
  • +

    They evaluate into a resulting value.

    +
  • +
  • +

    They are a combination of values and functions that are combined by the compiler to create a new value.

    +
  • +
  • +

    The following things are considered as an expression:

    +
      +
    1. A simple math operation
    2. +
    3. Calling a function
    4. +
    5. Calling a macro
    6. +
    7. A new scope block created with curly brackets
    8. +
    +
  • +
  • +

    A simple math operation is an expression:

    +
    #![allow(unused)]
    +fn main() {
    +5 + 6
    +}
    +
  • +
  • +

    In the below statement the standalone 6 is an expression.

    +
    #![allow(unused)]
    +fn main() {
    +let x = 6; // A statement containing an expression
    +}
    +
  • +
  • +

    A scope block is an expression:

    +
    #![allow(unused)]
    +fn main() {
    +{
    +    let x = 3;
    +    x + 1
    +}
    +}
    +
  • +
  • +

    The above scope block will return 4 and can now become a part of a statement.

    +
    fn main() {
    +    // The below statement contains the computed value of an expression
    +    let y = {
    +        let x = 3; // Statements end with a semicolon
    +        x + 1 // Expressions do not end with semicolon
    +    };
    +
    +    println!("The value of y is: {}", y);
    +}
    +
  • +
+

Control Flow

+

if expressions

+
    +
  • +

    The code inside an if block is called an arm, similar to match.

    +
    fn main() {
    +    let number = 3;
    +
    +    if number < 5 {
    +        println!("condition was true"); // An arm
    +    } else {
    +        println!("condition was false");
    +    }
    +}
    +
  • +
  • +

    You can only pass a bool to the if expression

    +
    // FAIL: number is of type integer and not bool
    +fn main() {
    +    let number = 3;
    +
    +    if number {
    +        println!("number was three");
    +    }
    +}
    +
    +// This works since it's a condition
    +fn main() {
    +    let number = 3;
    +
    +    if number != 0 {
    +        println!("number was something other than zero");
    +    }
    +}
    +
  • +
  • +

    Rust only executes the block for the first true condition, and once it finds one, it doesn't even check the rest:

    +
    fn main() {
    +    let number = 6;
    +
    +    if number % 4 == 0 {
    +        println!("number is divisible by 4");
    +    } else if number % 3 == 0 {
    +        println!("number is divisible by 3"); // Only this statement will run
    +    } else if number % 2 == 0 {
    +        println!("number is divisible by 2");
    +    } else {
    +        println!("number is not divisible by 4, 3, or 2");
    +    }
    +}
    +
  • +
  • +

    Conditionals in Single Line:

    +
    // This Works
    +fn main() {
    +    let condition = true;
    +    let number = if condition { 5 } else { 6 };
    +
    +    println!("The value of number is: {}", number);
    +}
    +
    +// FAIL: Different data types integer and string
    +fn main() {
    +  let condition = true;
    +
    +  let number = if condition { 5 } else { "six" };
    +
    +  println!("The value of number is: {}", number);
    +}
    +
  • +
+

Loops

+
    +
  • +

    Rust has three kinds of loops:

    +
      +
    1. loop - Infinite Loop, uses break and continue
    2. +
    3. while - Breaks when the condition doesn't meet.
    4. +
    5. for - Faster and easier to use for iterators and classical for loops.
    6. +
    +
  • +
  • +

    Simple Infinite Loop:

    +
    #![allow(unused)]
    +fn main() {
    +loop {
    +  // Do something iteratively
    +}
    +}
    +
  • +
  • +

    Named Loop

    +
    #![allow(unused)]
    +fn main() {
    +'outer:loop {
    + loop {
    +  break 'outer;
    + }
    +}
    +}
    +
  • +
  • +

    Named Loop with different breaks:

    +
    #![allow(unused)]
    +fn main() {
    +'oulter_loop: loop {
    +  loop {
    +    if condition {
    +      break 'oulter_loop; // Breaks Outer Loop
    +    }
    +
    +    if some_other_condition {
    +      break; // Breaks Inner Loop
    +    }
    +  }
    +}
    +}
    +
  • +
  • +

    Returning values in loops:

    +
    fn main() {
    +    let mut counter = 0;
    +
    +    let result = loop {
    +        counter += 1;
    +
    +        if counter == 10 {
    +            break counter * 2;
    +        }
    +    };
    +
    +    println!("The result is {}", result);
    +}
    +
  • +
  • +

    The while loop:

    +
    fn main() {
    +    let mut number = 3;
    +
    +    // Prevents the use of break, by including the condition with while
    +    while number != 0 {
    +        println!("{}!", number);
    +
    +        number -= 1;
    +    }
    +
    +    println!("LIFTOFF!!!");
    +}
    +
  • +
  • +

    The for loop:

    +
    #![allow(unused)]
    +fn main() {
    +// Last item in exclusive, or 0..10 === 0..=9
    +for x in 0..10 {
    +    println!("{}", x); // x: i32
    +}
    +}
    +
  • +
  • +

    The for loop for iterator:

    +
    fn main() {
    +    let a = [10, 20, 30, 40, 50];
    +
    +    for element in a {
    +        println!("the value is: {}", element);
    +    }
    +}
    +
  • +
  • +

    A for loop for iterating characters in String

    +
    #![allow(unused)]
    +fn main() {
    +for c in name.chars() {
    +    // c variable stores one charater per iteration
    +}
    +}
    +
  • +
  • +

    Enumeration

    +
    #![allow(unused)]
    +fn main() {
    +for (i, v) in request.chars().enumerate() {
    +    // i is index, v is variable
    +}
    +}
    +
  • +
  • +

    The for loop in reverse:

    +
    fn main() {
    +    for number in (1..4).rev() {
    +        println!("{}!", number);
    +    }
    +    println!("LIFTOFF!!!");
    +}
    +
    +// Output:
    +// 3!
    +// 2!
    +// 1!
    +// LIFTOFF!!!
    +
  • +
+

Ownership

+
    +
  • Ownership is a set of rules that governs how a Rust program manages memory.
  • +
  • Some languages have garbage collection that constantly looks for no-longer used memory as the program runs; in other languages, the programmer must explicitly allocate and free the memory.
  • +
  • Rust uses a third approach: memory is managed through a system of ownership with a set of rules that the compiler checks.
  • +
  • If any of the rules are violated, the program won’t compile.
  • +
  • None of the features of ownership will slow down your program while it’s running.
  • +
+

The stack and the heap

+
    +
  • +

    Both the stack and the heap are parts of memory available to your code to use at runtime

    +
  • +
  • +

    Differences between Stack and Heap

    +
  • +
+
+ + + + + +
StackHeap
Value is stored in order Last In, First Out.Value is stored at an empty spot and a pointer is returned.
More OrganizedLess Organized
Operations are push and pop.Process of storing data on heap is called allocating.
All stored data is of fixed size.Stored data can be of dynamic size.
New items are stored on top of stack, hence pushing is faster.New items are stored after searching for right place to store, hence allocating is slower.
+
+
    +
  • +

    Pushing values onto the stack is not considered allocating. Because the pointer to the heap is a known, fixed size, you can store the pointer on the stack, but when you want the actual data, you must follow the pointer.

    +
  • +
  • +

    Think of heap as being seated at a restaurant.

    +
      +
    • When you enter, you state the number of people in your group, and the staff finds an empty table that fits everyone and leads you there. If someone in your group comes late, they can ask where you’ve been seated to find you.
    • +
    • Consider a server at a restaurant taking orders from many tables. It’s most efficient to get all the orders at one table before moving on to the next table. Taking an order from table A, then an order from table B, then one from A again, and then one from B again would be a much slower process. By the same token, a processor can do its job better if it works on data that’s close to other data (as it is on the stack) rather than farther away (as it can be on the heap). Allocating a large amount of space on the heap can also take time.
    • +
    +
  • +
  • +

    When your code calls a function, the values passed into the function (including, potentially, pointers to data on the heap) and the function’s local variables get pushed onto the stack. When the function is over, those values get popped off the stack.

    +
  • +
+

Ownership Rules

+
    +
  • +

    These are three golden rules of ownership:

    +
      +
    1. Each value in Rust has a variable that’s called its owner.
    2. +
    3. There can only be one owner at a time.
    4. +
    5. When the owner goes out of scope, the value will be dropped.
    6. +
    +
  • +
+

What is moved?

+
    +
  • This is not a move, it's a copy:
  • +
+
#![allow(unused)]
+fn main() {
+// y = x is a copy: Integers are simple values with a known, fixed size, pushed to stack, hence copied
+let x = 5;
+let y = x;
+}
+
    +
  • This is a move:
  • +
+
#![allow(unused)]
+fn main() {
+// s1 = s2 is a move: Strings are stored on heap, hence only the data of string stored on stack is copied, hence moved
+let s1 = String::from("hello");
+let s2 = s1;
+}
+
    +
  • +

    Why String is only moved and not copied?

    +
      +
    • When we assign s1 to s2, the String data is copied, meaning we copy the pointer, the length, and the capacity that are on the stack.
    • +
    • We do not copy the data on the heap that the pointer refers to.
    • +
    • Hence it is moved not copied.
    • +
    +

    Move of String

    +
  • +
  • +

    Why Rust preferes moving instead of copying the heap data?

    +
      +
    • If Rust preformed copy instead of move, the operation s2 = s1 could be very expensive in terms of runtime performance if the data on the heap were large.
    • +
    • This is what it would look like if Rust would have copied instead of moved.
    • +
    +

    If String was Copied

    +
  • +
  • +

    How does Rust clean memory after we perform s2 = s1 and both s1 and s2 go out of scope?

    +
      +
    • When a variable saved on heap goes out of scope, Rust calls a drop function to clean it from the memory.
    • +
    • But we performed let s2 = s1;, so Rust will try to clean both s1 and s2, cleaning the same memory.
    • +
    • This problem is called double free error.
    • +
    • To solve this problem, when we perform let s2 = s1;, Rust actually moves the value to s2 by invalidating s1.
    • +
    • Now, Rust has to only clean the s2 variable. Hence, the problem of double free is solved.
    • +
    • So, what may look like a shallow copy (refer shallow and deep copy in other languages), it is actually a move operation. +Invalidation of s1
    • +
    +
  • +
  • +

    In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data.

    +
  • +
  • +

    Therefore, any automatic copying can be assumed to be inexpensive in terms of runtime performance.

    +
  • +
+

Clone

+
    +
  • This function is used when we want to clone the heap data.
  • +
  • If we perform s2 = s1, on a heap data for example String, then only the stack data will be copied and not the heap data, hence moved.
  • +
  • In case we want to copy the heap data too (also referred to deep copy), we use clone function.
  • +
  • Here's an example:
  • +
+
#![allow(unused)]
+fn main() {
+let s1 = String::from("hello");
+let s2 = s1.clone();
+
+println!("s1 = {}, s2 = {}", s1, s2);
+}
+

The Copy and Drop trait

+
    +
  • +

    Copy trait can be placed on types that are stored on the stack like integers are.

    +
  • +
  • +

    If a type implements the Copy trait, a variable is still valid after assignment to another variable.

    +
  • +
  • +

    Rust won’t let us annotate a type with Copy if the type, or any of its parts, has implemented the Drop trait.

    +
  • +
  • +

    If the type needs something special to happen when the value goes out of scope and we add the Copy annotation to that type, we’ll get a compile-time error.

    +
  • +
  • +

    Types that implement copy:

    +
      +
    1. All the integer types, such as u32.
    2. +
    3. The Boolean type, bool, with values true and false.
    4. +
    5. All the floating point types, such as f64.
    6. +
    7. The character type, char.
    8. +
    9. Tuples, if they only contain types that also implement Copy. For example, (i32, i32) implements Copy, but (i32, String) does not.
    10. +
    +
  • +
+

Ownership and Functions

+
    +
  • Passing a variable to a function will move or copy, just as assignment does.
  • +
+
fn main() {
+    let s = String::from("hello");  // s comes into scope
+
+    takes_ownership(s);             // s's value moves into the function...
+                                    // ... and so is no longer valid here
+
+    let x = 5;                      // x comes into scope
+
+    makes_copy(x);                  // x would move into the function,
+                                    // but i32 is Copy, so it's okay to still
+                                    // use x afterward
+
+} // Here, x goes out of scope, then s. But because s's value was moved, nothing
+  // special happens.
+
+fn takes_ownership(some_string: String) { // some_string comes into scope
+    println!("{}", some_string);
+} // Here, some_string goes out of scope and `drop` is called. The backing
+  // memory is freed.
+
+fn makes_copy(some_integer: i32) { // some_integer comes into scope
+    println!("{}", some_integer);
+} // Here, some_integer goes out of scope. Nothing special happens.
+
    +
  • This is how the ownership works for the return values:
  • +
+
fn main() {
+    let s1 = gives_ownership();         // gives_ownership moves its return value into s1
+    let s2 = String::from("hello");     // s2 comes into scope
+
+    let s3 = takes_and_gives_back(s2);  // s2 is moved into takes_and_gives_back, which also moves its return value into s3
+} // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing
+  // happens. s1 goes out of scope and is dropped.
+
+fn gives_ownership() -> String { // gives_ownership will move its return value into the function that calls it
+    let some_string = String::from("yours"); // some_string comes into scope
+
+    some_string // some_string is returned and moves out to the calling function
+}
+
+// This function takes a String and returns one
+fn takes_and_gives_back(a_string: String) -> String { // a_string comes into scope
+    a_string  // a_string is returned and moves out to the calling function
+}
+
    +
  • When a variable that includes data on the heap goes out of scope, the value will be cleaned up by drop unless ownership of the data has been moved to another variable. See how takes_and_gives_back function returns the variable before going out of scope.
  • +
  • Basically if we send a variable, we must return it back from the function to use it again.
  • +
  • So, there are two things we can do, either return multiple values using tuples or use references.
  • +
+
// This is an example of how a fn returns multiple values using tuples
+fn main() {
+    let s1 = String::from("hello");
+
+    let (s2, len) = calculate_length(s1);
+
+    println!("The length of '{}' is {}.", s2, len);
+}
+
+fn calculate_length(s: String) -> (String, usize) {
+    let length = s.len(); // len() returns the length of a String
+
+    (s, length)
+}
+

Borrowing

+
    +
  • We do borrowing whenever we don't want to transfer the complete ownership of a varaible.
  • +
  • Consider the above example in previous section, inside calculate_length function we returned String s.
  • +
  • We returned it because when we passed s1 into the function we transferred it's ownership to the variable s.
  • +
  • Since, the scope of variable s is limited, the passed value of s1 will die outside the scope of calculate_length.
  • +
  • So, we returned the variable s inside a tuple before the end of it's scope.
  • +
  • Now, there is a workaround to calculate length without transferring the ownership.
  • +
  • The process of doing so is called Borrowing and it's done using references.
  • +
+

References

+
    +
  • +

    A reference is a pointer to the variable.

    +
  • +
  • +

    It’s an address we can follow to access data stored at that address that is owned by some other variable.

    +
  • +
  • +

    Unlike a pointer, a reference is guaranteed to point to a valid value of a particular type.

    +
  • +
  • +

    We use &, called as ampersand, to represent a reference.

    +
    fn main() {
    +    let s1 = String::from("hello");
    +
    +    // Instead of transferring ownership, we only passed a reference to the string
    +    let len = calculate_length(&s1);
    +
    +    println!("The length of '{}' is {}.", s1, len);
    +}
    +
    +// We declare that this function will only accept a reference to a String, hence only borrows
    +fn calculate_length(s: &String) -> usize {
    +    s.len()
    +}
    +
  • +
  • +

    Instead of Ownership transfer, borrowing looks like this, where s stores the reference.

    +

    Borrowing

    +
  • +
+

Dereference

+
    +
  • This is the opposite of reference. It is represented by *.
  • +
  • It returns the value of a pointer.
  • +
+

Mutable Reference

+
    +
  • +

    The references are also immutable by default.

    +
  • +
  • +

    To make a reference mutable, we need to make both the declared variable and the reference mutable using mut keyword.

    +
    fn main() {
    +    let mut s = String::from("hello"); // Step 2 -> Change variable to mutable
    +
    +    change(&mut s); // Step 3 -> Pass the string as a mutable reference
    +}
    +
    +fn change(some_string: &mut String) { // Step 1 -> Declare in fn definition, that it demands a mutable reference
    +    some_string.push_str(", world");
    +}
    +
  • +
+

Referencing for strings

+

Which is better &String or &str?

+
    +
  • +

    Short Answer: &str.

    +
  • +
  • +

    Reason: It allows us to use the same function on both &String values and &str values.

    +
    #![allow(unused)]
    +fn main() {
    +fn first_word(s: &String) -> &str { // This sucks, only allows &String
    +
    +fn first_word(s: &str) -> &str { // Rustaceans prefer this, since it allows both `&String` and `&str`.
    +}
    +
  • +
  • +

    Basically, &str works for all types of references:

    +
    fn main() {
    +    let my_string = String::from("hello world");
    +
    +    // `first_word` works on slices of `String`s, whether partial or whole
    +    let word = first_word(&my_string[0..6]);
    +    let word = first_word(&my_string[..]);
    +    // `first_word` also works on references to `String`s, which are equivalent
    +    // to whole slices of `String`s
    +    let word = first_word(&my_string);
    +
    +    let my_string_literal = "hello world";
    +
    +    // `first_word` works on slices of string literals, whether partial or whole
    +    let word = first_word(&my_string_literal[0..6]);
    +    let word = first_word(&my_string_literal[..]);
    +
    +    // Because string literals *are* string slices already,
    +    // this works too, without the slice syntax!
    +    let word = first_word(my_string_literal);
    +}
    +
  • +
+

Data Race

+
    +
  • +

    The data race condition happens when these three behaviors occur:

    +
      +
    1. Two or more pointers access the same data at the same time.
    2. +
    3. At least one of the pointers is being used to write to the data.
    4. +
    5. There’s no mechanism being used to synchronize access to the data.
    6. +
    +
  • +
  • +

    To prevent this condition, Rust adds limitations while using references.

    +
  • +
+

Limitations of Referecnes

+
    +
  • +

    We cannot create two mutable references to a variable.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &mut s;
    +    let r2 = &mut s;
    +
    +    println!("{}, {}", r1, r2);
    +}
    +
  • +
  • +

    We cannot create one immutable and one mutable reference to a variable.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &s; // no problem
    +    let r2 = &s; // no problem
    +    let r3 = &mut s; // BIG PROBLEM
    +
    +    println!("{}, {}, and {}", r1, r2, r3);
    +}
    +
  • +
+

Allowed Workarounds for References

+
    +
  • +

    Multiple immutable references are allowed because no one who is just reading the data has the ability to affect anyone else’s reading of the data.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &s; // no problem
    +    let r2 = &s; // no problem
    +
    +    println!("{}, {}", r1, r2);
    +}
    +
  • +
  • +

    Rust treats last usage of a immutable reference, as it's end. Hence, the following code runs perfectly, read more about Non-Lexical Lifetimes.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    let r1 = &s; // no problem
    +    let r2 = &s; // no problem
    +    println!("{} and {}", r1, r2);
    +    // variables r1 and r2 will not be used after this point
    +
    +    let r3 = &mut s; // no problem
    +    println!("{}", r3);
    +}
    +
  • +
  • +

    You may create a new scope to use two mutable references.

    +
    #![allow(unused)]
    +fn main() {
    +    let mut s = String::from("hello");
    +
    +    {
    +        let r1 = &mut s;
    +    } // r1 goes out of scope here, so we can make a new reference with no problems.
    +
    +    let r2 = &mut s;
    +}
    +
  • +
+

Dangling References

+
    +
  • +

    Dangling Reference is a reference to a location in memory which is freed but the reference exists.

    +
  • +
  • +

    In languages with pointers, it’s easy to erroneously create a dangling pointer.

    +
  • +
  • +

    In Rust, by contrast, the compiler guarantees that references will never be dangling references: if you have a reference to some data, the compiler will ensure that the data will not go out of scope before the reference to the data does.

    +
  • +
  • +

    Compiler throws error if we manually try to create a dangling reference:

    +
    // FAIL: Rust won't allow you to create Dangling References
    +fn main() {
    +    let reference_to_nothing = dangle();
    +}
    +
    +fn dangle() -> &String {
    +    let s = String::from("hello");
    +
    +    &s
    +} // s goes out of scope here, but we try to reference to
    +
  • +
  • +

    The Error that compiler throws is:

    +
    this function's return type contains a borrowed value, but there is no value
    +for it to be borrowed from
    +
    +
  • +
  • +

    It also mentions, we can fix it using lifetimes.

    +
  • +
+

Golden Rules of Referencing

+
    +
  1. No Data Racing - At any given time, you can have either one mutable reference or any number of immutable references.
  2. +
  3. No Dangling References - References must always be valid.
  4. +
+

Structs

+
    +
  • A struct, or structure, is a custom data type that lets you name and package together multiple related values that make up a meaningful group.
  • +
  • It is used to just define the data attributes as we do in Object Oriented Programming Languages.
  • +
  • There are three types of Structs: +
      +
    1. Structs with Named Fields
    2. +
    3. Tuple Structs
    4. +
    5. Unit Structs
    6. +
    +
  • +
+

Associated Functions and Methods

+
    +
  • Functions defined for structs using the impl keyowrd are called associated functions.
  • +
  • The associated functions which accepts self as it's first argument are called methods.
  • +
+

Structs with Named Fields

+
    +
  • +

    In structs, we name each piece of data, so it's clear what they mean. This name and data type pair are called fields.

    +
  • +
  • +

    Struct definition:

    +
    #![allow(unused)]
    +fn main() {
    +struct User {
    +    active: bool, // A Field
    +    username: String,
    +    email: String,
    +    sign_in_count: u64,
    +}
    +}
    +
  • +
  • +

    Creating a struct's instance:

    +
    #![allow(unused)]
    +fn main() {
    +// If you specify mut, all the values will be mutable otherwise none
    +let mut user1 = User {
    +    email: String::from("someone@example.com"),
    +    username: String::from("someusername123"),
    +    active: true,
    +    sign_in_count: 1,
    +};
    +}
    +
  • +
  • +

    Taking out and updating the values:

    +
    #![allow(unused)]
    +fn main() {
    +user1.email = String::from("anotheremail@example.com");
    +}
    +
  • +
  • +

    Defining functions for structs

    +
    #![allow(unused)]
    +fn main() {
    +fn build_user(email: String, username: String) -> User {
    +    User {
    +        email, //We can write like this aslo-> email: email
    +        username,
    +        active: true,
    +        sign_in_count: 1,
    +    }
    +}
    +}
    +
  • +
  • +

    The struct update syntax (..), or spread operator in JS:

    +
    #![allow(unused)]
    +fn main() {
    +// Initially
    +let user2 = User {
    +    active: user1.active,
    +    username: user1.username,
    +    email: String::from("another@example.com"),
    +    sign_in_count: user1.sign_in_count,
    +};
    +
    +// After using the struct update syntax (..)
    +let user2 = User {
    +    email: String::from("another@example.com"),
    +    ..user1
    +};
    +}
    +

    Note: This update syntax, works same as assignment operator =, so stack values will get copied and heap values will be moved. Since, username is a String, it's value will be moved from user1 to user2, hence user1 can't be used again.

    +
  • +
  • +

    To prevent this problem of ownership transfer, we can use &str instead of String but when we use references in structs, it won't actually compile but will ask for lifetimes.

    +
    // FAIL: Lifetime specifier not provided.
    +struct User {
    +    username: &str,
    +    email: &str,
    +    sign_in_count: u64,
    +    active: bool,
    +}
    +
    +fn main() {
    +    let user1 = User {
    +        email: "someone@example.com",
    +        username: "someusername123",
    +        active: true,
    +        sign_in_count: 1,
    +    };
    +}
    +
  • +
  • +

    In this situation the compiler situation looks something like this:

    +
     --> src/main.rs:2:15
    +  |
    +2 |     username: &str,
    +  |               ^ expected named lifetime parameter
    +  |
    +help: consider introducing a named lifetime parameter
    +  |
    +1 | struct User<'a> {
    +2 |     username: &'a str,
    +  |
    +
    +
  • +
+

Tuple Structs

+
    +
  • +

    Using Tuple Structs without Named Fields to Create Different Types:

    +
    #![allow(unused)]
    +fn main() {
    +struct Color(i32, i32, i32);
    +struct Point(i32, i32, i32);
    +
    +let black = Color(0, 0, 0);
    +let origin = Point(0, 0, 0);
    +}
    +
  • +
  • +

    To access their types, we use the . operator followed by the number of this argumnet.

    +
    #![allow(unused)]
    +fn main() {
    +let color = Color(10, 25, 16);
    +let red = color.0;
    +let green = color.1;
    +let blue = color.2;
    +}
    +
  • +
+

Unit Structs

+
    +
  • +

    They are structs without Any Fields (they act like ()).

    +
  • +
  • +

    They are Useful when we want to implement a trait on some type but don’t have any data that you want to store in the type itself.

    +
    #![allow(unused)]
    +fn main() {
    +struct AlwaysEqual;
    +
    +let subject = AlwaysEqual;
    +}
    +
  • +
+

Why do we use Structs?

+
    +
  1. +

    It is a more sensible design choice to pass as minimum arguments as possible inside a function. For Example, if we need to calculate the area of rectangle, instead of passing height and width, it would be cleaner to pass the whole rectangle.

    +
  2. +
  3. +

    Now, this can be done with the tuples too. For Example, let rect1 = (50, 30); but the problem with this syntax is that any developer can confuse which one is width or height.

    +
  4. +
  5. +

    To make this process clearer and cleaner, we use struct, so that we can combine the data and still keep the meaning of each attribute intact.

    +
    struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +fn main() {
    +    let rect1 = Rectangle {
    +        width: 50,
    +        height: 30
    +    };
    +
    +    println!("The area of the rectangle is {} square pixels", area(&rect1));
    +}
    +
    +
    +// Passing Rectangle as a reference is important so that main fn
    +// can retain it's ownership after this function is called.
    +fn area(rectangle: &Rectangle) -> u32 {
    +    rectangle.width * rectangle.height
    +}
    +
  6. +
+

Printing Variables

+
    +
  • +

    Ways to Print the variables:

    +
      +
    • {} - Used to print variables with Display trait, for simple data types like int, string etc. we don't need to derive this attribute.
    • +
    • {:?} - Used to print complex variables with Debug trait, preferred for complex data type like struct, and we need to derive the Debug attribute.
    • +
    • {:#?} - Works similarly like {:?}, except it's preferred for structs with large number of fields.
    • +
    • dbg!() - It is a macro used with Debug trait to print the variables, file and line number. It prints to stderr instead of stdout (which println!() uses). It takes ownership, so prefer sending references to it.
    • +
    +
  • +
  • +

    Here's an example of using the dbg!() macro:

    +
    #[derive(Debug)]
    +struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +fn main() {
    +    let scale = 2;
    +    let rect1 = Rectangle {
    +        width: dbg!(30 * scale), // It'll resolve the expression `30 * scale`, as if dbg!() call was never there, it happens due to ownership transfer
    +        height: 50,
    +    };
    +
    +    dbg!(&rect1); // To maintian the scope of rect1 in main() we sent only the reference.
    +}
    +
  • +
  • +

    The output looks like this:

    +
       Compiling rectangles v0.1.0 (file:///projects/rectangles)
    +    Finished dev [unoptimized + debuginfo] target(s) in 0.61s
    +     Running `target/debug/rectangles`
    +[src/main.rs:10] 30 * scale = 60
    +[src/main.rs:14] &rect1 = Rectangle {
    +    width: 60,
    +    height: 50,
    +}
    +
    +
  • +
  • +

    You can read more about Derivable Traits and Attributes.

    +
  • +
+

Structs with Method Syntax

+
    +
  • +

    When functions are defined in the context of a struct, enum or trait they are called as Methods.

    +
  • +
  • +

    The first parameter of a method is always self, which represents the instance.

    +
    #[derive(Debug)]
    +struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +// Everything inside the impl block is associated with Rectangle
    +impl Rectangle {
    +
    +    // &self is a short hand for self: `&self` (references are used to prevent mutation)
    +    // You can pass the following too:
    +    // self - Ownership of instance
    +    // &self - Reference to the instance {Currently Using}
    +    // &mut self - Mutable Reference to the instance
    +    fn area(&self) -> u32 {
    +        self.width * self.height
    +    }
    +
    +    // It is possible to name methods same as fields of struct
    +    // Usually these methods are used as getters, to keep the fields private but provide read only accees using the methods
    +    fn width(&self) -> bool {
    +      self.width > 0
    +    }
    +
    +    // This is how we pass anotherr instance of same struct to a method
    +    fn can_hold(&self, other: &Rectangle) -> bool {
    +      self.width > other.width && self.height > other.height
    +    }
    +}
    +
    +fn main() {
    +    let rect1 = Rectangle {
    +        width: 30,
    +        height: 50,
    +    };
    +
    +    let rect2 = Rectangle {
    +      width: 15,
    +      height: 25,
    +    };
    +
    +    println!(
    +        "The area of the rectangle is {} square pixels.",
    +        rect1.area()
    +    );
    +
    +    // If we use rect1.width() - Rust unserstands it as method and
    +    // if we use rect1.width - Rust unserstands it as a field
    +    if rect1.width() {
    +      println!("The rectangle has a nonzero width; it is {}", rect1.width);
    +    };
    +
    +    // This is how we can pass second instance while calling a method on first instance
    +    println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2));
    +}
    +
  • +
+

Note: When you call a method with object.something(), Rust automatically adds in &, &mut, or * so object matches the signature of the method. In other words, the following are the same:

+
#![allow(unused)]
+fn main() {
+p1.distance(&p2);
+(&p1).distance(&p2);
+}
+
    +
  • +

    It is possible to use different impl blocks, it is a valid syntax.

    +
    #![allow(unused)]
    +fn main() {
    +impl Rectangle {
    +    fn area(&self) -> u32 {
    +        self.width * self.height
    +    }
    +}
    +
    +impl Rectangle {
    +    fn can_hold(&self, other: &Rectangle) -> bool {
    +        self.width > other.width && self.height > other.height
    +    }
    +}
    +}
    +
  • +
+

Associated Functions

+
    +
  • +

    All the functions defined under impl are associated functions.

    +
  • +
  • +

    Methods are associated functions which has self as an argument and we use . operator to access it.

    +
  • +
  • +

    It is possible to define associated functions without passing self as the first argument, these functions are accessed through :: operator.

    +
  • +
  • +

    Here's an example:

    +
    #![allow(unused)]
    +fn main() {
    +// Calling a method, also an associated function
    +instance.method(some_argument);
    +
    +// Calling an associated function, without self as the first argument, hence not a method
    +String::from("Hello, World!");
    +}
    +
  • +
  • +

    These associated functions are commonly used as constructors. Also, for the previous example of Rectangle, we can use it as follows:

    +
    #![allow(unused)]
    +fn main() {
    +impl Rectangle {
    +    // With this associated function we can create a new instance of Rectangle
    +    // by passing one value instead of two, hence creating a square.
    +    fn square(size: u32) -> Rectangle {
    +        Rectangle {
    +            width: size,
    +            height: size,
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    It can be called like this:

    +
    #![allow(unused)]
    +fn main() {
    +let sq = Rectangle::square(3);
    +}
    +
  • +
+

Enums

+
    +
  • Enums is the short form of enumerations.
  • +
  • It allows us to define a type with possible values, these possible values are called variants.
  • +
  • We can enumerate all possible variants, which is where enumeration gets its name.
  • +
  • The total size that enum will allocate for it’s variant will be equal to the memory allocation of it’s largest variant. It works similar to unions in C.
  • +
+

Where to use Enums?

+
    +
  • +

    When their are certain possible values for a type and those possible values may not coincide together.

    +
  • +
  • +

    For Example, we can make an enum for Day, with possible variants Monday-Sunday, now for a certain day any two possible values will never coincide.

    +
  • +
  • +

    Another Example, IP Address, it's possible variants will be IPV4, IPV6, for a certain IP address, it can only be either of the two.

    +
  • +
  • +

    Here's an example definition:

    +
    #![allow(unused)]
    +fn main() {
    +enum IpAddrKind {
    +    V4,
    +    V6,
    +}
    +}
    +
  • +
  • +

    To create an instance of ane enum, we use :: operator:

    +
    #![allow(unused)]
    +fn main() {
    +let four = IpAddrKind::V4;
    +let six = IpAddrKind::V6;
    +}
    +
  • +
  • +

    To use it in a function:

    +
    #![allow(unused)]
    +fn main() {
    +// In fn declaration
    +fn route(ip_kind: IpAddrKind) {}
    +
    +// In fn call
    +route(IpAddrKind::V4);
    +route(IpAddrKind::V6);
    +}
    +
  • +
  • +

    Using Enums with Structs:

    +
    #![allow(unused)]
    +fn main() {
    +    enum IpAddrKind {
    +        V4,
    +        V6,
    +    }
    +
    +    struct IpAddr {
    +        kind: IpAddrKind,
    +        address: String,
    +    }
    +
    +    let home = IpAddr {
    +        kind: IpAddrKind::V4,
    +        address: String::from("127.0.0.1"),
    +    };
    +
    +    let loopback = IpAddr {
    +        kind: IpAddrKind::V6,
    +        address: String::from("::1"),
    +    };
    +}
    +
  • +
  • +

    Enums with associated data types:

    +
    #![allow(unused)]
    +fn main() {
    +// Now, we don't need an extra struct
    +enum IpAddr {
    +    V4(String),
    +    V6(String),
    +}
    +
    +// We get a default constructor function for each variant
    +let home = IpAddr::V4(String::from("127.0.0.1"));
    +
    +let loopback = IpAddr::V6(String::from("::1"));
    +}
    +
  • +
  • +

    Defining enum variants with different data types:

    +
  • +
+
#![allow(unused)]
+fn main() {
+enum IpAddr {
+    // Defining variants with two different data types
+    // is only possible through enums and not through enums with struct
+    V4(u8, u8, u8, u8),
+    V6(String),
+}
+
+let home = IpAddr::V4(127, 0, 0, 1);
+
+let loopback = IpAddr::V6(String::from("::1"));
+}
+
    +
  • +

    This is how standard library defines IP addresses:

    +
    #![allow(unused)]
    +fn main() {
    +struct Ipv4Addr {
    +    // --snip--
    +}
    +
    +struct Ipv6Addr {
    +    // --snip--
    +}
    +
    +// It is posible to put any data type inside
    +// the enum variant, int, String, struct,
    +// or even enum
    +enum IpAddr {
    +    V4(Ipv4Addr),
    +    V6(Ipv6Addr),
    +}
    +
    +}
    +
  • +
  • +

    Enum with complicated data types:

    +
    #![allow(unused)]
    +fn main() {
    +// Cleaner Approach
    +enum Message {
    +    Quit, // No data associated with it at all!
    +    Move { x: i32, y: i32 }, // Has named fields like struct
    +    Write(String),
    +    ChangeColor(i32, i32, i32),
    +}
    +
    +// Uglier approach using struct
    +struct QuitMessage; // unit struct
    +struct MoveMessage {
    +    x: i32,
    +    y: i32,
    +}
    +struct WriteMessage(String); // tuple struct
    +struct ChangeColorMessage(i32, i32, i32); // tuple struct
    +}
    +
  • +
  • +

    It is possible to define associated functions on enums using impl:

    +
    #![allow(unused)]
    +fn main() {
    +enum Message {
    +    Quit,
    +    Move { x: i32, y: i32 },
    +    Write(String),
    +    ChangeColor(i32, i32, i32),
    +}
    +
    +impl Message {
    +    fn call(&self) {
    +        // method body would be defined here
    +    }
    +}
    +
    +let _quit_message = Message::Quit; // We won't use parantheses because it is of Unit Type
    +let _write_message = Message::Write(String::from("Hello")); // Constructor function, that accepts String and will stroe it on heap
    +let _change_color_message = Message::ChangeColor(12, 12, 12); // Constructor function, that accepts three i32 values
    +let _move_message = Message::Move {x: 5, y: 6}; // Works similar to creating new instance of struct with named fields
    +
    +_quit_message.call();
    +}
    +
  • +
+

The Option Enum

+
    +
  • +

    The Option type is used in many places because it encodes the very common scenario in which a value could be something or it could be nothing.

    +
  • +
  • +

    Expressing this concept in terms of the type system means the compiler can check whether you’ve handled all the cases you should be handling.

    +
  • +
  • +

    This functionality can prevent bugs that are extremely common in other programming languages.

    +
  • +
  • +

    Rust doesn't have Null, so it uses Option enum with variants Some and None.

    +
  • +
  • +

    This makes Rust extremely cool, you may read more about "Null References: The Billion Dollar Mistake".

    +
  • +
  • +

    The problem with null values is that if you try to use a null value as a not-null value, you’ll get an error of some kind.

    +
  • +
  • +

    Rust's Option enum will always ask you to offer solution for both Some and None.

    +
    #![allow(unused)]
    +fn main() {
    +// It is generic over any data type T
    +enum Option<T> {
    +    None,
    +    Some(T),
    +}
    +
    +// Rust automatically inferred to be of type Option<i32> because we passed a number and i32 is it's default type
    +let some_number = Some(5);
    +// Similarly, Rust inferred Option<&str>, since we passed string literal
    +let some_string = Some("a string");
    +
    +// Here, since None can belong to any data type, we explicitly define i32
    +let absent_number: Option<i32> = None;
    +}
    +
  • +
+

Why is having Option<T> any better than having null?

+
    +
  • +

    In short, because Option<T> and T (where T can be any type) are different types, the compiler won’t let us use an Option<T> value as if it were definitely a valid value.

    +
  • +
  • +

    For example, this code won’t compile because it’s trying to add an i8 to an Option<i8>:

    +
    #![allow(unused)]
    +fn main() {
    +let x: i8 = 5;
    +let y: Option<i8> = Some(5);
    +
    +let sum = x + y;
    +}
    +
  • +
  • +

    When we have a value of a type like i8 in Rust, the compiler will ensure that we always have a valid value.

    +
  • +
  • +

    We can proceed confidently without having to check for null before using that value.

    +
  • +
  • +

    when we have an Option<i8>, we'll have to worry about possibly not having a value, and the compiler will make sure we handle that case before using the value.

    +
  • +
  • +

    In other words, you have to convert an Option<T> to a T before you can perform T operations with it.

    +
  • +
  • +

    Generally, this helps catch one of the most common issues with null: assuming that something isn’t null when it actually is.

    +
  • +
  • +

    In languages like C, this will work and print something, even though we know it doesn't contain any value.

    +
    #include <stdio.h>
    +
    +int main() {
    +    int x;
    +    printf("Value of x: %i", x);
    +
    +    return 0;
    +}
    +
    +
  • +
  • +

    In Rust, it'll not compile, since it identifies an absence of value.

    +
    fn main() {
    +    let number: i32;
    +    println!("Value of x: {}", number);
    +}
    +
  • +
  • +

    Everywhere that a value has a type that isn’t an Option<T>, you can safely assume that the value isn’t null.

    +
  • +
  • +

    This was a deliberate design decision for Rust to limit null’s pervasiveness and increase the safety of Rust code.

    +
  • +
+

Pattern Matching

+

The match conftrol flow operator

+
    +
  • +

    It allows you to compare a value against a series of patterns and then execute code based on which pattern matches.

    +
  • +
  • +

    It is possible to express very different kind of patterns. Also, Rust has a cumpolsary check, where it handles that all possible cases are handled.

    +
  • +
  • +

    Think of a match expression as being like a coin-sorting machine: coins slide down a track with variously sized holes along it, and each coin falls through the first hole it encounters that it fits into.

    +
  • +
  • +

    At the first pattern the value “fits”, the value falls into the associated code block to be used during execution.

    +
  • +
  • +

    The expression with if statement only returns a boolean value but match expression can return any type.

    +
  • +
  • +

    Here's an Example Below:

    +
    #![allow(unused)]
    +fn main() {
    +enum Coin {
    +    Penny,
    +    Nickel,
    +    Dime,
    +    Quarter,
    +}
    +
    +fn value_in_cents(coin: Coin) -> u8 {
    +    match coin {
    +        Coin::Penny => {
    +            println!("Lucky penny!");
    +            1
    +        },
    +        Coin::Nickel => 5,
    +        Coin::Dime => 10,
    +        Coin::Quarter => 25,
    +    }
    +}
    +}
    +
  • +
  • +

    Each new pattern under match is an arm. An arm has two parts: a pattern and some code.

    +
  • +
  • +

    The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire match expression.

    +
  • +
+

An enum inside another enum

+
    +
  • This is how we'll be using match for such cases:
  • +
+
#[derive(Debug)] // so we can inspect the state in a minute
+enum UsState {
+    Alabama,
+    Alaska,
+    // --snip--
+}
+
+enum Coin {
+    Penny,
+    Nickel,
+    Dime,
+    Quarter(UsState),
+}
+
+fn value_in_cents(coin: Coin) -> u8 {
+    match coin {
+        Coin::Penny => 1,
+        Coin::Nickel => 5,
+        Coin::Dime => 10,
+        Coin::Quarter(state) => {
+            println!("State quarter from {:?}!", state);
+            25
+        }
+    }
+}
+
+fn main() {
+  let _value = value_in_cents(Coin::Quarter(UsState::Alaska));
+}
+

Matching with Option<T>

+
    +
  • +

    The value inside Option of type T can be passed through like a functional argument using the match expression.

    +
    #![allow(unused)]
    +fn main() {
    +    fn plus_one(x: Option<i32>) -> Option<i32> {
    +        match x {
    +            None => None,
    +            Some(i) => Some(i + 1),
    +        }
    +    }
    +
    +    let five = Some(5);
    +    let six = plus_one(five);
    +    let none = plus_one(None);
    +}
    +
  • +
  • +

    The match expression always covers all the possible values, that's why we call them exhaustive: we must exhaust every last possibility in order for the code to be valid.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: All the cases not covered in match expression, the None case is remaining
    +fn plus_one(x: Option<i32>) -> Option<i32> {
    +    match x {
    +        Some(i) => Some(i + 1),
    +    }
    +}
    +}
    +
  • +
  • +

    Especially in the case of Option<T>, when Rust prevents us from forgetting to explicitly handle the None case, it protects us from assuming that we have a value when we might have null, thus making the billion-dollar mistake discussed earlier impossible.

    +
  • +
+

Catch remaining patterns using _ placeholder

+
    +
  • +

    It is possible to cover the remaining cases inside the match expression, it is similar to default case of switch statement in other languages.

    +
    #![allow(unused)]
    +fn main() {
    +    let dice_roll = 9;
    +    match dice_roll {
    +        3 => add_fancy_hat(),
    +        7 => remove_fancy_hat(),
    +        other => move_player(other), // This will match all the cases that aren't specifically listed
    +    }
    +
    +    fn add_fancy_hat() {}
    +    fn remove_fancy_hat() {}
    +    fn move_player(num_spaces: u8) {}
    +}
    +
  • +
  • +

    Sometimes we use placeholder _, to specify Rust, that this value is useless.

    +
    #![allow(unused)]
    +fn main() {
    +    let dice_roll = 9;
    +    match dice_roll {
    +        3 => add_fancy_hat(),
    +        7 => remove_fancy_hat(),
    +        _ => reroll(), // These values aren't that important
    +    }
    +
    +    fn add_fancy_hat() {}
    +    fn remove_fancy_hat() {}
    +    fn reroll() {}
    +}
    +
  • +
  • +

    If we want to tell Rust to literally do nothing, then we can use unit tuple () instead of fn call.

    +
    #![allow(unused)]
    +fn main() {
    +    let dice_roll = 9;
    +    match dice_roll {
    +        3 => add_fancy_hat(),
    +        7 => remove_fancy_hat(),
    +        _ => (), // Telling Rust to "do nothing"
    +    }
    +
    +    fn add_fancy_hat() {}
    +    fn remove_fancy_hat() {}
    +}
    +
  • +
+

The if let syntax

+
    +
  • +

    It is used in case you want to consider only particular case of an enum.

    +
  • +
  • +

    For example, if you want to consider only the Some variant of an enum Option<>, you may prefer to use the if let syntax instead of match:

    +
    #![allow(unused)]
    +fn main() {
    +// The older approach using the match syntax
    +let config_max = Some(3u8);
    +match config_max {
    +    Some(max) => println!("The maximum is configured to be {}", max),
    +    _ => (), // This line seems redundant
    +}
    +
    +// More concise approach with if let
    +let config_max = Some(3u8);
    +if let Some(max) = config_max {
    +    println!("The maximum is configured to be {}", max);
    +}
    +}
    +
  • +
  • +

    The if let accepts a pattern (consider Some(max)) and an expression (consider config_max) seperated by and = sign.

    +
  • +
  • +

    Before using if let please make sure whether gaining conciseness is an appropriate trade-off for losing exhaustive checking.

    +
  • +
  • +

    This approach is not exhaustive in sense that it only considers one pattern and ignores other unlike the match syntax.

    +
  • +
  • +

    It is possible to use else with if let:

    +
  • +
+
#![allow(unused)]
+fn main() {
+// In this problem we are counting the coins that aren't quarter
+let mut count = 0;
+match coin {
+    Coin::Quarter(state) => println!("State quarter from {:?}!", state),
+    _ => count += 1,
+}
+
+// Another possible approach with if let and else
+let mut count = 0;
+if let Coin::Quarter(state) = coin {
+    println!("State quarter from {:?}!", state);
+} else {
+    count += 1;
+}
+}
+

Common Collections

+
    +
  • The various data structures in Rust's standard library are called Collections. Refer here.
  • +
  • They can contain multiple values and collections point data stored on heap.
  • +
  • Most Common Collections: +
      +
    • Vectors
    • +
    • String
    • +
    • Hash Map
    • +
    +
  • +
+

Vector

+
    +
  • +

    It is represesnted as Vec<T>.

    +
  • +
  • +

    You can store variable number of values, unlike Array. Though, the data type of stored values should be same.

    +
  • +
  • +

    Vectors store values next to each other in memory.

    +
  • +
  • +

    Creating a new vector:

    +
    #![allow(unused)]
    +fn main() {
    +  // We'll add type annotation because the vector has 0 elements,
    +  // hence, there is no way for Rust to recognize type implicitly
    +  let v: Vec<i32> = Vec::new();
    +}
    +
  • +
  • +

    Creating vectors using a macro:

    +
    #![allow(unused)]
    +fn main() {
    +  let v = vec![1, 2, 3];
    +}
    +
  • +
  • +

    Pushing new values (make sure Vector is mutable):

    +
    #![allow(unused)]
    +fn main() {
    +  v.push(5);
    +}
    +
  • +
  • +

    Popping new values:

    +
    #![allow(unused)]
    +fn main() {
    +let mut vec = vec![1, 2, 3];
    +assert_eq!(vec.pop(), Some(3));
    +}
    +
  • +
  • +

    Even though vectors store values on heap and it is possible to introduce references to the elements of the vector. Still, the vectors automatically cleans up memory as it goes out of scope:

    +
    #![allow(unused)]
    +fn main() {
    +  {
    +      let v = vec![1, 2, 3, 4];
    +
    +      // do stuff with v
    +  } // <- v goes out of scope and is freed here
    +}
    +
  • +
  • +

    Accessing elements inside a vector:

    +
      +
    • +

      Method 1:

      +
      #![allow(unused)]
      +fn main() {
      +  let third: &i32 = &v[2]; // Might panic due to out of index
      +}
      +
    • +
    • +

      Method 2:

      +
      #![allow(unused)]
      +fn main() {
      +match v.get(2) { // Gives Option<&T>
      +    Some(third) => println!("The third element is {}", third),
      +    None => println!("There is no third element."),
      +}
      +}
      +
    • +
    +
  • +
  • +

    You can't do that:

    +
    #![allow(unused)]
    +fn main() {
    +    let mut v = vec![1, 2, 3, 4, 5];
    +
    +    let first = &v[0]; // A reference to immutable vector [Immutable Borrow]
    +
    +    v.push(6); // Writing to a mutable vector [Mutable Error]
    +
    +    println!("The first element is: {}", first); // Accessing the reference after writing [Immutable Borrow Used]
    +
    +    // Recall: You can’t have mutable and immutable references in the same scope.
    +}
    +
  • +
  • +

    Why should a reference to the first element care about what changes at the end of the vector? This error is due to the way vectors work: adding a new element onto the end of the vector might require allocating new memory and copying the old elements to the new space, if there isn’t enough room to put all the elements next to each other where the vector currently is.

    +
  • +
  • +

    Itearting over the Vector:

    +
    #![allow(unused)]
    +fn main() {
    +  let v = vec![100, 32, 57];
    +  for i in &v {
    +      println!("{}", i);
    +  }
    +}
    +
  • +
  • +

    Iterating and mutating the vector:

    +
    #![allow(unused)]
    +fn main() {
    +    let mut v = vec![100, 32, 57];
    +    for i in &mut v {
    +        *i += 50;
    +    }
    +}
    +
  • +
  • +

    Storing values of different types using enums:

    +
    #![allow(unused)]
    +fn main() {
    +    // Using enums in vectors add stability as
    +    // when we'll use match all possible cases
    +    // will be covered.
    +    enum SpreadsheetCell {
    +        Int(i32),
    +        Float(f64),
    +        Text(String),
    +    }
    +
    +    let row = vec![
    +        SpreadsheetCell::Int(3),
    +        SpreadsheetCell::Text(String::from("blue")),
    +        SpreadsheetCell::Float(10.12),
    +    ];
    +}
    +
  • +
+

HashMaps

+
    +
  • +

    The type HashMap<K, V> stores a mapping of keys of type K to values of type V.

    +
  • +
  • +

    It does this via a hashing function, which determines how it places these keys and values into memory.

    +
  • +
  • +

    Creating a new HashMap:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let mut scores = HashMap::new();
    +
    +    scores.insert(String::from("Blue"), 10);
    +    scores.insert(String::from("Yellow"), 50);
    +}
    +
  • +
  • +

    Just like Vectors, HashMaps also save their values on Heap.

    +
  • +
  • +

    All Keys must have same type, and all values must have same type.

    +
  • +
  • +

    Creating HashMap through iterators:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let teams = vec![String::from("Blue"), String::from("Yellow")];
    +    let initial_scores = vec![10, 50];
    +
    +    let mut scores: HashMap<_, _> =
    +        teams.into_iter()
    +             .zip(initial_scores.into_iter()) // creates a tuple, example ("Blue", 10)
    +             .collect(); // Converts tuple into HashMap
    +}
    +
  • +
  • +

    HashMap and ownership: Types that implement Copy trait will be copied else moved. For Example, i32 will be copied but String will be moved.

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let field_name = String::from("Favorite color");
    +    let field_value = String::from("Blue");
    +
    +    let mut map = HashMap::new();
    +    map.insert(field_name, field_value);
    +    // You can't use field_name or field_value now, as they've been moved
    +}
    +
  • +
  • +

    Accessing value in HashMap, the get method returns Option<&V>:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let mut scores = HashMap::new();
    +
    +    scores.insert(String::from("Blue"), 10);
    +    scores.insert(String::from("Yellow"), 50);
    +
    +    let team_name = String::from("Blue");
    +    let score = scores.get(&team_name); // This is how we access value for a certain Key
    +
    +    // The score variable will contain - Some(&10)
    +}
    +
  • +
  • +

    Iterating over a HashMap:

    +
    #![allow(unused)]
    +fn main() {
    +    use std::collections::HashMap;
    +
    +    let mut scores = HashMap::new();
    +
    +    scores.insert(String::from("Blue"), 10);
    +    scores.insert(String::from("Yellow"), 50);
    +
    +    for (key, value) in &scores {
    +        println!("{}: {}", key, value);
    +    }
    +}
    +
  • +
  • +

    Updating a HashMap:

    +
      +
    • +

      Overwriting the value:

      +
      #![allow(unused)]
      +fn main() {
      +scores.insert(String::from("Blue"), 10);
      +scores.insert(String::from("Blue"), 25);
      +
      +// Output - scores = {"Blue": 25}
      +}
      +
    • +
    • +

      Only inserting the value if the Key has no value:

      +
      #![allow(unused)]
      +fn main() {
      +scores.insert(String::from("Blue"), 10);
      +
      +// We'll need to use entry to use or_insert
      +scores.entry(String::from("Yellow")).or_insert(50); // This will add 50
      +scores.entry(String::from("Blue")).or_insert(50); // This won't replace 10 with 50
      +
      +// Output - scores = {"Yellow": 50, "Blue": 10}
      +}
      +
    • +
    • +

      Updating a value based on the Old Value:

      +
      #![allow(unused)]
      +fn main() {
      +use std::collections::HashMap;
      +
      +let text = "hello world wonderful world";
      +
      +let mut map = HashMap::new();
      +
      +for word in text.split_whitespace() {
      +    let count = map.entry(word).or_insert(0); // or_insert returns mutable reference to the Value, &mut V
      +    *count += 1;
      +}
      +
      +println!("{:?}", map);
      +
      +// Output - map = {"world": 2, "hello": 1, "wonderful": 1}
      +}
      +
    • +
    +
  • +
  • +

    The hashing function that Rust uses is SipHash. You can replace the hashing function. Please refer here for more.

    +
  • +
+

Project Structuring and Error Handling

+
    +
  • You'll learn about how to structure the differences between packages, crates, modules and paths. It'll help you to modularize your code as your project grows. We'll talk about error handling and the differences between recoverable and unrecoverable errors.
  • +
+

Project Structuring

+
    +
  • The Rust's module system includes: +
      +
    • Packages: A Cargo feature that lets you build, test, and share crates
    • +
    • Crates: A tree of modules that produces a library or executable
    • +
    • Modules and use: Let you control the organization, scope, and privacy of paths
    • +
    • Paths: A way of naming an item, such as a struct, function, or module
    • +
    +
  • +
  • Once you’ve implemented an operation, other code can call that code via the code’s public interface without knowing how the implementation works.
  • +
  • The way you write code defines which parts are public for other code to use and which parts are private. +
      +
    • private - No exteranl code can call this code directly
    • +
    • public - External code can call this code directly
    • +
    +
  • +
  • The way privacy works in Rust is that all items (functions, methods, structs, enums, modules, and constants) are private by default.
  • +
+

Package

+
    +
  • When we run the command cargo new it creates the package.
  • +
  • A package contains a Cargo.toml file that describes how to build those crates.
  • +
  • A package can contain at most one library crate. It can contain as many binary crates as you’d like, but it must contain at least one crate (either library or binary).
  • +
  • As a package grows, you can extract parts into separate crates that become external dependencies.
  • +
+

Crates

+
    +
  • A crate is a binary or library.
  • +
  • The crate root is a source file that the Rust compiler starts from and makes up the root module of your crate.
  • +
  • Cargo follows a convention that src/main.rs is the crate root of a binary crate with the same name as the package.
  • +
  • Similarly, src/lib.rs is the crate root of a library crate with the same name as the package.
  • +
  • Cargo passes the crate root files to rustc to build the library or binary.
  • +
  • A crate’s functionality is namespaced in its own scope, it means we can import another crate let's say rand which has a trait named Rng, and still create a new struct named Rng in our project's crate. The rustc will never confuse between the two and we can access the rand's components as rand::Rng.
  • +
+

Modules

+
    +
  • +

    Modules are used to structure code inside a crate.

    +
  • +
  • +

    It is also used to provide privacy to your code.

    +
      +
    • private - Exteranl code outside that module can not call this code directly
    • +
    • public - External code outside that module can call this code directly
    • +
    +
  • +
  • +

    By using modules, we can group related definitions together and name why they’re related.

    +
  • +
  • +

    The benefit it'll provide you is that other programmers reading your code can easily find the code they are searching for because then they'll navigate through groups rather than each function definition. Also, they'll add new code in the right module.

    +
  • +
  • +

    The contents of the files src/main.rs and src/lib.rs (these files are also referred as crate roots) form a module named crate at the root of the crate’s module structure, known as the module tree.

    +
    crate                                 // An implicit module, definitely not named by you
    + └── front_of_house                   // Main Module inside lib.rs
    +     ├── hosting                      // Submodule
    +     │   ├── add_to_waitlist
    +     │   └── seat_at_table
    +     └── serving                      // Submodule
    +         ├── take_order
    +         ├── serve_order
    +         └── take_payment
    +
    +
  • +
+

Paths

+
    +
  • +

    We use a path in the same way we use a path when navigating a filesystem.

    +
  • +
  • +

    A path can take two forms:

    +
      +
    • An absolute path starts from a crate root by using a crate name or a literal crate.
    • +
    • A relative path starts from the current module and uses self, super, or an identifier in the current module.
    • +
    +
  • +
  • +

    You ma consider paths in rust quite similar to the paths used to access the filesystem

    +
      +
    • crate - Root (/)
    • +
    • :: - Used to distinct others (/)
    • +
    • super - Used to go back one step (../)
    • +
    +
  • +
  • +

    Here's an exmaple:

    +
    #![allow(unused)]
    +fn main() {
    +// eat_at_restaurant is a sibling to front_of_house (since they are in same file),
    +// thus front_of_house doesn't need pub keyword to make it accessible.
    +mod front_of_house {
    +    // Add pub to allow the functions that can access front_of_house to access hosting too.
    +    pub mod hosting {
    +        // Add pub to allow the functions that can access hosting to access add_to_waitlist too.
    +        pub fn add_to_waitlist() {}
    +    }
    +}
    +
    +pub fn eat_at_restaurant() {
    +    // Absolute path
    +    // Filesystem Equivalent to /front_of_house/hosting/add_to_waitlist
    +    crate::front_of_house::hosting::add_to_waitlist();
    +
    +    // Relative path
    +    // Filesystem Equivalent to front_of_house/hosting/add_to_waitlist
    +    front_of_house::hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    Our preference is to specify absolute paths because it’s more likely to move code definitions and item calls independently of each other.

    +
  • +
  • +

    Items in a parent module can’t use the private items inside child modules, but items in child modules can use the items in their ancestor modules.

    +
  • +
  • +

    But you can expose inner parts of child modules’ code to outer ancestor modules by using the pub keyword to make an item public.

    +
  • +
  • +

    If you want to make an item like a function or struct private, you put it in a module.

    +
  • +
  • +

    Another example to show usecase for super:

    +
    #![allow(unused)]
    +fn main() {
    +fn serve_order() {}
    +
    +mod back_of_house {
    +    fn fix_incorrect_order() {
    +        cook_order();
    +        super::serve_order();
    +    }
    +
    +    fn cook_order() {}
    +}
    +
    +}
    +
  • +
  • +

    If we make a struct public, it doesn't mean all it's fields are public too. We use . to access fields.

    +
    #![allow(unused)]
    +fn main() {
    +mod back_of_house {
    +    pub struct Breakfast {
    +        pub toast: String, // Accessible
    +        seasonal_fruit: String, // Not Accessible
    +    }
    +
    +  ...
    +}
    +}
    +
  • +
  • +

    On the other hand, if we make an enum public all it's variants becomes public too. We use :: to access variants.

    +
    #![allow(unused)]
    +fn main() {
    +mod back_of_house {
    +    pub enum Appetizer {
    +        Soup, // Accessible
    +        Salad, // Accessible
    +    }
    +
    +    ...
    +}
    +}
    +
  • +
+

The use keyword

+
    +
  • +

    It is similar to the import keyword in python.

    +
    #![allow(unused)]
    +fn main() {
    +mod front_of_house {
    +    pub mod hosting {
    +        pub fn add_to_waitlist() {}
    +    }
    +}
    +
    +// The line below will make hosting as a valid name in the scope
    +use crate::front_of_house::hosting;
    +
    +pub fn eat_at_restaurant() {
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    We can use the following ways to achieve the same thing:

    +
      +
    • use self::front_of_house::hosting;
    • +
    • use crate::front_of_house::hosting::add_to_waitlist;
    • +
    +
  • +
  • +

    Though, the one mentioned inside the code block is the idiiomatic way to do it in Rust.

    +
  • +
  • +

    On the other hand, when bringing in structs, enums, and other items with use, it’s idiomatic to specify the full path.

    +
    use std::collections::HashMap;
    +
    +fn main() {
    +    let mut map = HashMap::new();
    +    map.insert(1, 2);
    +}
    +
  • +
  • +

    In case if we have two items with same name (in our case Result) but from different crates (in our case fmt and io), then we'll not use the full path, as it'll confuse Rust.

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt;
    +use std::io;
    +
    +// This way Rust will be able to distinguish which Result we want
    +fn function1() -> fmt::Result {
    +    // --snip--
    +}
    +
    +fn function2() -> io::Result<()> {
    +    // --snip--
    +}
    +}
    +
  • +
  • +

    Alternatively, we can use the as keyword to deal with two same names.

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt::Result;
    +use std::io::Result as IoResult;
    +}
    +
  • +
  • +

    We can re-export the code using pub use.

    +
    #![allow(unused)]
    +fn main() {
    +mod front_of_house {
    +    pub mod hosting {
    +        pub fn add_to_waitlist() {}
    +    }
    +}
    +
    +// The use keyword will create a local variable named hosting in this scope
    +// and pub keyword will re-export it for the external code to use it.
    +pub use crate::front_of_house::hosting;
    +
    +pub fn eat_at_restaurant() {
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    Using external packages:

    +
      +
    • +

      First, we'll add the name and version of the package in cargo.toml, so that it can be automatically downloaded through crates.io.

      +
      rand = "0.8.3"
      +
      +
    • +
    • +

      Then, we'll use the use keyword to bring it into the scope.

      +
      use rand::Rng;
      +
      +fn main() {
      +    let secret_number = rand::thread_rng().gen_range(1..101);
      +}
      +
    • +
    • +

      The packages like std is also external but is a part of Rust language and it is not needed to download it from crates.io.

      +
    • +
    +
  • +
  • +

    Nesting the paths:

    +
    #![allow(unused)]
    +fn main() {
    +// Dirty Approach
    +use std::cmp::Ordering;
    +use std::io;
    +
    +// Cleaneer Aproach (Nested)
    +use std::{cmp::Ordering, io};
    +
    +//Another Dierty Approach
    +use std::io;
    +use std::io::Write;
    +
    +// Cleaner Approach (Nesting using self)
    +use std::io::{self, Write};
    +}
    +
  • +
  • +

    The glob operator (*), is used to bring all public definitions into the scope.

    +
    #![allow(unused)]
    +fn main() {
    +// It is a bit riskier, as it is hard to identify what all definitions have been brought into scope
    +use std::collections::*;
    +}
    +
  • +
+

Modularizing

+

Modularizing in different files

+
    +
  • +

    Let's say we decided to put some code in the file src/front_of_house.rs, and we want to use this code inside the file src/lib.rs. It can be done like this:

    +
    src
    + ├── front_of_house.rs
    + └── lib.rs
    +
    +
    #![allow(unused)]
    +fn main() {
    +// Filename: src/lib.rs
    +// This will bring the contents of module (thst is stored in file `src/front_of_house.rs`)
    +// into the current file
    +mod front_of_house;
    +
    +// This will allow us to use as well as export it
    +// so that external can use it too.
    +pub use crate::front_of_house::hosting;
    +
    +pub fn eat_at_restaurant() {
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +    hosting::add_to_waitlist();
    +}
    +}
    +
  • +
  • +

    Now, we can make a new directory as well and can store the files as folows:

    +
    src
    + ├── front_of_house
    + │   └── hosting.rs
    + ├── front_of_house.rs
    + └── lib.rs
    +
    +
    #![allow(unused)]
    +fn main() {
    +// Filename: src/front_of_house.rs
    +pub mod hosting;
    +}
    +
    #![allow(unused)]
    +fn main() {
    +// Filename: src/front_of_house/hosting.rs
    +pub fn add_to_waitlist() {}
    +}
    +
  • +
+

Re-exporting

+
    +
  • +

    You may use re-exporting, for making it easier to use your crate for other developers. It allows to use the structures directly intead of following the heirarchy in which the crate is designed.

    +
      +
    • +

      Without re-exporting:

      +
        +
      • +

        How structure looks:

        +
        #![allow(unused)]
        +fn main() {
        +pub mod kinds {
        +    pub enum PrimaryColor {
        +      ...
        +    }
        +
        +    pub enum SecondaryColor {
        +      ...
        +    }
        +}
        +
        +pub mod utils {
        +    use crate::kinds::*;
        +
        +    pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
        +        ...
        +    }
        +}
        +}
        +
      • +
      • +

        How others will be using it:

        +
        use art::kinds::PrimaryColor;
        +use art::utils::mix;
        +
        +fn main() {
        +    let red = PrimaryColor::Red;
        +    let yellow = PrimaryColor::Yellow;
        +    mix(red, yellow);
        +}
        +
      • +
      +
    • +
    • +

      With re-exporting:

      +
        +
      • +

        How structure looks:

        +
        #![allow(unused)]
        +fn main() {
        +// Here we're re-exporting it for direct use
        +pub use self::kinds::PrimaryColor;
        +pub use self::kinds::SecondaryColor;
        +pub use self::utils::mix;
        +
        +pub mod kinds {
        +    ...
        +}
        +
        +pub mod utils {
        +    ...
        +}
        +}
        +
      • +
      • +

        How others will be using it:

        +
        // Isn't it easier to import now?
        +use art::mix;
        +use art::PrimaryColor;
        +
        +fn main() {
        +  let red = PrimaryColor::Red;
        +  let yellow = PrimaryColor::Yellow;
        +  mix(red, yellow);
        +}
        +
      • +
      +
    • +
    +
  • +
+

Workspaces

+
    +
  • +

    A workspace is a set of packages that share the same Cargo.lock and output directory.

    +
  • +
  • +

    You can build your workspace that looks like this:

    +
    add
    +├── Cargo.lock
    +├── Cargo.toml
    +├── add_one
    +│   ├── Cargo.toml
    +│   └── src
    +│       └── lib.rs
    +├── adder
    +│   ├── Cargo.toml
    +│   └── src
    +│       └── main.rs
    +└── target // Notice only one target directory
    +
    +
  • +
  • +

    The cargo.toml of add (the outer one) of the workspace will look like this:

    +
    <!-- Filename: add/Cargo.toml -->
    +[workspace]
    +
    +members = [
    +    "adder",
    +    "add_one",
    +]
    +
    +
  • +
  • +

    The workspace has one target directory at the top level, the adder package doesn’t have its own target directory.

    +
  • +
  • +

    Even if we were to run cargo build from inside the adder directory, the compiled artifacts would still end up in add/target rather than add/adder/target.

    +
  • +
  • +

    The cargo.toml of adder will look like this:

    +
    <!-- Filename: add/adder/Cargo.toml -->
    +[dependencies]
    +add_one = { path = "../add_one" }
    +
    +
  • +
  • +

    The main.rs in adder will look something like this:

    +
    // Filename: add/adder/src/main.rs
    +use add_one;
    +
    +fn main() {
    +    let num = 10;
    +    println!(
    +        "Hello, world! {} plus one is {}!",
    +        num,
    +        add_one::add_one(num)
    +    );
    +}
    +
  • +
  • +

    To build the whole workspace, you may run this command from the add directory (the outer).

    +
    $ cargo build
    +   Compiling add_one v0.1.0 (file:///projects/add/add_one)
    +   Compiling adder v0.1.0 (file:///projects/add/adder)
    +    Finished dev [unoptimized + debuginfo] target(s) in 0.68s
    +
    +
  • +
  • +

    To run a particular package you may run the following command:

    +
    $ cargo run -p adder
    +    Finished dev [unoptimized + debuginfo] target(s) in 0.0s
    +     Running `target/debug/adder`
    +Hello, world! 10 plus one is 11!
    +
    +
  • +
  • +

    All the dependencies in different packages will use the same version of the dependency. It is because the cargo.toml of the workspace will make only one entry of the dependency. It also saves space and makes all the package compatible with each other, since they'll be using the same version of the dependency.

    +
  • +
  • +

    To run all test:

    +
    cargo run test
    +
    +
  • +
  • +

    To run test in particular file:

    +
    cargo test -p add_one
    +
    +
  • +
+

Refactoring Guides

+

This pattern is about separating concerns: main.rs handles running the program, and lib.rs handles all the logic of the task at hand. Because you can’t test the main function directly, this structure lets you test all of your program’s logic by moving it into functions in lib.rs. The only code that remains in main.rs will be small enough to verify its correctness by reading it.

+

Error Handling

+

Types of Errors

+
+ + + +
RecoverableUnrecoverable
Errors like file not found error.Errors like trying to access a location beyond the end of an array.
It’s reasonable to report the problem to the user and retry the operation.They are always symptoms of bugs.
Result<T, E> is used for Recoverable Errors.The panic! macro is used to stop the execution for an unrecoverable error.
+
+

Unrecoverable Errors with panic!

+

Fun Fact: In C, attempting to read beyond the end of a data structure is undefined behavior. You might get whatever is at the location in memory that would correspond to that element in the data structure, even though the memory doesn’t belong to that structure. This is called a buffer overread and can lead to security vulnerabilities if an attacker is able to manipulate the index in such a way as to read data they shouldn’t be allowed to that is stored after the data structure. In Rust, you'll encounter a panic!() in such cases.

+
    +
  • +

    When the panic! macro executes, Rust does the following:

    +
      +
    • Print a failure message
    • +
    • Unwind and clean up the stack
    • +
    • Quit
    • +
    +
  • +
  • +

    Panic is usually used, when a bug appears and the programmer doesn't know how to handle it.

    +
  • +
  • +

    If you don't want your program to "slowly unwind and clean up the stack" instead "abort the program and let OS handle the cleaning". You may do that by adding following lines to the Cargo.toml file. Refer here for more.

    +
    #![allow(unused)]
    +fn main() {
    +[profile.release]
    +panic = 'abort'
    +}
    +
  • +
  • +

    To receive a backtrace in case of panic, you might need to run the following command:

    +
    RUST_BACKTRACE=1 cargo run
    +
    +
  • +
  • +

    The best way to read backtraces is to ready from top to bottom, once you see the first instance mentioning a file that you've written, you should probably try to solve from there.

    +
  • +
  • +

    Debug symbols (they are required to receive backtraces) are enabled by default when using cargo build or cargo run without the --release flag.

    +
  • +
+

Recoverable Errors with Result

+
    +
  • +

    Result is an enum, that considers two possible outcomes: success (Ok(T)) or failure (Err(E)).

    +
    #![allow(unused)]
    +fn main() {
    +enum Result<T, E> {
    +    Ok(T),
    +    Err(E),
    +}
    +}
    +
  • +
  • +

    Handling recoverable errors using the match expression.

    +
    use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt");
    +
    +    let f = match f {
    +        Ok(file) => file, // Handling Success
    +        Err(error) => panic!("Problem opening the file: {:?}", error), // Handling Failure
    +    };
    +}
    +
  • +
  • +

    Matching on different errors:

    +
    use std::fs::File;
    +use std::io::ErrorKind;
    +
    +fn main() {
    +    let f = File::open("hello.txt");
    +
    +    // Match on File, whether it gets opened or not
    +    let f = match f {
    +        Ok(file) => file,
    +        // If file not found, then create a new file and transfer file handle,
    +        // this error is part of io::ErrorKind, which was found using error.kind()
    +        Err(error) => match error.kind() {
    +            // In case we receive ErrorKind::NotFound, we'll apply
    +            // match again to check whether creation of file, fails or succeeds
    +            ErrorKind::NotFound => match File::create("hello.txt") {
    +                Ok(fc) => fc,
    +                Err(e) => panic!("Problem creating the file: {:?}", e),
    +            },
    +            other_error => {
    +                panic!("Problem opening the file: {:?}", other_error)
    +            }
    +        },
    +    };
    +}
    +
  • +
  • +

    In case you don't like using a lot of match statements (refer above example), you may use unwrap_or_else:

    +
    use std::fs::File;
    +use std::io::ErrorKind;
    +
    +fn main() {
    +   let f = File::open("hello.txt").unwrap_or_else(|error| {
    +     if error.kind() == ErrorKind::NotFound {
    +       File::create("hello.txt").unwrap_or_else( |error| {
    +         panic!("Problem creating the file: {:?}", error);
    +       }
    +       )
    +     } else {
    +       panic!("Problem opening the file: {:?}", error);
    +     }
    +   })
    +}
    +
  • +
  • +

    In case you want a shortcut, you may only use unwrap(). It either returns what's inside Ok(T), or panics in case of Err(E):

    +
    use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt").unwrap();
    +}
    +
  • +
  • +

    For those cases, when you want to send a panic message but only want to unwrap in one line, you may use expect:

    +
    use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt").expect("Failed to open hello.txt"); // Same as unwrap but contains panic message
    +}
    +
  • +
  • +

    Propogating errors using the Result:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs::File;
    +use std::io::{self, Read};
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    let f = File::open("hello.txt");
    +
    +    let mut f = match f {
    +        Ok(file) => file,
    +        Err(e) => return Err(e), // This is a std::io error type
    +    };
    +
    +    let mut s = String::new();
    +
    +    match f.read_to_string(&mut s) {
    +        Ok(_) => Ok(s),
    +        Err(e) => Err(e), // This is also a std::io error type
    +    }
    +}
    +}
    +
  • +
  • +

    The shortcut of above code can be done using ?. unwrap panics in case of Err(E), but this operator returns the error, same as the code above.

    +
    #![allow(unused)]
    +fn main() {
    +// ? operator changes the error type to the mentioned
    +// Error type in the fn declaration using the from implementation
    +use std::fs::File;
    +use std::io;
    +use std::io::Read;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    let mut f = File::open("hello.txt")?;
    +    let mut s = String::new();
    +    f.read_to_string(&mut s)?;
    +    Ok(s)
    +}
    +}
    +
  • +
  • +

    It is possible to use the ? operator multiple times in a single line:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs::File;
    +use std::io;
    +use std::io::Read;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    let mut s = String::new();
    +
    +    File::open("hello.txt")?.read_to_string(&mut s)?;
    +
    +    Ok(s)
    +}
    +}
    +
  • +
  • +

    There's a Rust's official implementation of the functionality mentioned in the above code:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs;
    +use std::io;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    fs::read_to_string("hello.txt")
    +}
    +}
    +
  • +
  • +

    The ? operator can only be used in the functions that has a return type of Result<Ok(T), Err(E)>, Option<Some(T), None>, or another type that implements FromResidual:

    +
    // FAIL: main() doensn't returns a Result<>
    +// but the ? operator requires that
    +use std::fs::File;
    +
    +fn main() {
    +    let f = File::open("hello.txt")?;
    +}
    +
    #![allow(unused)]
    +fn main() {
    +// It works with the Option
    +fn last_char_of_first_line(text: &str) -> Option<char> {
    +  text.lines().next()?.chars().last()
    +}
    +}
    +
  • +
  • +

    There's a way to use ? inside main(). The main() either returs 0 on success or other integer on failure. Also, it's possible to return <Result(), E>:

    +
    use std::error::Error;
    +use std::fs::File;
    +
    +fn main() -> Result<(), Box<dyn Error>> {
    +    let f = File::open("hello.txt")?;
    +
    +    Ok(())
    +}
    +
  • +
  • +

    Differences between unwrap, unwrap_or, and ? operator

    +
  • +
+
+ + + + +
Propertyunwrapexpectunwrap_or? operator
Error HandlingPanicsPanics with the given messageExecutes code inside it's paranthesesReturns error
Can be used on Result:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
Can be used on Option:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark:
Function return type to be same as wrapped item:x::x::x::heavy_check_mark:
+
+

Note: You can only use the ? operator on a Result in a function that returns Result, and you can use the ? operator on an Option in a function that returns Option.

+
    +
  • +

    To panic! or Not to panic!

    +
      +
    • +

      When to use Result

      +
        +
      • When panic! is called, there is no way to recover the program, so if there is a slightest possiblity to recover the program, it's recommended to use that instead of panic!.
      • +
      • Always try to prevent converting a recoverable error into an unrecoverable one. Hence, always prefer Result over panic!.
      • +
      • The unwrap and expect methods are very handy when prototyping, and if you want to make your program more robust, you may add better error handling.
      • +
      +
    • +
    • +

      When to use panic!

      +
        +
      • In case you want your test to fail in certain cases, even if a certain fn is not exactly what the test is for, it's better to panic! in those situations.
      • +
      • It’s advisable to have your code panic when it’s possible that your code could end up in a bad state. The bad state is something that is unexpected, as opposed to something that will likely happen occasionally, like a user entering data in the wrong format. You don't want to carry this bad state throughout the program and instead would prefer it to end through panic!.
      • +
      • If someone calls your code and passes in values that don’t make sense, the best choice might be to call panic! and alert the person using your library to the bug in their code so they can fix it during development.
      • +
      • Similarly, panic! is often appropriate if you’re calling external code that is out of your control and it returns an invalid state that you have no way of fixing.
      • +
      • When your code performs operations on values, your code should verify the values are valid first and panic if the values aren’t valid. This is mostly for safety reasons: attempting to operate on invalid data can expose your code to vulnerabilities.
      • +
      • However, having lots of error checks in all of your functions would be verbose and annoying. Fortunately, you can use Rust’s type system (and thus the type checking the compiler does) to do many of the checks for you. If your function has a particular type as a parameter, you can proceed with your code’s logic knowing that the compiler has already ensured you have a valid value. For example, if you have a type rather than an Option, your program expects to have something rather than nothing.
      • +
      • Another example is using an unsigned integer type such as u32, which ensures the parameter is never negative.
      • +
      +
    • +
    • +

      When to call unwrap()

      +
        +
      • +

        In case you exactly know that the code won't panic!, then it's better to use unwrap(), and stop caring about the other possibilities. Here's an Example:

        +
        #![allow(unused)]
        +fn main() {
        +use std::net::IpAddr;
        +
        +// Compile isn't smart enough to see this string is a valid IP address
        +// but we are
        +let home: IpAddr = "127.0.0.1".parse().unwrap();
        +}
        +
      • +
      +
    • +
    +
  • +
+

Medium Concepts

+

This section will cover the functional programming features like closures and iterators. Also, it'll talk about how you can perform Object Oriented Programming in Rust. It'll also talk about other features like generics, traits and lifetimes etc.

+

Generics

+
    +
  • Generics are used to prevent the duplication of concepts and are generalized over a type.
  • +
  • Some examples of generics are Result<T,E>, Option<T>, Vec<T>, and HashMap<K,V>.
  • +
  • Possible Use Cases: +
      +
    • You can define an enum or struct which can accomodate different data types.
    • +
    • You can define a function which can provide same functionality for different types. For Example, finding the largest element inside a vector of numbers or chars.
    • +
    +
  • +
  • In Rust, declaring generics aren't any slower than using concrete types, because it uses a process called Monomorphization to achieve that. Monomorphization is the process of turning generic code into specific code by filling in the concrete types that are used when compiled.
  • +
+

Generics on structs

+
    +
  • +

    To create a generic struct:

    +
    // We used type T to make the struct generic
    +// so that it can accomodate any type
    +struct Point<T> {
    +    x: T,
    +    y: T,
    +}
    +
    +fn main() {
    +    let integer = Point { x: 5, y: 10 };
    +    let float = Point { x: 1.0, y: 4.0 };
    +
    +    // FAIL: First is i32 and the other is f32, hence different types.
    +    let wont_work = Point { x: 5, y: 4.0 };
    +}
    +
  • +
  • +

    To make the wont_work to work fine, we'll need to change the code as follows:

    +
    struct Point<T, U> {
    +    x: T,
    +    y: U,
    +}
    +
    +fn main() {
    +    let integer = Point { x: 5, y: 10 };
    +    let float = Point { x: 1.0, y: 4.0 };
    +
    +    let will_work = Point { x: 5, y: 4.0 };
    +}
    +
  • +
+

Generics on Enums

+
    +
  • +

    The Option<T> enum:

    +
    #![allow(unused)]
    +fn main() {
    +enum Option<T> {
    +  Some(T),
    +  None
    +}
    +}
    +
  • +
  • +

    The Result<T, E> enum uses two types:

    +
    #![allow(unused)]
    +fn main() {
    +enum Result<T, E> {
    +    Ok(T),
    +    Err(E),
    +}
    +}
    +
  • +
+

Generics on Functions

+
    +
  • +

    To use generics on impl blocks:

    +
    struct Point<T> {
    +    x: T,
    +    y: T,
    +}
    +
    +// By using T after impl means that
    +impl<T> Point<T> {
    +    fn x(&self) -> &T {
    +        &self.x
    +    }
    +}
    +
    +// impl for just one concrete type
    +impl Point<f32> {
    +    fn distance_from_origin(&self) -> f32 {
    +        (self.x.powi(2) + self.y.powi(2)).sqrt()
    +    }
    +}
    +
    +fn main() {
    +    let p = Point { x: 5, y: 10 };
    +
    +    println!("p.x = {}", p.x());
    +}
    +
  • +
  • +

    To use on impl on different types:

    +
    struct Point<X1, Y1> {
    +    x: X1,
    +    y: Y1,
    +}
    +
    +impl<X1, Y1> Point<X1, Y1> {
    +    fn mixup<X2, Y2>(self, other: Point<X2, Y2>) -> Point<X1, Y2> {
    +        Point {
    +            x: self.x,
    +            y: other.y,
    +        }
    +    }
    +}
    +
    +fn main() {
    +    let p1 = Point { x: 5, y: 10.4 };
    +    let p2 = Point { x: "Hello", y: 'c' };
    +
    +    let p3 = p1.mixup(p2);
    +
    +    println!("p3.x = {}, p3.y = {}", p3.x, p3.y);
    +}
    +
  • +
+

Traits

+
    +
  • +

    A trait tells the Rust compiler about functionality a particular type has and can share with other types.

    +
  • +
  • +

    They are similar to the interfaces in other languages. They are used to define the method signature.

    +
  • +
  • +

    You may define the code implementations inside the impl block of the types that implement that trait.

    +
  • +
  • +

    It is also possible to define a default implementation and then override it in impl block.

    +
  • +
  • +

    Use cases:

    +
      +
    • +

      For example, you're creating a library that wants to summarize an article or a tweet. We want to implement this shared functionality.

      +
    • +
    • +

      We can define a trait to define the interface of this functionality.

      +
      #![allow(unused)]
      +fn main() {
      +pub trait Summary {
      +    fn summarize(&self) -> String;
      +}
      +}
      +
    • +
    • +

      Now each type implementing this trait must provide its own custom behavior for the body of the method.

      +
    • +
    +
  • +
+

Implementing a trait

+
    +
  • +

    Implementing trait on different types

    +
    #![allow(unused)]
    +fn main() {
    +pub struct NewsArticle {
    +    pub headline: String,
    +    pub location: String,
    +    pub author: String,
    +    pub content: String,
    +}
    +
    +impl Summary for NewsArticle {
    +    fn summarize(&self) -> String {
    +        format!("{}, by {} ({})", self.headline, self.author, self.location)
    +    }
    +}
    +
    +pub struct Tweet {
    +    pub username: String,
    +    pub content: String,
    +    pub reply: bool,
    +    pub retweet: bool,
    +}
    +
    +impl Summary for Tweet {
    +    fn summarize(&self) -> String {
    +        format!("{}: {}", self.username, self.content)
    +    }
    +}
    +}
    +
  • +
  • +

    Using types that implements trait:

    +
    // You'll require to pull both trait along with the desired type
    +use aggregator::{Summary, Tweet};
    +
    +fn main() {
    +    let tweet = Tweet {
    +        username: String::from("horse_ebooks"),
    +        content: String::from(
    +            "of course, as you probably already know, people",
    +        ),
    +        reply: false,
    +        retweet: false,
    +    };
    +
    +    println!("1 new tweet: {}", tweet.summarize());
    +}
    +
  • +
+

Restrictions

+
    +
  • One restriction to note with trait implementations is that we can implement a trait on a type only if at least one of the trait or the type is local to our crate. +
      +
    • For example, we can implement standard library traits like Display on a custom type like Tweet as part of our aggregator crate functionality, because the type Tweet is local to our aggregator crate.
    • +
    • But we can’t implement external traits on external types. For example, we can’t implement the Display trait on Vec<T> within our aggregator crate, because Display and Vec<T> are defined in the standard library and aren’t local to our aggregator crate.
    • +
    +
  • +
  • This restriction is part of a property of programs called coherence, and more specifically the orphan rule, so named because the parent type is not present. This rule ensures that other people’s code can’t break your code and vice versa.
  • +
+

Default Implementations

+
    +
  • +

    We can define a default implementation by adding code inside the method signatures of traits.

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Summary {
    +    fn summarize(&self) -> String {
    +        String::from("(Read more...)")
    +    }
    +}
    +}
    +
  • +
  • +

    To use default implementation on a type, we can do that by using empty braces {}.

    +
    #![allow(unused)]
    +fn main() {
    +impl Summary for NewsArticle {}
    +}
    +
  • +
  • +

    It is possible to keep a trait with a mix of method signatures and method signatures with default implementations.

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Summary {
    +    fn summarize_author(&self) -> String;
    +
    +    fn summarize(&self) -> String {
    +        format!("(Read more from {}...)", self.summarize_author())
    +    }
    +}
    +}
    +
  • +
  • +

    Now we only need to require to define summarize_author method inside the impl block of the type that's implementing the trait.

    +
    #![allow(unused)]
    +fn main() {
    +impl Summary for Tweet {
    +    fn summarize_author(&self) -> String {
    +        format!("@{}", self.username)
    +    }
    +
    +    // We do not require to define the summarize() method
    +    // as we can use the trait's default implementation
    +}
    +}
    +
  • +
+

Note: Calling the default implementation from an overriding implementation won't work.

+

Traits as Paramteres

+
    +
  • +

    You can define the type of parameters of a function as a trait.

    +
  • +
  • +

    Then, you can pass any type that implements the specified trait.

    +
  • +
  • +

    Here's the syntax for that:

    +
    #![allow(unused)]
    +fn main() {
    +pub fn notify(item: &impl Summary) {
    +    println!("Breaking news! {}", item.summarize());
    +}
    +}
    +
  • +
  • +

    Code that calls the function with any other type, such as a String or an i32, won’t compile because those types don’t implement Summary.

    +
  • +
  • +

    The above syntax is the simpler version of this original syntax, known as "trait bound syntax":

    +
    #![allow(unused)]
    +fn main() {
    +pub fn notify<T: Summary>(item: &T) {
    +    println!("Breaking news! {}", item.summarize());
    +}
    +}
    +
  • +
  • +

    It is possible to use this syntax like this:

    +
    #![allow(unused)]
    +fn main() {
    +pub fn notify<T: Summary>(item1: &T, item2: &T) {
    +}
    +
  • +
  • +

    It is possible to define multiple trait bounds for a single parameter:

    +
    #![allow(unused)]
    +fn main() {
    +// In both these cases, item must be a type that
    +// implements both traits Summary and Display
    +
    +// Method 1 ->
    +pub fn notify(item: &(impl Summary + Display)) {
    +
    +// Method 2 ->
    +pub fn notify<T: Summary + Display>(item: &T) {
    +}
    +
  • +
  • +

    You can use where clause to declutter the signature. For Example:

    +
    #![allow(unused)]
    +fn main() {
    +fn some_function<T, U>(t: &T, u: &U) -> i32
    +    where T: Display + Clone,
    +          U: Clone + Debug
    +{
    +}
    +
  • +
  • +

    Similar to function parameters, it is possible to return types that implements traits:

    +
    #![allow(unused)]
    +fn main() {
    +// Signature says that it'll return any type that implements the trait Summary
    +fn returns_summarizable() -> impl Summary {
    +    // Tweet is some type that implements Summary
    +    Tweet {
    +        username: String::from("horse_ebooks"),
    +        content: String::from(
    +            "of course, as you probably already know, people",
    +        ),
    +        reply: false,
    +        retweet: false,
    +    }
    +}
    +}
    +
  • +
  • +

    However, you can only use impl Trait if you’re returning a single type. For example:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Either return NewsArticle or Tweet (only one type that implements Summary)
    +fn returns_summarizable(switch: bool) -> impl Summary {
    +    if switch {
    +        NewsArticle {
    +          ...
    +        }
    +    } else {
    +        Tweet {
    +          ...
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    Finding the largest character of an array of integer or an array of characters using generics and traits:

    +
    // Generic is used as we defined T in the signature, allowing any type to pass
    +// Trait bound is specified as PartialOrd is added to the signature, allowing any type that allows comparison, and copy (both i32 and char do)
    +fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
    +    let mut largest = list[0];
    +
    +    for &item in list {
    +        if item > largest {
    +            largest = item;
    +        }
    +    }
    +
    +    largest
    +}
    +
    +fn main() {
    +    let number_list = vec![34, 50, 25, 100, 65];
    +
    +    let result = largest(&number_list);
    +    println!("The largest number is {}", result);
    +
    +    let char_list = vec!['y', 'm', 'a', 'q'];
    +
    +    let result = largest(&char_list);
    +    println!("The largest char is {}", result);
    +}
    +
  • +
  • +

    Using Trait Bounds to Conditionally Implement Methods:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt::Display;
    +
    +struct Pair<T> {
    +    x: T,
    +    y: T,
    +}
    +
    +impl<T> Pair<T> {
    +    fn new(x: T, y: T) -> Self {
    +        Self { x, y }
    +    }
    +}
    +
    +// cmp_display will only run on types bounded by traits Display and PartialOrd, hence works conditionally
    +impl<T: Display + PartialOrd> Pair<T> {
    +    fn cmp_display(&self) {
    +        if self.x >= self.y {
    +            println!("The largest member is x = {}", self.x);
    +        } else {
    +            println!("The largest member is y = {}", self.y);
    +        }
    +    }
    +}
    +}
    +
  • +
+

Lifetimes

+

Fun Fact: The developers who are programming Rust are constantly programming the patterns into the compiler’s code so the borrow checker could infer the lifetimes in some situations and wouldn’t need explicit annotations. These patterns programmed into Rust’s analysis of references are called the lifetime elision rules. Thus, making lifetimes easier to use day by day.

+
    +
  • +

    Lifetime is a way to specify how long the multiple references will live. So, it doesn't make sense to add lifetime to just one reference, they must be multiple.

    +
  • +
  • +

    Ways to add lifetime specifiers:

    +
    #![allow(unused)]
    +fn main() {
    +&i32        // a reference
    +&'a i32     // a reference with an explicit lifetime
    +&'a mut i32 // a mutable reference with an explicit lifetime
    +}
    +
  • +
+

Note: We'll may or may not use lifetimes only when we're dealing with references.

+
    +
  • +

    For example, let’s say we have a function with the parameter first that is a reference to an i32 with lifetime 'a. The function also has another parameter named second that is another reference to an i32 that also has the lifetime 'a. The lifetime annotations indicate that the references first and second must both live as long as that generic lifetime.

    +
  • +
  • +

    Every reference in Rust has a lifetime.

    +
  • +
  • +

    Here's an exmple of dangling reference:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Rust prevents dangling references
    +    {
    +        let r;                // ---------+-- 'a
    +                              //          |
    +        {                     //          |
    +            let x = 5;        // -+-- 'b  |
    +            r = &x;           //  |       |
    +        }                     // -+       | <- x dies but r stores reference of x, hence r stores a dangling referece
    +                              //          |
    +        println!("r: {}", r); //          |
    +    }                         // ---------+
    +}
    +
  • +
  • +

    Rust won't compile the above code, as it uses a borrow checker, to verify whether a reference or borrow is valid or not.

    +
  • +
  • +

    We may fix it by fixing the lives of variables by declaring them at different places:

    +
    #![allow(unused)]
    +fn main() {
    +    {
    +        let x = 5;            // ----------+-- 'b
    +                              //           |
    +        let r = &x;           // --+-- 'a  |
    +                              //   |       |
    +        println!("r: {}", r); //   |       |
    +                              // --+       |
    +    }                         // ----------+
    +}
    +
  • +
  • +

    This code will not compile, it'll require lifetime specifiers:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Rust can’t tell whether the reference being returned refers to x or y.
    +fn longest(x: &str, y: &str) -> &str {
    +    if x.len() > y.len() {
    +        x
    +    } else {
    +        y
    +    }
    +}
    +}
    +
    #![allow(unused)]
    +fn main() {
    +// Compiler will ask us to rewrite the signature like this
    +fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    +// Lifetimes on function or method parameters are called input lifetimes, and lifetimes on return values are called output lifetimes.
    +}
    +
  • +
  • +

    The reason why Rust asks us to specify the lifetimes are due to these reasons:

    +
      +
    • We don’t know whether the if case or the else case will execute.
    • +
    • We also don’t know the concrete lifetimes of the references that will be passed in.
    • +
    +
  • +
  • +

    When we add the lifetime specifiers as specified by the compiler, it means, the generic lifetime 'a will get the concrete lifetime that is equal to the smaller of the lifetimes of x and y (the variables passed in).

    +
  • +
+

Note: Remember, when we specify the lifetime parameters in this function signature, we’re not changing the lifetimes of any values passed in or returned. Rather, we’re specifying that the borrow checker should reject any values that don’t adhere to these constraints. Note that the longest function doesn’t need to know exactly how long x and y will live, only that some scope can be substituted for 'a that will satisfy this signature.

+
    +
  • How borrow checker will allow:
  • +
+
// Works: result is valid until the inner scope ends, string2 and string1 are valid too, hence borrow checker allows
+fn main() {
+    let string1 = String::from("long string is long");
+
+    {
+        let string2 = String::from("xyz");
+        let result = longest(string1.as_str(), string2.as_str());
+        println!("The longest string is {}", result);
+    }
+}
+
+// FAILS: The way we've specified lifetimes, result should have a shorter lifetime, equivalent to that of string2. Since, the code doesn't follows the rule, it fails.
+fn main() {
+    let string1 = String::from("long string is long");
+    let result;
+    {
+        let string2 = String::from("xyz");
+        result = longest(string1.as_str(), string2.as_str());
+    }
+    println!("The longest string is {}", result);
+}
+
    +
  • In the second case, this is the error that the compiler will throw:
  • +
+
  |
+6 |         result = longest(string1.as_str(), string2.as_str());
+  |                                            ^^^^^^^^^^^^^^^^ borrowed value does not live long enough
+7 |     }
+  |     - `string2` dropped here while still borrowed
+8 |     println!("The longest string is {}", result);
+  |                                          ------ borrow later used here
+
+
    +
  • +

    The below code will not compile because even though we’ve specified a lifetime parameter 'a for the return type, this implementation will fail to compile because the return value lifetime is not related to the lifetime of the parameters at all.

    +
    #![allow(unused)]
    +fn main() {
    +fn longest<'a>(x: &str, y: &str) -> &'a str {
    +    let result = String::from("really long string");
    +    result.as_str()
    +}
    +}
    +
  • +
  • +

    The compiler will throw this error, since Rust will prevent us from creating dangling reference.

    +
      --> src/main.rs:11:5
    +   |
    +11 |     result.as_str()
    +   |     ^^^^^^^^^^^^^^^ returns a reference to data owned by the current function
    +
    +
  • +
  • +

    In this case, the best fix would be to return an owned data type rather than a reference so the calling function is then responsible for cleaning up the value.

    +
  • +
  • +

    Rust is improving day by day to not require programmers to use lifetimes in some places. For Example:

    +
    #![allow(unused)]
    +fn main() {
    +// Even though we're dealing with references in functions,
    +// compiler won't ask us to specify lifetimes, it's because
    +// rust devs improved the rust compiler so that the borrow
    +// checker need not to not ask for lifetimes in this case
    +fn first_word(s: &str) -> &str {
    +    let bytes = s.as_bytes();
    +
    +    for (i, &item) in bytes.iter().enumerate() {
    +        if item == b' ' {
    +            return &s[0..i];
    +        }
    +    }
    +
    +    &s[..]
    +}
    +
    +// In earlier version (pre-1.0), the signature would've looked like this
    +fn first_word<'a>(s: &'a str) -> &'a str {
    +}
    +
  • +
+

Rules of lifetimes

+
    +
  • +

    There are 3 rules that compiler follows to verify whether lifetimes are valid or not.

    +
      +
    • First Rule: Each parameter that is a reference gets its own lifetime parameter. +
        +
      • A function with one parameter gets one lifetime parameter: fn foo<'a>(x: &'a i32);
      • +
      • A function with two parameters gets two separate lifetime parameters: fn foo<'a, 'b>(x: &'a i32, y: &'b i32); and so on.
      • +
      +
    • +
    • Second Rule: If there is exactly one input lifetime parameter, that lifetime is assigned to all output lifetime parameters. +
        +
      • For Example, fn foo<'a>(x: &'a i32) -> &'a i32.
      • +
      • There was only one parameter, hence one lifetime for inputs, so the same lifetime was assigned to the output.
      • +
      +
    • +
    • Third Rule: If there are multiple input lifetime parameters, but one of them is &self or &mut self because this is a method, the lifetime of self is assigned to all output lifetime parameters. +
        +
      • This third rule makes methods much nicer to read and write because fewer symbols are necessary.
      • +
      • Please note that this rule only applies to methods (functions that uses self), and not to simple functions.
      • +
      +
    • +
    +
  • +
  • +

    You can read in detail about How compiler automatically applies lifetimes and the about the rules of lifetimes in Lifetime Elision.

    +
  • +
+

Lifetimes in Structs and Methods

+
    +
  • +

    Lifetimes in struct. It’s possible for structs to hold references, but in that case we would need to add a lifetime annotation on every reference in the struct’s definition.

    +
    struct ImportantExcerpt<'a> {
    +    // Since, string slice is a referece, we added lifetime, such that field part and struct lives together
    +    part: &'a str,
    +}
    +
    +fn main() {
    +    let novel = String::from("Call me Ishmael. Some years ago...");
    +    let first_sentence = novel.split('.').next().expect("Could not find a '.'");
    +    let i = ImportantExcerpt {
    +        part: first_sentence,
    +    };
    +}
    +
  • +
  • +

    Lifetimes in impl blocks:

    +
    #![allow(unused)]
    +fn main() {
    +// The lifetime parameter declaration after impl and its use after the type name are required,
    +// but we’re not required to annotate the lifetime of the reference to self because of the first elision rule.
    +impl<'a> ImportantExcerpt<'a> {
    +    // No need to apply in the method below due to the first elision rule
    +    fn level(&self) -> i32 {
    +        3
    +    }
    +    // No need to apply in the method below due to the third elision rule
    +    fn announce_and_return_part(&self, announcement: &str) -> &str {
    +      println!("Attention please: {}", announcement);
    +      self.part
    +  }
    +}
    +}
    +
  • +
+

The static lifetime

+
    +
  • +

    The 'static is a lifetime which means that this reference can live for the entire duration of the program.

    +
  • +
  • +

    All string literals have the 'static lifetime.

    +
  • +
  • +

    You may use it as shown in the code below:

    +
    #![allow(unused)]
    +fn main() {
    +let s: &'static str = "I have a static lifetime.";
    +}
    +
  • +
+

Note: You might see suggestions to use the 'static lifetime in error messages. But before specifying 'static as the lifetime for a reference, think about whether the reference you have actually lives the entire lifetime of your program or not. You might consider whether you want it to live that long, even if it could. Most of the time, the problem results from attempting to create a dangling reference or a mismatch of the available lifetimes. In such cases, the solution is fixing those problems, not specifying the 'static lifetime.

+

Generic Type Parameters, Trait Bounds, and Lifetimes Together

+
    +
  • You may consider the code below, it prints the type (they type T can be filled with any type that implements Display trait), also it returns the longest string slice.
  • +
+
#![allow(unused)]
+fn main() {
+// Generic Type: T
+// Trait Bounds: Display
+// Lifetime: 'a
+use std::fmt::Display;
+
+// Because lifetimes are a type of generic, the declarations of
+// the lifetime parameter 'a and the generic type parameter T go
+// in the same list inside the angle brackets after the function name.
+fn longest_with_an_announcement<'a, T>(
+    x: &'a str,
+    y: &'a str,
+    ann: T,
+) -> &'a str
+where
+    T: Display,
+{
+    println!("Announcement! {}", ann);
+    if x.len() > y.len() {
+        x
+    } else {
+        y
+    }
+}
+}
+

Functional Language Features

+

Fun Fact: The implementations of closures and iterators are such that runtime performance is not affected. It means as if you've written to an optimized low level code, like in Assembly Language. This is part of Rust’s goal to strive to provide zero-cost abstractions.

+
    +
  • Programming in a functional style often includes using functions as values by passing them in arguments, returning them from other functions, assigning them to variables for later execution, and so forth.
  • +
  • Specifically, functional programming includes: +
      +
    • Closures: A function-like construct you can store in a variable.
    • +
    • Iterators: A way of processing a series of elements.
    • +
    +
  • +
+

Closures

+
    +
  • +

    They are "Anonymous Functions that Can Capture Their Environment".

    +
  • +
  • +

    An example of closure:

    +
    #![allow(unused)]
    +fn main() {
    +let expensive_closure = |num| {
    +    println!("calculating slowly...");
    +    thread::sleep(Duration::from_secs(2));
    +    num
    +};
    +}
    +
  • +
  • +

    Why closures don't require type annotations, but functions (fn) do?

    +
      +
    • Type annotations are required on functions because they’re part of an explicit interface exposed to your users. Defining this interface rigidly is important for ensuring that everyone agrees on what types of values a function uses and returns.
    • +
    • But closures aren’t used in an exposed interface like this: they’re stored in variables and used without naming them and exposing them to users of our library.
    • +
    +
  • +
  • +

    In case, we still want to explicitly define type annotations, we can do it by:

    +
    #![allow(unused)]
    +fn main() {
    +let expensive_closure = |num: u32| -> u32 {
    +    println!("calculating slowly...");
    +    thread::sleep(Duration::from_secs(2));
    +    num
    +};
    +}
    +
  • +
  • +

    Comparisons for Functions and closures syntax:

    +
    #![allow(unused)]
    +fn main() {
    +fn  add_one_v1   (x: u32) -> u32 { x + 1 }
    +let add_one_v2 = |x: u32| -> u32 { x + 1 };
    +let add_one_v3 = |x|             { x + 1 };
    +let add_one_v4 = |x|               x + 1  ;
    +}
    +
  • +
  • +

    Closures will always have only one concrete type:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Closure inferred two different types of x, which is against the rules
    +let example_closure = |x| x;
    +
    +let s = example_closure(String::from("hello"));
    +let n = example_closure(5);
    +}
    +
  • +
  • +

    Performing memoization or lazy evaluation:

    +
      +
    • +

      We can create a struct that will hold the closure and the resulting value of calling the closure.

      +
    • +
    • +

      The struct will execute the closure only if we need the resulting value, and it will cache the resulting value so the rest of our code doesn’t have to be responsible for saving and reusing the result.

      +
    • +
    • +

      All closures implement at least one of the traits: Fn, FnMut, or FnOnce.

      +
    • +
    • +

      Using this information, we can create a Cacher

      +
      #![allow(unused)]
      +fn main() {
      +// Cacher will store a closure inside calculation
      +// and the computed value inside value
      +struct Cacher<T>
      +where
      +    T: Fn(u32) -> u32,
      +{
      +    calculation: T,
      +    value: Option<u32>,
      +}
      +}
      +
    • +
    • +

      The use of the memoization is that, we can store the closure, that contains computation which takes very long time to finish. Then we can save it's computed value inside the struct, so that we can reuse to computation (thereby preventing expensive computation again and again), as well as update the computed value whenever necessary.

      +
    • +
    • +

      We'll need to write an implementation block to make the Cacher easier to use:

      +
      #![allow(unused)]
      +fn main() {
      +impl<T> Cacher<T>
      +where
      +    T: Fn(u32) -> u32,
      +{
      +    fn new(calculation: T) -> Cacher<T> {
      +        Cacher {
      +            calculation,
      +            value: None
      +        }
      +    }
      +
      +    fn value(&mut self, arg: u32) -> u32 {
      +        match self.value {
      +            Some(v) => v,
      +            None => {
      +                let v = (self.calculation)(arg);
      +                self.value = v;
      +                v
      +            }
      +        }
      +    }
      +}
      +}
      +
    • +
    • +

      The only limitation of this Cacher is that it assumes that, it'll only receive one value, that means even if we call the value() function multiple with different arguments, it'll still return the same value every time and that value will be the computed value when the closure was called for the first time. Here's the explanation:

      +
      #![allow(unused)]
      +fn main() {
      +let mut c = Cacher::new(|a| a);
      +
      +let v1 = c.value(1); // v1 = 1
      +let v2 = c.value(2); // v2 = 1
      +let v3 = c.value(3); // v3 = 1
      +}
      +
    • +
    • +

      So, here is a better version of the above cacher that can memorize all the arguments and their computed value inside a HashMap, which is also generic. You may refer it's implementation over here.

      +
    • +
    +
  • +
  • +

    Capturing the Environmet with closures:

    +
      +
    • +

      You can't don the following thing using simple functions:

      +
      // FAIL: Functions can't capture their environment, hence x shouldn't live inside the function
      +fn main() {
      +    let x = 4;
      +
      +    fn equal_to_x(z: i32) -> bool {
      +        z == x
      +    }
      +
      +    let y = 4;
      +
      +    assert!(equal_to_x(y));
      +}
      +
    • +
    • +

      But, you can easliy do this using closure:

      +
      fn main() {
      +    let x = 4;
      +
      +    let equal_to_x = |z| z == x;
      +
      +    let y = 4;
      +
      +    assert!(equal_to_x(y));
      +}
      +
    • +
    • +

      Closures can capture values from their environment in three ways, which directly map to the three ways a function can take a parameter: taking ownership, borrowing mutably, and borrowing immutably. These are encoded in the three Fn traits as follows:

      +
        +
      • FnOnce consumes the variables it captures from its enclosing scope, known as the closure’s environment. To consume the captured variables, the closure must take ownership of these variables and move them into the closure when it is defined. The Once part of the name represents the fact that the closure can’t take ownership of the same variables more than once, so it can be called only once.
      • +
      • FnMut can change the environment because it mutably borrows values.
      • +
      • Fn borrows values from the environment immutably.
      • +
      +
    • +
    • +

      When you create a closure, Rust infers which trait to use based on how the closure uses the values from the environment. All closures implement FnOnce because they can all be called at least once. Closures that don’t move the captured variables also implement FnMut, and closures that don’t need mutable access to the captured variables also implement Fn. In Listing 13-12, the equal_to_x closure borrows x immutably (so equal_to_x has the Fn trait) because the body of the closure only needs to read the value in x.

      +
    • +
    • +

      If you want to force the closure to take ownership of the values it uses in the environment, you can use the move keyword before the parameter list. This technique is mostly useful when passing a closure to a new thread to move the data so it’s owned by the new thread. The move closures may still implement Fn or FnMut, even though they capture variables by move. This is because the traits implemented by a closure type are determined by what the closure does with captured values, not how it captures them. The move keyword only specifies the latter.

      +
    • +
    • +

      An example of move:

      +
      // FAIL: We tried to print x even though it is moved inside closure
      +fn main() {
      +    let x = vec![1, 2, 3];
      +
      +    let equal_to_x = move |z| z == x;
      +
      +    println!("can't use x here: {:?}", x);
      +
      +    let y = vec![1, 2, 3];
      +
      +    assert!(equal_to_x(y));
      +}
      +
    • +
    • +

      Most of the time when specifying one of the Fn trait bounds, you can start with Fn and the compiler will tell you if you need FnMut or FnOnce based on what happens in the closure body.

      +
    • +
    +
  • +
+

Iterators

+
    +
  • +

    Iterators are lazy in rust, meaning they have no effect until you call methods that consume the iterator to use it up.

    +
    #![allow(unused)]
    +fn main() {
    +let v1 = vec![1, 2, 3];
    +
    +let v1_iter = v1.iter(); // It won't do anything useful until called upon
    +
    +for val in v1_iter { // Now, the iterator is called upon and used
    +    println!("Got: {}", val);
    +}
    +}
    +
  • +
  • +

    To just get the next element stored in iterator:

    +
    #![allow(unused)]
    +fn main() {
    +let v1 = vec![1, 2, 3];
    +
    +// Calling the next() method changes the state of iterator,
    +// hence we'll need to use mut in this case
    +let mut v1_iter = v1.iter();
    +
    +assert_eq!(v1_iter.next(), Some(&1));
    +assert_eq!(v1_iter.next(), Some(&2));
    +assert_eq!(v1_iter.next(), Some(&3));
    +assert_eq!(v1_iter.next(), None);
    +}
    +
  • +
  • +

    Why is it required to use mut when using next(), but not when using for loop?

    +
      +
    • next() - Each call to next eats up an item from the iterator. Hence, we need to define it as mut to be able to do that.
    • +
    • for - The loop takes ownership of the iterator and made it mutable behind the scenes. Hence, we don't need to use mut there.
    • +
    +
  • +
  • +

    Difference between iter, into_iter, and iter_mut

    +
      +
    • +

      They all return iterator, except the way they return differs. Here are the differences:

      +
        +
      • into_iter: It yields any of T, &T or &mut T, depending on the context.
      • +
      • iter: It yields &T.
      • +
      • iter_mut: It yields &mut T.
      • +
      +
    • +
    • +

      For more details refer to this stackoverflow answer.

      +
    • +
    +
  • +
  • +

    Consuming Adaptors: Some methods inside Iterator trait uses next(). It means those functions will also eat away the iterator, just like how next() does. Here's an example:

    +
    #![allow(unused)]
    +fn main() {
    +let v1 = vec![1, 2, 3];
    +
    +let v1_iter = v1.iter();
    +
    +let total: i32 = v1_iter.sum(); // sum() uses the next() and hence will eat away the iterator
    +}
    +
  • +
  • +

    Iterator Adaptors: Some methods inside Iterator allows you to change iterators into different kinds of iterators. It is also possible to use Iterator, Enumerator, Map, and Filter together. Rust has these functions inside the Iterator Trait.

    +
    #![allow(unused)]
    +fn main() {
    +let v1: Vec<u32> = vec![0, 1, 2, 3, 4, 5];
    +let iterator = v1.iter()
    +                 .enumerate()
    +                 .filter(|(i, val)| i % 2 == 0)
    +                 .map(|(i, val)| val); // On it's own it won't do anything, because iterators are lazy
    +
    +// You can either print them one by one using for loop (remember it'll consume the iterator)
    +for val in iterator {
    +    println!("{}", val);
    +}
    +
    +// Or you can collect them inside a vector, make sure you explicitly specify the type (`Vec<_>`) too.
    +let new_vector: Vec<_> = iterator.collect();
    +println!("New Vector: {:?}")
    +}
    +
  • +
  • +

    Creating your own iterator:

    +
      +
    • +

      You'll need to implement Iterator trait on your type.

      +
    • +
    • +

      You'll only need to define one function, that is next(), it'll be sufficient.

      +
      struct Counter {
      +    count: u32,
      +}
      +
      +impl Counter {
      +    fn new() -> Self {
      +        Self {
      +            count: 0,
      +        }
      +    }
      +}
      +
      +impl Iterator for Counter {
      +    type Item = u32;
      +
      +    fn next(&mut self) -> Option<Self::Item> {
      +        if self.count < 5 {
      +            self.count += 1;
      +            Some(self.count)
      +        } else {
      +            None
      +        }
      +    }
      +}
      +
      +fn main() {
      +    let counter = Counter::new();
      +    for val in counter {
      +        println!("{:?}", val);
      +    }
      +
      +    // Since we have next() method we can use any default implementation of the Iterator trait
      +    let sum: u32 = Counter::new()
      +        .zip(Counter::new().skip(1)) // Skips first element only and generate pairs { (1,2) (2,3) (3,4) (4,5) } because (5,None) is ignored
      +        .map(|(a, b)| a * b) // [2, 6, 12, 20]
      +        .filter(|x| x % 3 == 0) // [6, 12]
      +        .sum(); // 18
      +}
      +
    • +
    +
  • +
  • +

    Which is faster, for loop or iterator adapters?

    +
      +
    • +

      Here are the benchmarks:

      +
      test bench_search_for  ... bench:  19,620,300 ns/iter (+/- 915,700)
      +test bench_search_iter ... bench:  19,234,900 ns/iter (+/- 657,200)
      +
      +
    • +
    • +

      Iterators, although a high-level abstraction, get compiled down to roughly the same code as if you’d written the lower-level code yourself. Iterators are one of Rust’s zero-cost abstractions, which means that using the abstraction imposes no additional runtime overhead.

      +
    • +
    +
  • +
+

Smart Pointers

+
    +
  • Differences between Pointer and Smart Pointer:
  • +
+
+ + + +
PointerSmart Pointer
A pointer is a general concept for a variable that contains an address in memory.Smart pointers, on the other hand, are data structures that not only act like a pointer but also have additional metadata and capabilities.
References are pointers that only borrow data.Smart pointers own the data they point to.
The most common kind of pointer in Rust is a reference and is indicated by &.The commonly used smart pointers are String and Vec<T>.
+
+
    +
  • Smart pointers are usually implemented using structs.
  • +
  • The characteristic that distinguishes a smart pointer from an ordinary struct is that smart pointers implement the Deref and Drop traits. +
      +
    • Deref: Allows an instance of the smart pointer struct to behave like a reference so you can write code that works with either references or smart pointers.
    • +
    • Drop: Allows you to customize the code that is run when an instance of the smart pointer goes out of scope.
    • +
    +
  • +
+

Box<T>

+
    +
  • +

    For allocating values on Heap.

    +
  • +
  • +

    Box allows you to store data on heap and the pointer to the heap data on stack.

    +
  • +
  • +

    You’ll use them most often in these situations:

    +
      +
    • When you have a type whose size can’t be known at compile time and you want to use a value of that type in a context that requires an exact size
    • +
    • When you have a large amount of data and you want to transfer ownership but ensure the data won’t be copied when you do so
    • +
    • When you want to own a value and you care only that it’s a type that implements a particular trait rather than being of a specific type
    • +
    +
  • +
  • +

    Once Box goes out of scope, the deallocation happens for the box (stored on the stack) and the data it points to (stored on the heap).

    +
  • +
  • +

    Using Box<T> for the recursive call:

    +
      +
    • +

      Let's try to create an enum which will create it's variant recursively:

      +
      // FAIL: While computing Size for Cons, Rust will detect an inifinite memory allocation
      +enum List {
      +    Cons(i32, List),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +
      +fn main() {
      +    let list = Cons(1, Cons(2, Cons(3, Nil)));
      +}
      +
    • +
    • +

      When Rust will try to recognize the size, it'll recognize that it is an infinite loop:

      +Infinite List Containing Infinite Cons Value +
    • +
    • +

      Now, to make it easier for Rust to identify the size of enum at compile time, we can use Box<T> for the recursive call. Since Box<T> is a pointer, Rust will need not to find the size what's inside of it, instead just allocate the memory for it's pointer.

      +
      enum List {
      +    Cons(i32, Box<List>),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +
      +fn main() {
      +    let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil))))));
      +}
      +
    • +
    • +

      Conceptually, we still have a list, created with lists “holding” other lists, but this implementation is now more like placing the items next to one another rather than inside one another.

      +List that is not infinitely sized +
    • +
    +
  • +
  • +

    Since Box<T> implements the Deref trait, so you can use the * operator to dereference it.

    +
  • +
+

Deref Trait

+
    +
  • +

    Note that the * operator is replaced with a call to the deref method and then a call to the * operator. It means that *y, translates into:

    +
    #![allow(unused)]
    +fn main() {
    +*(y.deref())
    +}
    +
  • +
  • +

    We're trying to re-create Box<T> and it's capabilities to dereference itself. One important thing to notice, here we're only mimicing the dereferencing because the data doesn't actually get stored on heap.

    +
    #![allow(unused)]
    +fn main() {
    +use std::ops::Deref;
    +
    +struct MyBox<T>(T);
    +
    +impl<T> MyBox<T> {
    +  fn new(x: T) -> MyBox<T>  {
    +      MyBox(x)
    +  }
    +}
    +
    +impl<T> Deref for MyBox<T> {
    +    type Target = T;
    +
    +    fn deref(&self) -> &Self::Target {
    +        &self.0
    +    }
    +}
    +}
    +
  • +
+

Deref Coercion

+
    +
  • +

    Deref coercion can convert &String to &str. It's possible because String implements the Deref trait such that it returns &str.

    +
  • +
  • +

    They are meant for the arguments of functions and methods. The ease is that, you can pass &String into a function that accepts &str:

    +
    fn hello(name: &str) {
    +    println!("Hello, {}!", name);
    +}
    +
    +fn main() {
    +  let name = String::from("Bob");
    +  hello(&name);
    +}
    +
  • +
  • +

    Deref coercion was added to Rust so that programmers writing function and method calls don’t need to add as many explicit references and dereferences with & and *.

    +
  • +
  • +

    How does Rust automatically converts &String to &str?

    +
      +
    • It happens because Deref trait is implemented.
    • +
    • Rust simplifies all the deref implementations.
    • +
    +
  • +
  • +

    Here's an even complex example of deref coercion, using the MyBox, that we created earlier:

    +
      +
    • +

      Instead of calling this:

      +
      fn main() {
      +    let m = MyBox::new(String::from("Rust"));
      +    hello(&(*m)[..]);
      +}
      +
    • +
    • +

      Here we are manually converting:

      +
      #![allow(unused)]
      +fn main() {
      +(*m) => MyBox<String> -> String
      +[..] => String -> str
      +& => str -> &str
      +}
      +
    • +
    • +

      We can just call this:

      +
      fn main() {
      +    let m = MyBox::new(String::from("Rust"));
      +    hello(&m);
      +}
      +
    • +
    • +

      Rust simplifies the deref implementations by calling the deref() again and again. First It'll call deref() for MyBox then for String.

      +
      #![allow(unused)]
      +fn main() {
      +&MyBox<String> -> &String -> &str
      +}
      +
    • +
    +
  • +
+

Note: When the Deref trait is defined for the types involved, Rust will analyze the types and use Deref::deref as many times as necessary to get a reference to match the parameter’s type. The number of times that Deref::deref needs to be inserted is resolved at compile time, so there is no runtime penalty for taking advantage of deref coercion!

+
    +
  • +

    Rust does deref coercion when it finds types and trait implementations in three cases:

    +
      +
    • From &T to &U when T: Deref<Target=U>
    • +
    • From &mut T to &mut U when T: DerefMut<Target=U>
    • +
    • From &mut T to &U when T: Deref<Target=U>
    • +
    +
  • +
+

Note: The first case states that if you have a &T, and T implements Deref to some type U, you can get a &U transparently. the second case is similar. The third case is a bit different as mutable reference changes into immutable reference, though vice versa is not true.

+

Drop Trait

+
    +
  • +

    In Rust, you can specify that a particular bit of code be run whenever a value goes out of scope, and the compiler will insert this code automatically.

    +
  • +
  • +

    As a result, you don’t need to be careful about placing cleanup code everywhere in a program that an instance of a particular type is finished with—you still won’t leak resources!

    +
    struct CustomSmartPointer {
    +    data: String,
    +}
    +
    +impl Drop for CustomSmartPointer {
    +    fn drop(&mut self) {
    +        println!("Dropping CustomSmartPointer with data `{}`!", self.data);
    +    }
    +}
    +
    +fn main() {
    +    let c = CustomSmartPointer {
    +        data: String::from("my stuff"),
    +    };
    +    let d = CustomSmartPointer {
    +        data: String::from("other stuff"),
    +    };
    +    println!("CustomSmartPointers created.");
    +}
    +// Output -
    +// CustomSmartPointers created.
    +// Dropping CustomSmartPointer with data `other stuff`!
    +// Dropping CustomSmartPointer with data `my stuff`!
    +
  • +
  • +

    Notice that, variables are dropped in the reverse order, d was dropped before c.

    +
  • +
  • +

    There might be some cases when you want to manually drop the Smart Pointer, instead of waiting for the scope to end. For example, you want to release the lock so that other code in the same scope can acquire the lock.

    +
      +
    • +

      First thing is that, you can't call the drop() from the Drop trait.

      +
      // FAIL: This is not allowed in Rust, compiler will throw "explicit destructor calls not allowed"
      +fn main() {
      +    let c = CustomSmartPointer {
      +        data: String::from("some data"),
      +    };
      +    println!("CustomSmartPointer created.");
      +    c.drop();
      +    println!("CustomSmartPointer dropped before the end of main.");
      +}
      +
        --> src/main.rs:16:7
      +   |
      +16 |     c.drop();
      +   |     --^^^^--
      +   |     | |
      +   |     | explicit destructor calls not allowed
      +   |     help: consider using `drop` function: `drop(c)`
      +
      +
    • +
    • +

      Compiler uses term destructor, which is the general programming term for a function that cleans up an instance. It is analogous to the word constructor.

      +
    • +
    • +

      The reason that compiler doesn't allows us to do that, is to prevent the double free error.

      +
    • +
    • +

      The alternative is to use drop() from std::mem::drop, good thing is it's already in the prelude, so you don't need to import it.

      +
      fn main() {
      +    let c = CustomSmartPointer {
      +        data: String::from("some data"),
      +    };
      +    println!("CustomSmartPointer created.");
      +    drop(c); // Notice, we're passing it as an argument
      +    println!("CustomSmartPointer dropped before the end of main.");
      +}
      +
      +// Ouput -
      +// CustomSmartPointer created.
      +// Dropping CustomSmartPointer with data `some data`!
      +// CustomSmartPointer dropped before the end of main.
      +
    • +
    • +

      It solves the double free error through the ownership rules, as we pass it as an argument.

      +
    • +
    +
  • +
+

Rc<T>

+
    +
  • +

    Also known as Reference Counted Smart Pointer, it allows multiple ownership.

    +
  • +
  • +

    It does that by keeping the count of references. When the count becomes 0, it means that there are no references linked to data, so it's safe to clean.

    +
  • +
  • +

    Imagine Rc<T> as a TV in a family room. When one person enters to watch TV, they turn it on. Others can come into the room and watch the TV. When the last person leaves the room, they turn off the TV because it’s no longer being used. If someone turns off the TV while others are still watching it, there would be uproar from the remaining TV watchers!

    +
  • +
  • +

    Use case:

    +
      +
    • We want to allocate data on heap and we want multiple parts of our code to read it.
    • +
    • The problem is that we don't know which part will stop reading it last, that's why we can't make someone as an owner.
    • +
    • For those cases, Rc<T> will help us, it'll save us from deciding someone as owner and will allow multiple parts to read it at the same time.
    • +
    +
  • +
  • +

    With Rc<T> it is possible to create two lists that both share ownership of a third list.

    +List that is not infinitely sized +
      +
    • +

      Trying to do this with Box<T> fails:

      +
      enum List {
      +    Cons(i32, Box<List>),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +
      +fn main() {
      +    let a = Cons(5, Box::new(Cons(10, Box::new(Nil))));
      +    let b = Cons(3, Box::new(a));
      +    let c = Cons(4, Box::new(a));
      +}
      +
    • +
    • +

      We can also use references with lifetimes to solve this problem, but Rc<T> is better here.

      +
      enum List {
      +    Cons(i32, Rc<List>),
      +    Nil,
      +}
      +
      +use crate::List::{Cons, Nil};
      +use std::rc::Rc;
      +
      +fn main() {
      +    let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil)))));
      +    let b = Cons(3, Rc::clone(&a)); // Notice that we don't need to use Rc<T> here, since no one will be owning b and c
      +    let c = Cons(4, Rc::clone(&a)); // Also notice that we're using Rc::clone() and passing reference to create owners
      +}
      +
    • +
    • +

      Rc::clone() never makes deep copy, unlike clone(). Rc::clone() only increments the reference count, which doesn’t take much time.

      +
    • +
    • +

      To Increase Count: Rc::clone(), To Decrease Count: Drop does when the variable goes out of scope.

      +
    • +
    +
  • +
+

Note: Rc<T> can only allow multiple owners to read data and not to mutate it. For interior mutability there is another Smart Pointer named RefCell<T>.

+

RefCell<T>

+
    +
  • +

    Allows interior mutability to the immutable data.

    +
  • +
  • +

    Interior mutability is a design pattern in Rust that allows you to mutate data even when there are immutable references to that data; normally, this action is disallowed by the borrowing rules.

    +
  • +
  • +

    It uses unsafe rust code to function.

    +
  • +
  • +

    An example:

    +
  • +
  • +

    Consider one trait named Messanger and another struct named LimitTracker.

    +
  • +
+
#![allow(unused)]
+fn main() {
+pub trait Messenger {
+    fn send(&self, msg: &str);
+}
+
+pub struct LimitTracker<'a, T: Messenger> {
+  messenger: &'a T,
+  value: usize;
+}
+
+impl<'a, T> LimitTracker<'a, T>
+where
+    T: Messenger,
+{
+    pub fn new(messenger: &T, max: usize) -> LimitTracker<T> {
+      ...
+    }
+
+    pub fn set_value(&mut self, value: usize) { // Problem 1: We want mutable reference of self, but it includes immutable reference to messenger
+      self.value = value;
+
+      if (value > 100) {
+        self.messenger.send("Error: You are over your quota!"); // Problem 2: send() is an immutable function in trait, but self should be mutable.
+      }
+    }
+}
+}
+
    +
  • +

    LimitTracker takes in a reference of struct that implements Messenger, so that it can store it as one of it's field.

    +
  • +
  • +

    Inside LimitTracker, the problem is that set_value() takes mutable reference of self, but the messenger is an immutable reference and it's function send is also immutable. So, how can we test this set_value()?

    +
  • +
  • +

    This will fail to compile:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: send() is required to be mutable by LimitTracker but immutable due to trait Messenger
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    struct MockMessenger {
    +        sent_messages: Vec<String>,
    +    }
    +
    +    impl MockMessenger {
    +        fn new() -> MockMessenger {
    +            MockMessenger {
    +                sent_messages: vec![], // This is immutable
    +            }
    +        }
    +    }
    +
    +    impl Messenger for MockMessenger {
    +        fn send(&self, message: &str) {
    +             // We're trying to push on immutbale field, we also can't make send() mutable
    +            self.sent_messages.push(String::from(message));
    +        }
    +    }
    +
    +    #[test]
    +    fn it_sends_an_over_75_percent_warning_message() {
    +        let mock_messenger = MockMessenger::new();
    +        let mut limit_tracker = LimitTracker::new(&mock_messenger, 100);
    +
    +        limit_tracker.set_value(80);
    +
    +        assert_eq!(mock_messenger.sent_messages.len(), 1);
    +    }
    +}
    +}
    +
  • +
  • +

    Here's the solution using RefCell<T>:

    +
    #![allow(unused)]
    +fn main() {
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +    use std::cell::RefCell;
    +
    +    struct MockMessenger {
    +        // RefCell will make sent_messages mutable even though
    +        // it's parent MockMessenger can seem immutable to others
    +        sent_messages: RefCell<Vec<String>>,
    +    }
    +
    +    impl MockMessenger {
    +        fn new() -> MockMessenger {
    +            MockMessenger {
    +                // Now, RefCell will wrap the vector and will allow it to be mutable
    +                // at places where it's parent is asked to be immutable
    +                sent_messages: RefCell::new(vec![]),
    +            }
    +        }
    +    }
    +
    +    impl Messenger for MockMessenger {
    +        fn send(&self, message: &str) {
    +            // MockMessenger will seem immutable to send() but
    +            // sent_messages is mutable, and items can be pushed into it
    +            self.sent_messages.borrow_mut().push(String::from(message)); // borrow_mut() will generate mutable reference for push()
    +        }
    +    }
    +
    +    #[test]
    +    fn it_sends_an_over_75_percent_warning_message() {
    +        // --snip--
    +
    +        assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); // borrow() will generate the immutable reference, since we're only reading
    +    }
    +}
    +}
    +
  • +
  • +

    We use the & and &mut syntax with references. With RefCell<T>, we use the borrow() and borrow_mut() methods and they return Ref<T> and RefMut<T> respectively. They both implement Deref trait.

    +
  • +
  • +

    RefCell<T> lets us have many immutable borrows or one mutable borrow at any point in time. It keeps a count of whenever we call the borrow().

    +
  • +
  • +

    In case of an error, it won't be just a compile error, but will appear on Runtime, and will cause a panic.

    +
  • +
+

Differences between Box<T>, Rc<T> and RefCell<T>

+
+ + + + +
PropertyBox<T>Rc<T>RefCell<T>
OwnershipSingle OwnershipMultiple OwnershipSingle Ownership
Mutability of Inner DataImmutable or MutableOnly ImmutableImmutable or Mutable
Borrowing Rules CheckCompiled Time (compiler errors)Compiled Time (compiler errors)Runtime (panics at runtime)
MultithreadingOnly for Single Threaded ScenariosOnly for Single Threaded Scenarios
+
+

Using RefCell<T> with Rc<T>

+
    +
  • +

    It'll give you superpowers.

    +
  • +
  • +

    Now you can have a value that has multiple owners and can also mutate.

    +
  • +
  • +

    To use it, you'll have to wrap it like this, Rc<RefCell<T>>.

    +
  • +
  • +

    Here's our modified Cons list:

    +
    #![allow(unused)]
    +fn main() {
    +enum List {
    +    Cons(Rc<RefCell<i32>>, Rc<List>),
    +    Nil,
    +}
    +}
    +
  • +
  • +

    Now, we can have a list like this:

    +
    b --|
    +    a---Nil
    +c --|
    +
    +
  • +
  • +

    Here, a can have multiple owners b and c, and it's value can also mutate.

    +
    fn main() {
    +    let value = Rc::new(RefCell::new(5)); // Created a value that can have multiple owners and can also mutate
    +
    +    let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); // Make a such that it can be owned by multiple people
    +
    +    let b = Cons(Rc::new(RefCell::new(3)), Rc::clone(&a)); // Make b the owner of a
    +    let c = Cons(Rc::new(RefCell::new(4)), Rc::clone(&a)); // Made c the owner of a
    +
    +    *value.borrow_mut() += 10; // Rc -> RefCell -> &mut -> inner_element, then 10 is added to the inner_element in place
    +
    +    println!("a after = {:?}", a); // Value of a: Cons(RefCell { value: 15 }, Nil)
    +    println!("b after = {:?}", b); // Value of b: Cons(RefCell { value: 3 }, Cons(RefCell { value: 15 }, Nil))
    +    println!("c after = {:?}", c); // Value of c: Cons(RefCell { value: 4 }, Cons(RefCell { value: 15 }, Nil))
    +}
    +
  • +
  • +

    Other Types to provide interior mutability:

    +
      +
    • Cell<T>: It copies the data instead of giving references.
    • +
    • Mutex<T>: It provides interior mutability that's safe to use in multiple threads.
    • +
    +
  • +
+

Memory Leak

+
    +
  • +

    When we accidentally create memory that is never cleaned up is called Memory Leak.

    +
  • +
  • +

    Rust’s memory safety guarantees make it difficult, but not impossible.

    +
  • +
  • +

    Rust allows memory leaks by using Rc<T> and RefCell<T>.

    +
  • +
  • +

    By using both of them together, it's possible to create a reference cycle.

    +
  • +
  • +

    A reference cycle happens when reference of a is owned by b and reference of b is owned by a.

    +
  • +
  • +

    First of all, this will cause an infinite loop of references.

    +
  • +
  • +

    Also, it'll be impossible for Rust to Drop the values of a and b, as their reference count will never be zero.

    +
  • +
  • +

    This is one of Rust's limitations, and is referred to the problem of Memory Leak.

    +
  • +
  • +

    Reference Cycle in Action:

    +
    use crate::List::{Cons, Nil};
    +use std::cell::RefCell;
    +use std::rc::Rc;
    +
    +#[derive(Debug)]
    +enum List {
    +    Cons(i32, RefCell<Rc<List>>), // We can replace the list in place now
    +    Nil
    +}
    +
    +impl List {
    +    fn tail(&self) -> Option<&RefCell<Rc<List>>> {
    +        match self {
    +            Cons(_, item) => Some(item),
    +            Nil => None,
    +        }
    +    }
    +}
    +
    +fn main() {
    +    let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); // a = (5, Nil)
    +
    +
    +    let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); // b = (10, a)
    +
    +    if let Some(link) = a.tail() {
    +        *link.borrow_mut() = b; // a = (5, b)
    +    }
    +
    +    // At this point, Rc Count of a: 2, b: 2
    +
    +    // This will try to print the lists infinitely
    +    // and then will crash with the stack overflow error
    +    println!("a next item = {:?}", a.tail());
    +}
    +
    +// In case, we comment out the println!()
    +// At the end of scope, Rust will try to decrease the count of references
    +// Rc Count of b will decrease to 1
    +// Rc Count of a will decrease to 1
    +// Neither a nor b will be dropped as their count is not 0 and
    +// will still stay on the heap, causing Memory Leak
    +
  • +
  • +

    You may take help of this diagram to understand better:

    +List that is not infinitely sized +
  • +
+

Important Lesson: +You can't rely on Rust's memory safety while using RefCell<T> and Rc<T> together, or another combination with interior mutability, as it may cause the problem of Memory Leak.

+

Solutions to prevent Reference Cycles:

+
    +
  • Use Automated tests, Code reviews, and other Software development practices to minimize.
  • +
  • Reorganize data structure so that some references express ownership and some references don't.
  • +
+
+ + + +
Strong CountWeak Count
Rust will only drop an element if this count becomes zero.Rust will drop an element in case it gets out of scope, even if the count is not zero.
Rc<T> uses strong count.Weak<T> uses weak count.
It's hard to prevent reference cycle.It's easier to prevent reference cycle.
+
+
    +
  • +

    Preventing Reference Cycle using Weak<T>:

    +
    use std::cell::RefCell;
    +use std::rc::{Rc, Weak};
    +
    +#[derive(Debug)]
    +struct Node {
    +    value: i32,
    +    parent: RefCell<Weak<Node>>, // Child won't own it's parent
    +    children: RefCell<Vec<Rc<Node>>>,
    +}
    +
    +fn main() {
    +    let leaf = Rc::new(Node {
    +        value: 3,
    +        parent: RefCell::new(Weak::new()),
    +        children: RefCell::new(vec![])
    +    });
    +
    +    let branch = Rc::new(Node {
    +        value: 5,
    +        parent: RefCell::new(Weak::new()),
    +        children: RefCell::new(vec![Rc::clone(&leaf)])
    +    });
    +
    +    // The downgrade() changes Rc -> Weak
    +    *leaf.parent.borrow_mut() = Rc::downgrade(&branch);
    +
    +    // The upgrade() returns Some() or None, representing the value
    +    println!("Leaf parent: {:?}", leaf.parent.borrow().upgrade());
    +}
    +
  • +
  • +

    The output will look like this:

    +
    leaf parent = Some(Node { value: 5, parent: RefCell { value: (Weak) },
    +children: RefCell { value: [Node { value: 3, parent: RefCell { value: (Weak) },
    +children: RefCell { value: [] } }] } })
    +
    +
  • +
  • +

    Notice, at some places only Weak is there, and the whole element is not printed. This is Rust's way of preventing infinite output.

    +
  • +
  • +

    This lack of inifinite output, indicates that reference cycle is prevented.

    +
  • +
  • +

    Here's another example, using the same struct to show how strong count and weak count will change:

    +
    fn main() {
    +    let leaf = Rc::new(Node {
    +        value: 3,
    +        parent: RefCell::new(Weak::new()),
    +        children: RefCell::new(vec![]),
    +    });
    +
    +    // leaf strong = 1, weak = 0
    +
    +    {
    +        let branch = Rc::new(Node {
    +            value: 5,
    +            parent: RefCell::new(Weak::new()),
    +            children: RefCell::new(vec![Rc::clone(&leaf)]),
    +        });
    +
    +        // Since Rc is downgrading branch, branch's weak count will increase by 1
    +        *leaf.parent.borrow_mut() = Rc::downgrade(&branch);
    +
    +        // branch strong = 1, weak = 1
    +
    +        // leaf strong = 2, weak = 0
    +    }
    +
    +    // leaf strong = 1, weak = 0
    +}
    +
  • +
+

Concurrency

+
    +
  • Difference between Concurrency and Parallel programming:
  • +
+
+ +
Concurrent ProgrammingParallel Programming
Where different parts of program execute independently.Where different parts of program execute at the same time.
+
+

Using Threads

+
    +
  • +

    OS manages multiple processes at once.

    +
  • +
  • +

    An executed program's code is run in a process.

    +
  • +
  • +

    You can write programs such that there are indpendent pieces of code that run simultaneously.

    +
  • +
  • +

    The features that run these parts simultaneously are called threads.

    +
  • +
  • +

    Threads can run simultaneously, there’s no inherent guarantee about the order in which parts of your code on different threads will run. This causes the following problems:

    +
      +
    • Race conditions: Where threads are accessing data or resources in an inconsistent order.
    • +
    • Deadlocks: Where two threads are waiting for each other to finish using a resource the other thread has, preventing both threads from continuing.
    • +
    • Bugs: Hard to reproduce bugs, and only happens in certain situations.
    • +
    +
  • +
  • +

    Many operating systems provide an API for creating new threads. This model where a language calls the operating system APIs to create threads is sometimes called 1:1, meaning 1 OS Thread / 1 Language Thread. The rust standard library provides the implementation for only 1:1.

    +
  • +
  • +

    Creating a new thread with spawn:

    +
    use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +  thread::spawn(|| {
    +    for i in 1..10 {
    +      println!("hi number {} from the spawned thread", i);
    +      thread::sleep(Duration::from_millis(1));
    +    }
    +  });
    +
    +  for i in 1..5 {
    +    println!("hi number {} from the main thread", i);
    +    thread::sleep(Duration::from_millis(1));
    +  }
    +}
    +
  • +
  • +

    The output will be:

    +
    hi number 1 from the main thread
    +hi number 1 from the spawned thread
    +hi number 2 from the main thread
    +hi number 2 from the spawned thread
    +hi number 3 from the main thread
    +hi number 3 from the spawned thread
    +hi number 4 from the main thread
    +hi number 4 from the spawned thread
    +hi number 5 from the spawned thread
    +
    +
  • +
  • +

    The spawned thread will automatically die as the main thread ends.

    +
  • +
  • +

    That's why spawned thread ran 5 times, 4 times same as main thread and the 5th time, which is exectued to break the condition for the main thread's for loop condition.

    +
  • +
  • +

    Which thread will execute first is not guaranteed, you may notice in our case, the main thread runs first, even though according to the code, the spawned thread should have ran first.

    +
  • +
  • +

    In fact, there is not even a guarantee that this spwaned thread will even run at all.

    +
  • +
  • +

    We can make sure that the spawned thread will definitely run and will execute completely, by using the join()

    +
    use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +    // Let's store the thread in a variable
    +    let handle = thread::spawn(|| {
    +        for i in 1..10 {
    +            println!("hi number {} from the spawned thread!", i);
    +            thread::sleep(Duration::from_millis(1));
    +        }
    +    });
    +
    +    for i in 1..5 {
    +        println!("hi number {} from the main thread!", i);
    +        thread::sleep(Duration::from_millis(1));
    +    }
    +
    +    // This will make sure that the spawned thread
    +    // finishes before the main thread ends
    +    handle.join().unwrap();
    +}
    +
  • +
  • +

    The two threads will now continue alternating, but the main thread will wait because of the call to handle.join() and will not end until the spawned thread is finished.

    +
  • +
  • +

    It is very important, where you call the handle.join(), as it may create an unexpected behaviour:

    +
    use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +    let handle = thread::spawn(|| {
    +        for i in 1..10 {
    +            println!("hi number {} from the spawned thread!", i);
    +            thread::sleep(Duration::from_millis(1));
    +        }
    +    });
    +
    +    handle.join().unwrap();
    +
    +    for i in 1..5 {
    +        println!("hi number {} from the main thread!", i);
    +        thread::sleep(Duration::from_millis(1));
    +    }
    +}
    +
  • +
  • +

    This will give us this output:

    +
    hi number 1 from the spawned thread!
    +hi number 2 from the spawned thread!
    +hi number 3 from the spawned thread!
    +hi number 4 from the spawned thread!
    +hi number 5 from the spawned thread!
    +hi number 6 from the spawned thread!
    +hi number 7 from the spawned thread!
    +hi number 8 from the spawned thread!
    +hi number 9 from the spawned thread!
    +hi number 1 from the main thread!
    +hi number 2 from the main thread!
    +hi number 3 from the main thread!
    +hi number 4 from the main thread!
    +
    +
  • +
  • +

    So, make sure that you're calling the handle.join() to prevent undesired behaviour.

    +
  • +
  • +

    When we use closure, Rust will infer that we want to only borrow the variable.

    +
    use std::thread;
    +
    +fn main() {
    +    let v = vec![1, 2, 3];
    +
    +    // Notice, here v is only borrowed here,
    +    // it's possible that the closure may outlive
    +    // and v may die early, so Rust will throw us
    +    // error, and will ask us to use move
    +    let handle = thread::spawn(|| {
    +        println!("Here's a vector: {:?}", v);
    +    });
    +
    +    handle.join().unwrap();
    +}
    +
  • +
  • +

    So, we need to expicitly add the move keyword, to tell Rust to transfer ownership of v to the closure.

    +
    use std::thread;
    +
    +fn main() {
    +    let v = vec![1, 2, 3];
    +
    +    let handle = thread::spawn(move || {
    +        println!("Here's a vector: {:?}", v);
    +    });
    +
    +    // Now, we cannot use v over here, inside the main thread for any reason
    +
    +    handle.join().unwrap();
    +}
    +
  • +
+

Using Message Passing to Transfer Data Between Threads

+

“Do not communicate by sharing memory; instead, share memory by communicating.” - Go Language Documentation

+
    +
  • +

    Rust sends messages between threads to accomplish concurrency.

    +
  • +
  • +

    Rust uses channel for the message-sending concurrency (it works similar to a river stream), it has two parts:

    +
      +
    • Transmitter: The upstream location
    • +
    • Receiver: The downstream location
    • +
    +
  • +
  • +

    A channel is said to be closed if either the transmitter or receiver half is dropped.

    +
  • +
  • +

    You may create a channel just like this:

    +
      +
    • +

      A channel can have multiple producer of values (multiple sources of river), but only 1 consumer of those values (all rivers will mix into one river).

      +
    • +
    • +

      A channel produces it's two parts, inside a tuple and are abbreviated as tx and rx, for transmitter and receiver respectively.

      +
      // mpsc stands for multiple producer, single consumer
      +use std::sync::mpsc;
      +use std::thread;
      +
      +fn main() {
      +    let (tx, rx) = mpsc::channel();
      +
      +    thread::spawn(move || {
      +        let val = String::from("hi");
      +        // We'll send the value to the receiver's end
      +        // and in case there's a problem at receiving
      +        // end, it'll thrown an error and cause a panic
      +        tx.send(val).unwrap();
      +    });
      +
      +    // The recv()
      +    let received = rx.recv().unwrap();
      +    println!("Got: {}", received);
      +}
      +
    • +
    +
  • +
  • +

    Ways to receive the values from the channel:

    +
      +
    • recv(): It'll block the main thread’s execution and wait until a value is sent down the channel.
    • +
    • try_recv(): This method doesn't block, but may not contain any value for some time. So, you'll need to call this every so often, by writing a loop.
    • +
    +
  • +
  • +

    Sending and Receiving multiple values:

    +
    use std::sync::mpsc;
    +use std::thread;
    +use std::time::Duration;
    +
    +fn main() {
    +    let (tx, rx) = mpsc::channel();
    +
    +    let tx1 = tx.clone();
    +    thread::spawn(move || {
    +        let vals = vec![
    +            String::from("hi"),
    +            String::from("from"),
    +            String::from("the"),
    +            String::from("thread"),
    +        ];
    +
    +        for val in vals {
    +            tx1.send(val).unwrap();
    +            thread::sleep(Duration::from_secs(1));
    +        }
    +    });
    +
    +    thread::spawn(move || {
    +        let vals = vec![
    +            String::from("more"),
    +            String::from("messages"),
    +            String::from("from"),
    +            String::from("you"),
    +        ];
    +
    +        for val in vals {
    +            tx.send(val).unwrap();
    +            thread::sleep(Duration::from_secs(1));
    +        }
    +    });
    +
    +    // We’re not calling the recv function explicitly anymore:
    +    // When the channel is closed, iteration will end.
    +    for received in rx {
    +        println!("Got: {}", received);
    +    }
    +}
    +
  • +
+

Shared-State Concurrency

+
    +
  • Shared memory concurrency is like multiple ownership: multiple threads can access the same memory location at the same time.
  • +
  • We can use Mutex to allow access to data from one thread at a time.
  • +
+
Mutex
+
    +
  • +

    Mutex is an abbreviation of Mutual Exclusion.

    +
  • +
  • +

    It locks the data such that others can use. Lock is a data structure that keeps track of who currently has exclusive access to the data.

    +
  • +
  • +

    These are the rules that you'll have to follow while using a Mutex:

    +
      +
    • You must attempt to acquire the lock before using the data.
    • +
    • When you’re done with the data that the mutex guards, you must unlock the data so other threads can acquire the lock.
    • +
    +
  • +
  • +

    Here's an example:

    +
    use std::sync::Mutex;
    +
    +fn main() {
    +    let m = Mutex::new(5);
    +
    +    {
    +        let mut num = m.lock() // It'll block the old thread, until we unlock the mutex
    +                       .unwrap(); // lock() may fail if the old thread panics, so unwrap() will also panic the current thread
    +        *num = 6; // Mutex returns a Smart Pointer named MutexGuard, that's why we need to dereference it to change it's value
    +    } // MutexGuard has a Drop trait implementation, which automatically unlocks the mutex when it goes out of scope
    +
    +    println!("m = {:?}", m);
    +}
    +
  • +
  • +

    Here's an example wehere the varaible counter will be shared among 10 threads, where each of them will try to increment it by 1.

    +
      +
    • Why can't we directly use Mutex within multiple threads? +
        +
      • The threads use move, which moves the ownership of variable to the thread.
      • +
      • Rust won't allow us to move the ownership of lock counter in multiple threads.
      • +
      +
    • +
    • Why can't we use Rc<T>, to provide multiple ownership to individual threads? +
        +
      • Rc<T> is not safe to share across threads. It is possible if we use Rc<T> in multiple threads, then both threads might update the reference count at same time.
      • +
      • It doesn’t use any concurrency primitives to make sure that changes to the count can’t be interrupted by another thread.
      • +
      • That could lead to Wrong Counts and Memory Leak.
      • +
      +
    • +
    • What do we need then? +
        +
      • What we need is a type exactly like Rc<T> but one that makes changes to the reference count in a thread-safe way.
      • +
      • Fortunately, we have Arc<T> (atomically referenced counter), it is almost like Rc<T>, except the counts are maintained atomically.
      • +
      • Atomics are primitives that are safe to share across threads.
      • +
      +
    • +
    +
    use std::sync::{Arc, Mutex};
    +use std::thread;
    +
    +fn main() {
    +    // Mutex is used to lock a variable so that other thread can use
    +    // Arc provides multiple ownership like Rc<T> and it is thread safe
    +    let counter = Arc::new(Mutex::new(0)); // Notice counter is immutable, it's because Mutex provides interior mutability, similar to RefCell
    +    let mut handles = vec![];
    +
    +    for _ in 1..=10 {
    +        let counter = Arc::clone(&counter);
    +        let handle = thread::spawn(move || {
    +            let mut value = counter.lock().unwrap();
    +            *value += 1
    +        });
    +
    +        handles.push(handle);
    +    }
    +
    +    for handle in handles {
    +        handle.join().unwrap();
    +    }
    +
    +    println!("The value of counter: {}", *counter.lock().unwrap());
    +}
    +
  • +
  • +

    The combination of Arc<Mutex<T>>, is analogous to Rc<RefCell<T>>.

    +
  • +
  • +

    Keep in mind using Mutex<T> is risky, as logical errors may lead to deadlocks.

    +
  • +
+

Send and Sync trait

+
    +
  • +

    These two traits are part of the language itself, unlike otheer features of concurrency as they were part of the standard library.

    +
  • +
  • +

    They are called std::marker traits.

    +
  • +
  • +

    Send vs Sync

    +
    + + + +
    SendSync
    It is safe to transfer ownership of a type between threads.It is safe to use that type's reference betweeen threads.
    Any type T that implements SyncType T is Sync, if it's reference (&T) is Send or if type T implements Sync.
    Except Rc<T>, almost all types are Send. (use Arc<T> instead).Primitive Types, Mutex<T> are Sync but Rc<T>, RefCell<T> are not.
    +
  • +
  • +

    We don't need to implement Send and Sync for the types that are made up of those types that implements these traits.

    +
  • +
  • +

    In case you need to implement thes traits for a particular type than it means you'll need to write some unsafe rust code. You can learn the Dark Arts of Unsafe Code from this book “The Rustonomicon”.

    +
  • +
+

OOP (Object Oriented Programming)

+
    +
  • Characterstics of OOP: +
      +
    • Objects contain data and behaviour: +
        +
      • Programs should make up of objects.
      • +
      • An object packages both data and it's methods.
      • +
      • Rust offers struct, enum and impl blocks to provide this characterstic.
      • +
      +
    • +
    • Encapsulation: +
        +
      • When the implementation details are hidden from the code that is using the object.
      • +
      • The only way to use an object is through it's public API.
      • +
      • This enables the programmer to change and refactor an object’s internals without needing to change the code that uses the object.
      • +
      • Rust encapsulates everything by default and offers pub keyword to make things public.
      • +
      +
    • +
    • Inheritance: +
        +
      • When an object can inherit from another object’s definition, so that it can use it's parent object's data and behavior without defining them again.
      • +
      • Rust doesn't offers inheritance between struct, but has trait where you can use default methods that is both reusable and can be overridden.
      • +
      • The reasons to use inheritance are: code reusability and polymorphism.
      • +
      • Polymorphism means that you don't need to explicitly define the type in code, but can be detected during runtime. It is useful when two types share same characterstics.
      • +
      • Rust offers polymorphism in a more general manner. It offers generics to generalize the accepted types and trait bounds, to constraint the allowed types.
      • +
      +
    • +
    +
  • +
+

Note: People think "polymorphism is synonymous with inheritance". But it is a more general concept which means that a certain code can be referred to multiple types. It is used when two types share some common characterstics. In inheritance, those types are only subclasses.

+
    +
  • +

    Problems with Inheritance:

    +
      +
    • It adds the risk of sharing more code than necessary.
    • +
    • Subclasses are forced to share all the characterstics of the parents, even though sometimes it's not necessary or even undesired.
    • +
    • Sometimes calling the functions on the subclass doen't makes sense and even cause errors.
    • +
    • Due to this, some programming languages will only allow a subclass to inherit from one class, further restricting the flexibility of a program’s design.
    • +
    +
  • +
  • +

    Rust is different, it takes a completely different approach by using trait objects instead of inheritance.

    +
  • +
+

Defining a common behaviour using trait

+
    +
  • +

    A trait object points to both:

    +
      +
    • An instance of a type implementing our specified trait
    • +
    • A table used to look up trait methods on that type at runtime.
    • +
    +
  • +
+
+ + + + +
Propertystruct or enumtraitObjects in other languages
Stores DataYesNoYes
Stores BehaviourNoYesYes
Data and behaviourSeperated by impl blocks.CombinedCombined
UsesStore same items togetherStore common behaviour and allow abstractionStore same items and their common behavior
+
+
    +
  • +

    An example:

    +
      +
    • +

      Problem: Let's say initially we have components such as Button and Image that may use a common functionality to draw on the screen. It's possible that someday programmers want to introduce one more component named SelectBox. So, what we'll end up with are different types of structures that wants to use a common functionality.

      +
    • +
    • +

      Solution: We can invent a common function named draw(), which will have different implementations for different types of components.

      +
    • +
    • +

      How to build: We'll initialise a trait that can be shared among various components and a struct that can hold these compoenents.

      +
    • +
    • +

      The trait will look like this:

      +
      #![allow(unused)]
      +fn main() {
      +// A common functionality shared between multiple components
      +pub trait Draw {
      +    fn draw(&self);
      +}
      +}
      +
    • +
    • +

      We can build a struct that holds the components that implements the Draw:

      +
      #![allow(unused)]
      +fn main() {
      +pub struct Screen {
      +    // Box will allow to store the components on heap
      +    // dyn keyword will add the ability to detect a type that implements Draw on runtime
      +    pub components: Vec<Box<dyn Draw>>,
      +}
      +
      +impl Screen {
      +    pub fn run(&self) {
      +        for component in self.components.iter() {
      +            component.draw();
      +        }
      +    }
      +}
      +}
      +
    • +
    • +

      The difference with the alternative implementation using trait bounds in struct is that it restricts us to a Screen instance that has a list of components all of type Button or all of type TextField. At compile time, the definitions will be monomorphized.

      +
      #![allow(unused)]
      +fn main() {
      +pub struct Screen<T: Draw> {
      +    pub components: Vec<T>,
      +}
      +
      +impl<T> Screen<T>
      +where
      +    T: Draw,
      +{
      +    pub fn run(&self) {
      +        for component in self.components.iter() {
      +            component.draw();
      +        }
      +    }
      +}
      +}
      +
    • +
    • +

      Programmers can now create new components like this:

      +
      #![allow(unused)]
      +fn main() {
      +use gui::Draw;
      +
      +pub struct Button {
      +    // Some fields
      +}
      +
      +impl Draw for Button {
      +    fn draw(&self) {
      +        // code to actually draw something
      +    }
      +}
      +}
      +
    • +
    • +

      Users of this library can now use it like this:

      +
      use gui::{Button, Screen};
      +
      +fn main() {
      +    let screen = Screen {
      +        components: vec![
      +            Box::new(SelectBox {
      +                width: 75,
      +                height: 10,
      +                options: vec![
      +                    String::from("Yes"),
      +                    String::from("Maybe"),
      +                    String::from("No"),
      +                ],
      +            }),
      +            Box::new(Button {
      +                width: 50,
      +                height: 10,
      +                label: String::from("OK"),
      +            }),
      +        ],
      +    };
      +
      +    screen.run();
      +}
      +
    • +
    • +

      This concept is similar to the concept like duck typing: if it walks like a duck and quacks like a duck, then it must be a duck!

      +
    • +
    • +

      Use Cases:

      +
        +
      • Generics with trait bounds: If you’ll only ever have homogeneous collections. For Example, all elements of vector will be of type Button.
      • +
      • Box<dyn T>: You can use heterogeneous collections. For Example, elements can be a mix of Button, TextField etc.
      • +
      +
    • +
    +
  • +
  • +

    Static Dispatch vs Dynamic Dispatch:

    +
  • +
+
+ + + + +
Static DispatchDynamic Dispatch
Concrete types are decided at compile time.The compiler emits code that at runtime will figure out which method to call.
Compiler writes some new code for various concrete types.At runtime, it is decided whether a selected type can follow the requirements.
When we use trait bounds on generics, static dispatch happens.When we want to perform dynamic dispatch, we can use the dyn keyword.
No runtime cost is added.Some runtime cost is added.
+
+

The State Pattern

+
    +
  • +

    The state pattern is an object-oriented design pattern.

    +
  • +
  • +

    The current state is stored inside the struct, along with it's value(s).

    +
    #![allow(unused)]
    +fn main() {
    +pub struct Post {
    +    // Box and dyn are used because the state variable
    +    // will have different states during the life of Post
    +    state: Option<Box<dyn State>>,
    +    content: String,
    +}
    +}
    +
  • +
  • +

    There are state objects, you can create a new object by implementing this trait.

    +
    #![allow(unused)]
    +fn main() {
    +trait State {
    +    // The first two functions, results in transitions to different states.
    +    fn request_review(self: Box<Self>) -> Box<dyn State>;
    +    fn approve(self: Box<Self>) -> Box<dyn State>;
    +    // This function, can be called on any state object,
    +    // similar to the above two functions, except instead
    +    // of causing a state transition, it will return value
    +    // as if we conditionally returned output for each state
    +    fn content<'a>(&self, _post: &'a Post) -> &'a str {
    +        ""
    +    }
    +}
    +}
    +
      +
    • +

      The state pattern is built such that, methods defined on state objects will cause changes in the Post, but the methods defined on Post will have no idea what these changes will look like. Hence, state objects will encapsulate behaviour changes from the main struct.

      +
    • +
    • +

      You can look at it's complete implementation over here.

      +
    • +
    • +

      Some downsides of State Pattern:

      +
        +
      • Extra Modifications: If we add a new state, we'll need to modify other states too. It's due to the reason that one state can only make transitions to another state.
      • +
      • Code Duplication: It leads us to write common code inside state objects, as we cannot write directly in trait's default implementation because traits don't know about the concrete type.
      • +
      +
    • +
    • +

      There's another implementation of state pattern in Rust. It doesn't follow the classic OOP pattern, as we'll require to store the object in new variable, whenever a state transition will happen. Here's the code.

      +
      #![allow(unused)]
      +fn main() {
      +// This will cause a state transition from PendingReview to Published
      +let post = post.approve();
      +}
      +
    • +
    +
  • +
+

Advanced Concepts

+
    +
  • You'll learn about macros, it is a form of code that writes more code. We'll talk about unsafe rust which is a form of rust which gives you superpowers by removing the rust safety checks. You'll also learn some other advanced forms of traits, types and pattern matching.
  • +
+

Pattern Matching

+
    +
  • +

    match Arms

    +
    #![allow(unused)]
    +fn main() {
    +match VALUE {
    +    PATTERN => EXPRESSION,
    +    PATTERN => EXPRESSION,
    +    PATTERN => EXPRESSION,
    +}
    +}
    +
  • +
  • +

    Conditional if let statements

    +
    fn main() {
    +    let favorite_color: Option<&str> = None;
    +    let is_tuesday = false;
    +    let age: Result<u8, _> = "34".parse();
    +
    +    if let Some(color) = favorite_color {
    +        println!("Using your favorite color, {}, as the background", color);
    +    } else if is_tuesday {
    +        println!("Tuesday is green day!");
    +    } else if let Ok(age) = age {
    +        if age > 30 {
    +            println!("Using purple as the background color");
    +        } else {
    +            println!("Using orange as the background color");
    +        }
    +    } else {
    +        println!("Using blue as the background color");
    +    }
    +}
    +
  • +
  • +

    while let loops

    +
    #![allow(unused)]
    +fn main() {
    +    let mut stack = Vec::new();
    +
    +    stack.push(1);
    +    stack.push(2);
    +    stack.push(3);
    +
    +    while let Some(top) = stack.pop() {
    +        println!("{}", top);
    +    }
    +}
    +
  • +
  • +

    for loops

    +
    #![allow(unused)]
    +fn main() {
    +    let v = vec!['a', 'b', 'c'];
    +
    +    for (index, value) in v.iter().enumerate() {
    +        println!("{} is at index {}", value, index);
    +    }
    +}
    +
  • +
  • +

    let statements

    +
    #![allow(unused)]
    +fn main() {
    +    let (x, y, z) = (1, 2, 3);
    +}
    +
  • +
  • +

    function parameters

    +
    fn print_coordinates(&(x, y): &(i32, i32)) {
    +    println!("Current location: ({}, {})", x, y);
    +}
    +
    +fn main() {
    +    let point = (3, 5);
    +    print_coordinates(&point);
    +}
    +
  • +
+

Forms of Pattern

+
+ + + +
RefutableIrrefutable
Patterns that can fail to match for some possible value.Patterns that'll match for any possible value.
For Example, in if let Some(x) = a_value, the Some(x) can fail to match if a_value is None.For Example, in let x = 5;, the x matches anything and therefore cannot fail to match.
The if let and while let expressions accept refutable and irrefutable patterns, but the compiler warns against irrefutable patterns.Function parameters, let statements, and for loops can only accept irrefutable patterns, because the program cannot do anything meaningful when values don’t match.
+
+
    +
  • +

    Using a refutable pattern where Rust requires an irrefutable pattern:

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: The code doesn't know what to do with a None value
    +// Some(x) is a refutable pattern
    +// let requires an irrefutable pattern
    +let Some(x) = some_option_value;
    +}
    +
  • +
  • +

    Using irrefutable pattern where Rust requires a refutable pattern:

    +
  • +
+
#![allow(unused)]
+fn main() {
+// WARN: It doesn’t make sense to use if let with an irrefutable pattern
+// x is an irrefutable pattern
+// if let is a refutable pattern
+if let x = 5 {
+    println!("{}", x);
+};
+}
+
    +
  • In match statements, all arms use refutable pattern except the last one that uses _, which uses irrefutable pattern.
  • +
+

Pattern Syntax

+
Inside the match expression
+
    +
  • +

    Each match expression creates a new scope, hence varaibles defined in scope will shadow the variables defined outside.

    +
    #![allow(unused)]
    +fn main() {
    +    let x = Some(5);
    +    let y = 10;
    +
    +    match x {
    +        Some(50) => println!("Got 50"),
    +        Some(y) => println!("Matched, y = {:?}", y), // This y will shadow the y defined outside of this scope
    +        _ => println!("Default case, x = {:?}", x),
    +    }
    +
    +    println!("at the end: x = {:?}, y = {:?}", x, y);
    +
    +    // Output =>
    +    // Matched, y = 5
    +    // at the end: x = Some(5), y = 10
    +}
    +
  • +
  • +

    It's possible to use the "or" using the | syntax

    +
    #![allow(unused)]
    +fn main() {
    +    let x = 1;
    +
    +    match x {
    +        1 | 2 => println!("one or two"),
    +        3 => println!("three"),
    +        _ => println!("anything"),
    +    }
    +
    +    // Output =>
    +    // one or two
    +}
    +
  • +
  • +

    You may also specify ranges in the arm, only numbers and char values are allowed.

    +
    #![allow(unused)]
    +fn main() {
    +    let x = 5;
    +
    +    match x {
    +        1..=5 => println!("one through five"),
    +        _ => println!("something else"),
    +    }
    +
    +    let y = 'c';
    +
    +    match y {
    +        'a'..='j' => println!("early ASCII letter"),
    +        'k'..='z' => println!("late ASCII letter"),
    +        _ => println!("something else"),
    +    }
    +
    +    // Output =>
    +    // one through five
    +    // early ASCII letter
    +}
    +
  • +
+
Destructuring
+
    +
  • +

    Destructuring structs

    +
    struct Point {
    +    x: i32,
    +    y: i32,
    +}
    +
    +fn main() {
    +    let p = Point { x: 0, y: 7 };
    +
    +    // It's possible to destructure a struct into variables
    +    let Point { x: a, y: b } = p;
    +    assert_eq!(0, a);
    +    assert_eq!(7, b);
    +
    +    // A shorthand, will directly store respective values in x and y
    +    let Point { x, y } = p;
    +    assert_eq!(0, x);
    +    assert_eq!(7, y);
    +}
    +
  • +
  • +

    Destructring as well as matching the structs

    +
    fn main() {
    +    let p = Point { x: 0, y: 7 };
    +
    +    match p {
    +        Point { x, y: 0 } => println!("On the x axis at {}", x),
    +        Point { x: 0, y } => println!("On the y axis at {}", y),
    +        Point { x, y } => println!("On neither axis: ({}, {})", x, y),
    +    }
    +}
    +
  • +
  • +

    Destructuring enums

    +
    enum Color {
    +    Rgb(i32, i32, i32),
    +    Hsv(i32, i32, i32),
    +}
    +
    +enum Message {
    +    Quit,
    +    Move { x: i32, y: i32 },
    +    Write(String),
    +    ChangeColor(Color),
    +}
    +
    +fn main() {
    +    let msg = Message::ChangeColor(Color::Hsv(0, 160, 255));
    +
    +    match msg {
    +        Message::Quit => {
    +            println!("The Quit variant has no data to destructure.")
    +        }
    +        Message::Move { x, y } => {
    +            println!(
    +                "Move in the x direction {} and in the y direction {}",
    +                x, y
    +            );
    +        }
    +        Message::Write(text) => println!("Text message: {}", text),
    +        Message::ChangeColor(r, g, b) => println!(
    +            "Change the color to red {}, green {}, and blue {}",
    +            r, g, b
    +        ),
    +        Message::ChangeColor(Color::Rgb(r, g, b)) => println!(
    +            "Change the color to red {}, green {}, and blue {}",
    +            r, g, b
    +        ),
    +        Message::ChangeColor(Color::Hsv(h, s, v)) => println!(
    +            "Change the color to hue {}, saturation {}, and value {}",
    +            h, s, v
    +        ),
    +    }
    +}
    +
  • +
  • +

    We can mix, match, and nest destructuring patterns in even more complex ways

    +
    #![allow(unused)]
    +fn main() {
    +    let ((feet, inches), Point { x, y }) = ((3, 10), Point { x: 3, y: -10 });
    +}
    +
  • +
+
Ignoring Values
+
    +
  • +

    You may use _ or .. to ignore values:

    +
      +
    • _ : It is used when you want to ignore a warning of unused variable, inside match expression for the remaining values or using a name that starts with underscore.
    • +
    • .. : Ignore remaining parts of the value.
    • +
    +
  • +
  • +

    You may use _ for ignoring an unused variable

    +
    fn main() {
    +    let _x = 5;
    +    let y = 10;
    +}
    +
  • +
  • +

    It's possible to use _ in functions

    +
    fn foo(_: i32, y: i32) {
    +    println!("This code only uses the y parameter: {}", y);
    +}
    +
    +fn main() {
    +    foo(3, 4);
    +}
    +
  • +
  • +

    There is a subtle difference between using only _ and using a name that starts with an underscore.

    +
      +
    • +

      The syntax _x still binds the value to the variable.

      +
      #![allow(unused)]
      +fn main() {
      +// FAIL: s lost it's ownership to _s, but was attempted to use again for printing
      +let s = Some(String::from("Hello!"));
      +
      +// _s binds the value, the value of s is moved
      +if let Some(_s) = s {
      +    println!("found a string");
      +}
      +
      +println!("{:?}", s);
      +}
      +
    • +
    • +

      Whereas _ doesn’t bind at all.

      +
      #![allow(unused)]
      +fn main() {
      +    let s = Some(String::from("Hello!"));
      +
      +    // _ never binds the value, hence s stays the owner
      +    if let Some(_) = s {
      +        println!("found a string");
      +    }
      +
      +    println!("{:?}", s);
      +}
      +
    • +
    +
  • +
+

Note: Ignoring a function parameter can be especially useful in some cases, for example, when implementing a trait when you need a certain type signature but the function body in your implementation doesn’t need one of the parameters. The compiler will then not warn about unused function parameters, as it would if you used a name instead.

+
    +
  • +

    Ignoring remaining parts of struct with ..

    +
    #![allow(unused)]
    +fn main() {
    +struct Point {
    +    x: i32,
    +    y: i32,
    +    z: i32,
    +}
    +
    +let origin = Point { x: 0, y: 0, z: 0 };
    +
    +match origin {
    +    // It prevents using _ multiple times
    +    Point { x, .. } => println!("x is {}", x),
    +}
    +}
    +
  • +
  • +

    Skipping middle values using ..

    +
    fn main() {
    +    let numbers = (2, 4, 8, 16, 32);
    +
    +    match numbers {
    +        (first, .., last) => {
    +            println!("Some numbers: {}, {}", first, last);
    +        }
    +    }
    +}
    +
  • +
  • +

    You can only use .. once per tuple

    +
    fn main() {
    +    let numbers = (2, 4, 8, 16, 32);
    +
    +    match numbers {
    +        (.., second, ..) => {
    +            println!("Some numbers: {}", second)
    +        },
    +    }
    +}
    +
  • +
+
Match Guard
+
    +
  • +

    Match Guard is an additional if condition specified after the pattern in a match arm that must also match along with the pattern matching, for that arm to be chosen.

    +
    #![allow(unused)]
    +fn main() {
    +    let num = Some(4);
    +
    +    match num {
    +        Some(x) if x % 2 == 0 => println!("The number {} is even", x),
    +        Some(x) => println!("The number {} is odd", x),
    +        None => (),
    +    }
    +}
    +
  • +
  • +

    The downside of this additional expressiveness is that the compiler doesn't try to check for exhaustiveness when match guard expressions are involved.

    +
  • +
  • +

    Using Match Guard with | operator

    +
    #![allow(unused)]
    +fn main() {
    +    let x = 4;
    +    let y = false;
    +
    +    match x {
    +        // It works like this => (4 | 5 | 6) if y => ...
    +        // And not like this => 4 | 5 | (6 if y) => ...
    +        4 | 5 | 6 if y => println!("yes"),
    +        _ => println!("no"),
    +    }
    +
    +    // Output =>
    +    // no
    +}
    +
  • +
  • +

    @ Bindings

    +
    #![allow(unused)]
    +fn main() {
    +// The at operator (@) lets us create a variable that holds a value at the same time
    +// we’re testing that value to see whether it matches a pattern.
    +
    +enum Message {
    +    Hello { id: i32 },
    +}
    +
    +let msg = Message::Hello { id: 5 };
    +
    +match msg {
    +    Message::Hello {
    +        id: id_variable @ 3..=7,
    +    } => println!("Found an id in range: {}", id_variable), // Value of "id" is stored in "id_variable", hence it was knwon here
    +    Message::Hello { id: 10..=12 } => {
    +        println!("Found an id in another range") // Range was specified, Value of "id" is not stored inside any variable, hence it is unknown here
    +    }
    +    Message::Hello { id } => println!("Found some other id: {}", id), // Range was not specified, Value of "id" is stored inside "id", hence it was known here
    +}
    +}
    +
  • +
+

Unsafe Rust

+

Rust has a second language hidden inside it that doesn’t enforce the memory safety guarantees: it’s called unsafe Rust and works just like regular Rust, but gives us extra superpowers.

+
    +
  • +

    Why it exists?

    +
      +
    • It’s better for Rust to reject some valid programs rather than accept some invalid programs.
    • +
    • That makes the static analysis of the Rust compiler conservative.
    • +
    • Although the code might be okay, if the Rust compiler doesn’t have enough information to be confident, it will reject the code.
    • +
    • In these cases, you can use unsafe code to tell the compiler, “Trust me, I know what I’m doing.”
    • +
    • Another reason Rust has an unsafe alter ego is that the underlying computer hardware is inherently unsafe. Hence, it'll allow you to write low-level systems code, such as directly interacting with the OS, or even write your own OS.
    • +
    +
  • +
  • +

    Any Downsides?

    +
      +
    • Use it at your own risk.
    • +
    • Problems due to memory unsafety, such as null pointer dereferencing, can occur.
    • +
    +
  • +
  • +

    Answers to some common misconceptions:

    +
      +
    • It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks: if you use a reference in unsafe code, it will still be checked.
    • +
    • Hence, you'll get only the above mentioned features along with some safety.
    • +
    • Also, it does not necessarily mean that code inside unsafe is necessarily dangerous or that it will definitely have memory safety problems.
    • +
    • It is programmer's responsibilty to ensure that the code is memory safe.
    • +
    +
  • +
  • +

    How to write code safely using unsafe?

    +
      +
    • Keep unsafe blocks small and it'll be easier to investigate the memory bugs.
    • +
    • You can also wrap unsafe code in a safe abstraction. It prevents the uses of unsafe from leaking out in all the other places.
    • +
    +
  • +
  • +

    What Superpowers can I get?

    +
      +
    • Dereference a raw pointer
    • +
    • Call an unsafe function or method
    • +
    • Access or modify a mutable static variable
    • +
    • Implement an unsafe trait
    • +
    • Access fields of unions
    • +
    +
  • +
+

Dereferencing a Raw Pointer

+
    +
  • +

    Raw Pointers are meant for unsafe rust and are similar to references. They are of two types:

    +
      +
    • *const T: Immutable Raw Pointer
    • +
    • *mut T: Mutable Raw Pointer
    • +
    +
  • +
  • +

    Here * is not a dereference operator but a part of the type name.

    +
  • +
  • +

    Unlike references and Smart Pointers, they break the following rules of Rust's safety:

    +
      +
    • They are allowed to ignore the borrowing rules by having both immutable and mutable pointers or multiple mutable pointers to the same location
    • +
    • Aren’t guaranteed to point to valid memory
    • +
    • Are allowed to be null
    • +
    • Don’t implement any automatic cleanup
    • +
    +
  • +
  • +

    This is how you can create raw pointers out of a variable.

    +
    #![allow(unused)]
    +fn main() {
    +let mut num = 5;
    +
    +let r1 = &num as *const i32;
    +let r2 = &mut num as *mut i32;
    +}
    +
  • +
  • +

    We can create raw pointers in safe code; we just can’t dereference raw pointers outside an unsafe block.

    +
    #![allow(unused)]
    +fn main() {
    +let mut num = 5;
    +
    +// Notice it's possible to create raw pointers inside safe code
    +let r1 = &num as *const i32;
    +let r2 = &mut num as *mut i32;
    +
    +// But to dereference a raw pointer you'll require an unsafe block
    +unsafe {
    +    println!("r1 is: {}", *r1);
    +    println!("r2 is: {}", *r2);
    +}
    +}
    +
  • +
  • +

    We broke the Rust's safety measures, as we are able to use a mutable and immutable reference to a value. Now, as a programmer we made sure that these references are used properly inside the unsafe block.

    +
  • +
  • +

    Uses of creating raw pointers:

    +
      +
    • Mostly used when interfacing with C code.
    • +
    • Calling an Unsafe Function or Method.
    • +
    • Building safe abstractions over unsafe code.
    • +
    +
  • +
+

Call an unsafe function or method

+
    +
  • +

    Defining an unsafe function:

    +
    #![allow(unused)]
    +fn main() {
    +unsafe fn dangerous() {}
    +}
    +
  • +
  • +

    Calling an unsafe function:

    +
    #![allow(unused)]
    +fn main() {
    +// By calling an unsafe function within an unsafe block,
    +// we’re saying that we’ve read this function’s documentation
    +// and take responsibility for upholding the function’s contracts.
    +unsafe {
    +    dangerous();
    +}
    +}
    +
  • +
+
Wrappping unsafe code in safe abstractions
+
    +
  • +

    We want to create a function that can split a vector into two by index

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: Rust won't allow us to have two immutable borrow of the same vector
    +// Only we know that the two immutable borrow aren't overlapping and won't
    +// cause any trouble so we would like to silent the compiler by using unsafe
    +fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
    +    let len = slice.len();
    +
    +    assert!(mid <= len);
    +
    +    (&mut slice[..mid], &mut slice[mid..])
    +}
    +}
    +
  • +
  • +

    Here is it's implementation using unsafe

    +
    #![allow(unused)]
    +fn main() {
    +use std::slice;
    +
    +// Notice the function isn't using unsafe in it's signature, hence unsafe is
    +// wrapped in a safe abstraction
    +fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) {
    +    let len = slice.len();
    +    let ptr = slice.as_mut_ptr(); // Raw pointer
    +
    +    assert!(mid <= len);
    +
    +    // This is an acceptable use of unsafe
    +    // We need unsafe block to call these functions because
    +    // we're slicing and adding to the raw pointers, which may
    +    // have a chance to become invalid, iff programmer hasn't
    +    // written in properly
    +    unsafe {
    +        (
    +            slice::from_raw_parts_mut(ptr, mid), // It will give the slice of range [ptr, ptr + mid)
    +            slice::from_raw_parts_mut(ptr.add(mid), len - mid),
    +        )
    +    }
    +}
    +}
    +
  • +
  • +

    If you want to create a raw pointer with unexpected behaviour, you can do this

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: It won't point to a valid i32 value
    +use std::slice;
    +
    +let address = 0x01234usize;
    +let r = address as *mut i32;
    +
    +let slice: &[i32] = unsafe { slice::from_raw_parts_mut(r, 10000) };
    +}
    +
  • +
+
Call the code from other languages using extern
+
    +
  • +

    Rust uses extern keyword to use Foreign Function Interface (FFI), it is a way for a programming language to define functions and enable a different (foreign) programming language to call those functions.

    +
  • +
  • +

    Functions declared within extern blocks are always unsafe to call from Rust code.

    +
  • +
  • +

    This is how you can call C code in Rust:

    +
    // After extern you need to specify ABI (Application Binary Interface)
    +// Here we are using extern to use ABI of other languages
    +extern "C" {
    +    fn abs(input: i32) -> i32;
    +}
    +
    +fn main() {
    +    unsafe {
    +        println!("Absolute value of -3 according to C: {}", abs(-3));
    +    }
    +}
    +
  • +
  • +

    It is possible to write Rust code such that other languages can call.

    +
    #![allow(unused)]
    +fn main() {
    +// This code is not unsafe
    +#[no_mangle] // This doesn't allows the compiler to rename the functions name
    +pub extern "C" fn call_from_c() {   // Here we are using extern to create an ABI for other languages
    +    println!("Just called a Rust function from C!");
    +}
    +}
    +
  • +
+

Accessing or Modifying a Mutable Static Variable

+
    +
  • +

    In Rust, global variables are called static variables.

    +
  • +
  • +

    It is problematic as it may cause a data race if two threads are accessing the same mutable global variable.

    +
  • +
  • +

    This is how you can create a global or static variable.

    +
    static HELLO_WORLD: &str = "Hello, world!";
    +
    +fn main() {
    +    println!("name is: {}", HELLO_WORLD);
    +}
    +
  • +
  • +

    The references for static variable is 'static by default. So, we need to specify it's lifetime anywhere.

    +
  • +
  • +

    Also, it's completely safe to access an immutable static variable.

    +
  • +
+
Constants and Static Variable
+
+ + + +
ConstantsStatic Variable
Dynamic address in memoryFixed address in memory
Constants duplicate their data whenever used.Using the value will always access the same data.
Constants are never mutable.Static variable can be both mutable and immutable, and for modifying mutable static variable, you'll need to use unsafe.
+
+
Implementing Static Variables
+
    +
  • +

    This is how you can implement static variables.

    +
    static mut COUNTER: u32 = 0;
    +
    +fn add_to_count(inc: u32) {
    +    unsafe {
    +        COUNTER += inc;
    +    }
    +}
    +
    +fn main() {
    +    add_to_count(3);
    +
    +    unsafe {
    +        println!("COUNTER: {}", COUNTER);
    +    }
    +}
    +
  • +
  • +

    Notice that, it's not causing us any trouble because this code is single threaded, but if we tried to mutate the static variable in multiple threads it could lead to data races.

    +
  • +
  • +

    Static Variables (or Global Variables) are unsafe. That's because it's difficult to ensure that there are no data races for a global variable.

    +
  • +
  • +

    It’s preferable to use the concurrency techniques and thread-safe smart pointers.

    +
  • +
+

Implementing an unsafe trait

+
    +
  • +

    A trait is unsafe when at least one of its methods has some invariant that the compiler can’t verify.

    +
  • +
  • +

    Here's an implementation:

    +
    unsafe trait Foo {
    +    // methods go here
    +}
    +
    +unsafe impl Foo for i32 {
    +    // method implementations go here
    +}
    +
    +fn main() {}
    +
  • +
  • +

    If we implement a type that contains a type that is not Send or Sync (i.e. doesn't already implements the safe ways of sending a type in multiple threads), such as raw pointers, and we want to mark that type as Send or Sync, we must use unsafe.

    +
  • +
+

Accessing Fields of a Union

+
    +
  • A union is similar to a struct, but only one declared field is used in a particular instance at one time.
  • +
  • Unions are primarily used to interface with unions in C code.
  • +
  • Accessing union fields is unsafe because Rust can’t guarantee the type of the data currently being stored in the union instance.
  • +
+

Advanced Traits

+

Associated Types

+
    +
  • +

    This is how you can create an associate type inside a trait

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Iterator {
    +    type Item; // You see, this is the associated type
    +
    +    fn next(&mut self) -> Option<Self::Item>; // Now, this trait can use this type in it's signatures
    +}
    +}
    +
  • +
  • +

    Here's an implementation of this trait on one of our types Counter:

    +
    #![allow(unused)]
    +fn main() {
    +impl Iterator for Counter {
    +    type Item = u32;
    +
    +    fn next(&mut self) -> Option<Self::Item> {
    +        // --snip--
    +}
    +
  • +
  • +

    Now, you might be wondering, can't we do something like this with using traits with generics?

    +
    #![allow(unused)]
    +fn main() {
    +pub trait Iterator<T> {
    +    fn next(&mut self) -> Option<T>;
    +}
    +}
    +
  • +
  • +

    Here are the differences between Associated Types and Traits with generics?

    +
    + + + +
    Traits with Associated TypesTraits with Generics
    There will be only one implementation for a type.There can be multiple implementations for a type, using individual concrete type.
    For Example, impl Iterator for CounterFor Example, impl Iterator<String> for Counter, and many more.
    Using functions of these traits will not require you to provide type annotations.You'll need to provide type annotations to provide which iteration to use.
    +
  • +
+

Operator Overloading

+
    +
  • +

    This is how you can add two types by using the + operator

    +
    // This library `std::ops` contains all the overloadable operators
    +use std::ops::Add;
    +
    +#[derive(Debug, Copy, Clone, PartialEq)]
    +struct Point {
    +    x: i32,
    +    y: i32,
    +}
    +
    +impl Add for Point {
    +    type Output = Point; // associated type will restrict the number of implementations
    +
    +    fn add(self, other: Point) -> Point { // This fn will decide how the `+` will behave for the type Point
    +        Point {
    +            x: self.x + other.x,
    +            y: self.y + other.y,
    +        }
    +    }
    +}
    +
    +fn main() {
    +    assert_eq!(
    +        Point { x: 1, y: 0 } + Point { x: 2, y: 3 },
    +        Point { x: 3, y: 3 }
    +    );
    +}
    +
  • +
  • +

    This is how the trait Add is defined in the Rust's library std::ops

    +
    #![allow(unused)]
    +fn main() {
    +// This syntax `<Rhs=Self>` is called "default parameters"
    +// In case, someone implementing this trait doesn't define the type
    +// then the type defined in default parameter will be used everywhere in this trait
    +trait Add<Rhs=Self> {
    +    type Output;
    +
    +    fn add(self, rhs: Rhs) -> Self::Output; // The "default parameter" is used here inside argument `rhs`
    +}
    +}
    +
  • +
  • +

    You can also customize Rhs, that'll mean you'll be adding a value of different type to the main type

    +
    #![allow(unused)]
    +fn main() {
    +use std::ops::Add;
    +
    +struct Millimeters(u32);
    +struct Meters(u32);
    +
    +impl Add<Meters> for Millimeters { // Modified Rhs to Meters, otherwise the default will be Self (or Millimeters)
    +    type Output = Millimeters;
    +
    +    fn add(self, other: Meters) -> Millimeters {
    +        Millimeters(self.0 + (other.0 * 1000))
    +    }
    +}
    +}
    +
  • +
  • +

    You’ll use default type parameters in two main ways:

    +
      +
    • To extend a type without breaking existing code
    • +
    • To allow customization in specific cases most users won’t need
    • +
    +
  • +
+

Function with same name in multiple traits

+
    +
  • +

    Following things are allowed:

    +
      +
    • Multiple traits to have functions with same name
    • +
    • A type implementing all these traits
    • +
    +
  • +
  • +

    Here's an implementation:

    +
    trait Pilot {
    +    fn fly(&self);
    +}
    +
    +trait Wizard {
    +    fn fly(&self);
    +}
    +
    +struct Human;
    +
    +impl Pilot for Human {
    +    fn fly(&self) {
    +        println!("This is your captain speaking.");
    +    }
    +}
    +
    +impl Wizard for Human {
    +    fn fly(&self) {
    +        println!("Up!");
    +    }
    +}
    +
    +impl Human {
    +    fn fly(&self) {
    +        println!("*waving arms furiously*");
    +    }
    +}
    +
    +fn main() {
    +    let person = Human;
    +    Pilot::fly(&person); // You'll have to pass the reference to the person, because it takes self as an argument
    +    Wizard::fly(&person); // if we had two types that both implement one trait, this self would recognize the correct type
    +    person.fly(); // The direct implementation will get called first, instead you can also use Human::fly(&person)
    +}
    +
  • +
  • +

    Let's see what happens if the associated function of a struct and a trait has same name

    +
    trait Animal {
    +    // Notice, there is no self passed inside,
    +    // multiple types can implement this trait,
    +    // Calling this function won't be direct,
    +    // as the trait won't be able to infer
    +    // which type's implementation to call
    +    fn baby_name() -> String;
    +}
    +
    +struct Dog;
    +
    +impl Dog {
    +    // This is an associated function, which can be called
    +    // using `Dog::baby_name()`, just like any other
    +    // associated fn without self
    +    fn baby_name() -> String {
    +        String::from("Spot")
    +    }
    +}
    +
    +impl Animal for Dog {
    +    fn baby_name() -> String {
    +        String::from("puppy")
    +    }
    +}
    +
    +fn main() {
    +    println!("A baby dog is called a {}", Dog::baby_name()); // The direct implementation will get called
    +    println!("A baby dog is called a {}", Animal::baby_name()); // Won't work, this associated fn don't has self, remember? It can't infer the type
    +    println!("A baby dog is called a {}", <Dog as Animal>::baby_name()); // We need to tell Rust that we want to use the implementation of Animal for Dog
    +}
    +
  • +
  • +

    This is the fully qualified syntax, used for all associated functions (including methods)

    +
    #![allow(unused)]
    +fn main() {
    +<Type as Trait>::function(receiver_if_method, next_arg, ...); // You don't need to provide all the information that Rust can infer
    +}
    +
  • +
+

Supertraits

+
    +
  • +

    Sometimes, you might need one trait to use another trait’s functionality.

    +
  • +
  • +

    The traits you would be using to build your own trait is called Supertrait.

    +
  • +
  • +

    One important thing is that, now your trait can only be implemented on the types that already implements the Supertrait.

    +
  • +
  • +

    Here's an implementation. This OutlinePrint can only be implemented on any trait that implements Display.

    +
    #![allow(unused)]
    +fn main() {
    +use std::fmt;
    +
    +trait OutlinePrint: fmt::Display { // It is also like bounding a trait with another trait
    +    fn outline_print(&self) {
    +        let output = self.to_string(); // It works only because all the types already implements `Display`
    +        let len = output.len();
    +        println!("{}", "*".repeat(len + 4));
    +        println!("*{}*", " ".repeat(len + 2));
    +        println!("* {} *", output);
    +        println!("*{}*", " ".repeat(len + 2));
    +        println!("{}", "*".repeat(len + 4));
    +    }
    +}
    +}
    +
  • +
  • +

    For reference, you can also implement fmt::Display on your type, like this:

    +
    #![allow(unused)]
    +fn main() {
    +struct Point {
    +    x: i32,
    +    y: i32,
    +}
    +
    +use std::fmt;
    +
    +impl fmt::Display for Point {
    +    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    +        write!(f, "({}, {})", self.x, self.y)
    +    }
    +}
    +}
    +
  • +
  • +

    Now, we know that Point implements Display, now we can implement OutlinePrint like this:

    +
    #![allow(unused)]
    +fn main() {
    +impl OutlinePrint for Point {}
    +}
    +
  • +
  • +

    The output will look like this for the fn outline_print

    +
    **********
    +*        *
    +* (1, 3) *
    +*        *
    +**********
    +
    +
  • +
+

Newtype Pattern

+

The Orphan Rule states that we’re allowed to implement a trait on a type as long as either the trait or the type are local to our crate.

+
    +
  • +

    The newtype pattern , helps us to get around this restriction.

    +
  • +
  • +

    All we need to do is to create a new type in a tuple struct.

    +
  • +
  • +

    Let's say, we want to implement Display on Vec<T>. Both of them are not local to our code, thereby orphan rule will prevent us from implementing it.

    +
  • +
  • +

    Now, we can use this newtype pattern for getting a workaround. What we'll be building is a wrapper that will make the Vec<T> local to us.

    +
    use std::fmt;
    +
    +struct Wrapper(Vec<String>); // A new struct, which is just a wrapper for Vec<String>
    +
    +impl fmt::Display for Wrapper { // Now, we can implement Display on Wrapper, but we can't do directly on Vec<T>
    +    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    +        write!(f, "[{}]", self.0.join(", ")) // self.0 is used to take the Vector out
    +    }
    +}
    +
    +fn main() {
    +    // The only disadvantage is that, we'll need to create
    +    // a vector inside a wrapper to use the Display trait
    +    let w = Wrapper(vec![String::from("hello"), String::from("world")]);
    +    println!("w = {}", w);
    +}
    +
  • +
  • +

    If we wanted the new type to have every method the inner type has, implementing the Deref trait on the Wrapper to return the inner type would be a solution.

    +
  • +
  • +

    If we don’t want the Wrapper type to have all the methods of the inner type — for example, to restrict the Wrapper type’s behavior — we would have to implement just the methods we do want manually.

    +
  • +
+

Advanced Types

+

Uses of the Newtype Pattern

+
    +
  • Type Safety: We can wrap u32 values with structs Millimeters and Meters. Now, if a value is stored in Millimeters, it is safe to say that this value can't call functions defined for Meters, and vice versa is true.
  • +
  • Abstraction: We could provide a People type to wrap a HashMap<i32, String> that stores a person’s ID associated with their name. Code using People would only interact with the public API we provide, such as a method to add a name string to the People collection; that code wouldn’t need to know that we assign an i32 ID to names internally.
  • +
+

Type Aliases

+
    +
  • +

    This is how you can create a type alias:

    +
    #![allow(unused)]
    +fn main() {
    +type Kilometers = i32;
    +}
    +
  • +
  • +

    How it works?

    +
      +
    • Values with type Kilometers will be treated same as i32.
    • +
    • We aren't creating a new type, we're just adding a synonym to i32, called Kilometers
    • +
    +
  • +
  • +

    Hence, doing something like this is totally fine:

    +
    #![allow(unused)]
    +fn main() {
    +let x: i32 = 5;
    +let y: Kilometers = 5;
    +
    +println!("x + y = {}", x + y); // This will work
    +}
    +
  • +
  • +

    The advantage is that it will give us the flexibility that any function with an argument of i32, we can pass Kilometers value to it.

    +
  • +
  • +

    The disadvantage is that we don't get the type checks as we get in the newtype pattern.

    +
  • +
  • +

    You can create an alias where you want to prevent naming a complex type.

    +
    #![allow(unused)]
    +fn main() {
    +type Thunk = Box<dyn Fn() + Send + 'static>; // A type that stores closure
    +
    +let f: Thunk = Box::new(|| println!("hi")); // We don't need to specify the longer type, instead we can say just "Thunk"
    +
    +fn takes_long_type(f: Thunk) { // Again, we don't need to specify the longer type, just "Thunk"
    +  ...
    +}
    +}
    +
  • +
+

Fun Fact: Thunk is a word for code to be evaluated at a later time, so it’s an appropriate name for a closure that gets stored

+
    +
  • +

    We can also shorten a Result values of I/O operations like this

    +
    #![allow(unused)]
    +fn main() {
    +type Result<T> = std::result::Result<T, std::io::Error>;
    +}
    +
  • +
  • +

    Now, Result<usize, Error> can be replaced with Result<usize> and Result<(), Error> can be replaced with Result<()>. Also, we can use the ? operator, since it's the same type.

    +
  • +
+

The never type !

+
    +
  • +

    This type never returns. In type theory lingo it is known as the empty type because it has no values.

    +
  • +
  • +

    Rust prefers to call it the never type because it stands in the place of the return type when a function will never return.

    +
    #![allow(unused)]
    +fn main() {
    +// People read it as, "the function bar(), returns never", and are called diverging functions
    +fn bar() -> ! {
    +    // --snip--
    +}
    +}
    +
  • +
  • +

    Rust never allows a variable to have different possible data types.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: You can't create a variable "guess", that may have either number or string
    +let guess = match guess.trim().parse() {
    +    Ok(_) => 5,
    +    Err(_) => "hello",
    +};
    +}
    +
  • +
  • +

    But this is possible:

    +
    #![allow(unused)]
    +fn main() {
    +let guess: u32 = match guess.trim().parse() {
    +    Ok(num) => num,
    +    Err(_) => continue, // Wait a minute, how's this even allowed?
    +};
    +}
    +
  • +
  • +

    The continue has a never type (!), which means it'll never return any value. That is, when Rust computes the type of guess, it looks at both match arms, the former with a value of u32 and the latter with a ! value. Because ! can never have a value, Rust decides that the type of guess is u32.

    +
  • +
  • +

    You can remember it this way, the ! can get coerced to any other type.

    +
  • +
  • +

    This is the original implementation of unwrap!(). Here, the return type is coerced to a single type T, and that's because panic!() ends the program and has a never type (!).

    +
    #![allow(unused)]
    +fn main() {
    +impl<T> Option<T> {
    +    pub fn unwrap(self) -> T {
    +        match self {
    +            Some(val) => val,
    +            None => panic!("called `Option::unwrap()` on a `None` value"),
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    The value of the expression of loop is also of the type !.

    +
    #![allow(unused)]
    +fn main() {
    +print!("forever ");
    +
    +loop {
    +    print!("and ever ");
    +}
    +}
    +
  • +
+

Dynamically Sized Traits and the Sized trait

+
    +
  • +

    DSTs or unsized types let us write code using values whose size can only be known at runtime.

    +
  • +
  • +

    So, Rust doesn't let us create strings with str (not &str):

    +
    #![allow(unused)]
    +fn main() {
    +let s1: str = "Hello there!";
    +let s2: str = "How's it going?";
    +}
    +
  • +
  • +

    Why's that?

    +
      +
    • Rust needs to know a fixed size of a type. Here s1 takes 12 bytes and s2 takes 15 bytes.
    • +
    • It's not possible to accomodate all the strings in a single fixed size.
    • +
    +
  • +
  • +

    What's the solution?

    +
      +
    • &str is the solution.
    • +
    • It stores two values: the address of the str and its length.
    • +
    • So, that makes &str will only need two usize, one for the address and the other for the length.
    • +
    • That's why, we always know the size of a &str, no matter how long the string it refers to is.
    • +
    +
  • +
  • +

    In general, this is the way in which dynamically sized types are used in Rust.

    +
  • +
  • +

    The golden rule of dynamically sized types is that we must always put values of dynamically sized types behind a pointer of some kind.

    +
  • +
  • +

    The traits can be Dynamically Sixed too. All we need to do is to put them behind a pointer, such as &dyn Trait or Box<dyn Trait>.

    +
  • +
  • +

    The Sized trait

    +
      +
    • +

      A trait that determines whether or not a type's size is known at compile time.

      +
    • +
    • +

      You may create a generic function like this:

      +
      #![allow(unused)]
      +fn main() {
      +fn generic<T>(t: T) {
      +    // --snip--
      +}
      +}
      +
    • +
    • +

      But, Rust treats it as if it was re-written like this:

      +
      #![allow(unused)]
      +fn main() {
      +// This means generic functions will only work on
      +// types who's size is known at the compile time
      +fn generic<T: Sized>(t: T) {
      +    // --snip--
      +}
      +}
      +
    • +
    • +

      It's possible to get over with this restriction:

      +
      #![allow(unused)]
      +fn main() {
      +// The ?Sized means “T may or may not be Sized”
      +// Now, this fn will accept T whose size may or may not be known at compile time
      +// The ?Trait syntax with this meaning is only available for Sized, not any other traits.
      +// Also, notice, we're using `&T` and not `T`, now we'll use `T` behind some kind of pointer, here it's reference
      +fn generic<T: ?Sized>(t: &T) {
      +    // --snip--
      +}
      +}
      +
    • +
    +
  • +
+

Advanced Functions and Closures

+

Pass functions to the functions

+
    +
  • +

    Just like you can pass closures to the functions, you can also pass "funtions to the functions".

    +
  • +
  • +

    There's a type represented by fn, (don't confuse it with Fn, that is a closure trait).

    +
  • +
  • +

    This fn type is called Function Pointer.

    +
  • +
  • +

    Here's how you can use it:

    +
    fn add_one(x: i32) -> i32 {
    +  x + 1
    +}
    +
    +fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 {
    +  f(arg) + f(arg)
    +}
    +
    +fn main() {
    +  let answer = do_twice(add_one, 5);
    +  println!("Answer: {}", answer);
    +}
    +
  • +
  • +

    Function pointers implement all three of the closure traits (Fn, FnMut, and FnOnce), so you can always pass a function pointer as an argument for a function that expects a closure.

    +
  • +
  • +

    So, instead of passing a closure, you can simply enter a function name, and it will work.

    +
    #![allow(unused)]
    +fn main() {
    +// You can either do this
    +let list_of_numbers = vec![1, 2, 3];
    +let list_of_strings: Vec<String> =
    +    list_of_numbers
    +    .iter()
    +    .map(|i| i.to_string()) // Provide the closure
    +    .collect();
    +
    +
    +// Or you can simply enter the function name
    +let list_of_numbers = vec![1, 2, 3];
    +let list_of_strings: Vec<String> =
    +    list_of_numbers
    +    .iter()
    +    .map(ToString::to_string) // Enter the function name, wohoo!
    +    .collect();
    +}
    +
  • +
  • +

    You can use enum variants as an initializer function. Also, we now know we can pass a function inside a function, so here's what we can also do:

    +
    #![allow(unused)]
    +fn main() {
    +enum Status {
    +    Value(u32), // So, this works as an initializer function too
    +    Stop,
    +}
    +
    +let list_of_statuses: Vec<Status> = (0u32..20).map(Status::Value).collect(); // This will create Status instances of the variant Value
    +}
    +
  • +
  • +

    You can do the same thing by using closures, it's more of a personal preference. You can use whichever feels more clearer to you.

    +
  • +
+

Return Closures

+
    +
  • +

    First of all, you can't return functions, that's not allowed in rust.

    +
  • +
  • +

    Technically, you are not alllowed to use fn (Funciion Pointer) as a return type, but you can return closures.

    +
  • +
  • +

    Closures are represented by traits.

    +
  • +
  • +

    To return a type that implements a trait, you can do either of the two:

    +
      +
    • Return a concrete type
    • +
    • Use dynamic dispatch (it'll allow the function to know concrete type at runtime).
    • +
    +
  • +
  • +

    Closures don't have the concrete type, you can't send them directly, you'll need to use dynamic dispatch.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: This will also not work
    +fn returns_closure() -> dyn Fn(i32) -> i32 {
    +    |x| x + 1
    +}
    +}
    +
  • +
  • +

    Now, Rust needs one more thing, the size of the closure. Remember the Sized trait.

    +
  • +
  • +

    The solution to this problem, is to wrap the return type with some sort of pointer, in case of strings we use references. For example, using &str instead of str.

    +
  • +
  • +

    Here, we'll use Box<T> to simply store it on the heap.

    +
    #![allow(unused)]
    +fn main() {
    +// This is how you can successfully return a closure
    +fn returns_closure() -> Box<dyn Fn(i32) -> i32> {
    +    Box::new(|x| x + 1)
    +}
    +}
    +
  • +
  • +

    In case you want to understand better how you can use traits with dynamic dispatch, you can check here.

    +
  • +
+

Macros

+
    +
  • +

    Rust code that writes more rust code are called Macros. This kind of programming is called metaprogramming.

    +
  • +
  • +

    Here are the following things that you can only do with macros and not functions:

    +
      +
    • Macros can take variable number of parameters, unlike functions. You can call println!("hello") with one argument or println!("hello {}", name) with two arguments.
    • +
    • Macros are expanded before the compiler interprets the meaning of the code. For example, macros can implement a trait on a given type. Functions can't because it gets called at runtime and a trait needs to be implemented at compile time.
    • +
    +
  • +
  • +

    Drawbacks of Macros:

    +
      +
    • It's hard to read, write and maintain.
    • +
    • You can define functions anywhere, but you need to bring the macros in scope before you can call them.
    • +
    +
  • +
+

Declarative Macros

+
    +
  • They are the most widely used types of macros.
  • +
  • Also referred to as "macros by example", “macro_rules! macros”, or just plain “macros”.
  • +
  • They are similar to match statements, except they match on literal rust code, instead of some value.
  • +
  • Here is a simple implementation of the vec! macro:
  • +
+
#![allow(unused)]
+fn main() {
+#[macro_export]
+macro_rules! vec {
+    ( $( $x:expr ),* ) => {
+        {
+            let mut temp_vec = Vec::new();
+            $(
+                temp_vec.push($x);
+            )*
+            temp_vec
+        }
+    };
+}
+}
+
    +
  • +

    Explanation:

    +
      +
    • #[macro_export] - You can't export the macro without this line. For using this macro, you'll have to bring the crate into scope where this macro is defined.
    • +
    • macro_rules! name-of-macro - Then we declare the macro with the macro_rules! along with the name of the macro without the exclamation mark. In our case, vec.
    • +
    • ( $( $x:expr ),* ) => - This is the match arm of the macro. In our case, the macro has only one match arm, if such an expression is passed to the macro which doesn't fall into it, it'll fail. Some complex macros will have multiple match arms. +
        +
      • ( ) => - A parantheses surrounds the whole pattern. It indicates that this is a match arm.
      • +
      • $( ) - Anything inside this parantheses will capture values.
      • +
      • $x: expr - This matches any Rust expression and gives the expression the name $x.
      • +
      • , - It means that the literal , might appear after the code that matches the code in $().
      • +
      • * - It means that the pattern matches zero or more of whatever precedes the *.
      • +
      • $()* - For every time the expression in $() gets matched, the code inside $()* will get called.
      • +
      +
    • +
    +
  • +
  • +

    In Action:

    +
      +
    • +

      So, when we'll write vec![1, 2, 3] it will get compiled into, the following code:

      +
      #![allow(unused)]
      +fn main() {
      +{
      +  let mut temp_vec = Vec::new();
      +  temp_vec.push(1);
      +  temp_vec.push(2);
      +  temp_vec.push(3);
      +  temp_vec
      +}
      +}
      +
    • +
    +
  • +
+

Note: This vector that we created over here can take any number of arguments of any type. The implementation of vec! macro in standard library only accepts data of one type and it also has some extra code for preallocating memory for those types.

+

Procedural Macros

+
    +
  • +

    They act more like functions and they are a type of procedure.

    +
  • +
  • +

    They don't match against a pattern.

    +
  • +
  • +

    They simply accept some code, operates on it and produces some new code.

    +
  • +
  • +

    There are three kinds of procedural macros:

    +
      +
    • Custom Derive
    • +
    • Attribute Like
    • +
    • Function Like
    • +
    +
  • +
+
Custom Derive Macros
+
    +
  • +

    Using custom derive macros looks like this (it is used over structs or enums):

    +
    #![allow(unused)]
    +fn main() {
    +#[derive(HelloMacro)]
    +struct Pancakes;
    +}
    +
  • +
  • +

    Defining proceudral macros looks like this:

    +
    #![allow(unused)]
    +fn main() {
    +use proc_macro;
    +
    +#[some_attribute] // This attribute tells us which kind of procedural macro we are creating
    +pub fn some_name(input: TokenStream) -> TokenStream { // TokenStream is a type imported from the crate `proc_macro`. It represents a sequence of tokens.
    +}
    +}
    +
  • +
  • +

    An Example of a Custom Derive macro:

    +
      +
    • +

      What we want? We want to print the name of the struct which tries to call the function hello_macro().

      +
      use hello_macro::HelloMacro; // A trait which has an associated function hello_macro()
      +use hello_macro_derive::HelloMacro; // A macro that we can use
      +
      +#[derive(HelloMacro)]
      +struct Pancakes;
      +
      +fn main() {
      +    Pancakes::hello_macro(); // This will print "Hello, Macro! My name is Pancakes!"
      +}
      +
    • +
    • +

      Part 1: Defining Traits

      +
        +
      • +

        First of all define the trait in different crate, created using cargo new hello_macro --lib:

        +
        #![allow(unused)]
        +fn main() {
        +// File: src/lib.rs
        +pub trait HelloMacro {
        +    fn hello_macro();
        +}
        +}
        +
      • +
      • +

        Then implement the trait for every struct (without using macro, this is what it looks like):

        +
        // File: src/main.rs
        +use hello_macro::HelloMacro;
        +
        +struct Pancakes;
        +
        +impl HelloMacro for Pancakes {
        +    fn hello_macro() {
        +        println!("Hello, Macro! My name is Pancakes!"); // Programmer will have to implement this fn for each struct.
        +    }
        +}
        +
        +fn main() {
        +    Pancakes::hello_macro();
        +}
        +
      • +
      • +

        Additionally, we can’t yet provide the hello_macro function with default implementation that will print the name of the type the trait is implemented on: Rust doesn’t have reflection capabilities, so it can’t look up the type’s name at runtime.

        +
      • +
      +
    • +
    • +

      Part 2: Implementing Procedural Macros

      +
        +
      • +

        At the time of this writing, procedural macros need to be in their own crate. Eventually, this restriction might be lifted. So, first create a new crate using:

        +
        cargo new hello_macro_derive --lib
        +
        +
      • +
      • +

        This trait will work in parallel with the trait defined above. Both the traits are tightly related. Hence we'll have to keep both the crates (hello_macro and hello_macro_derive) in one directory. In case someone wants to use the macro, they'll have to pull both the crates as dependencies.

        +
      • +
      • +

        So inside the cargo.toml file of the crate hello_macro_derive, add the following lines:

        +
        [lib]
        +proc-macro = true
        +
        +[dependencies]
        +syn = "1.0"
        +quote = "1.0"
        +
        +
      • +
      • +

        Now, we can define the macro inside the src/lib.rs file of the crate hello_macro_derive. The code for most of the procedural macros will be same as the code block below:

        +
        #![allow(unused)]
        +fn main() {
        +// Filename: src/lib.rs
        +use proc_macro::TokenStream; // this crate, proc_macro comes with rust, it allows to read and manipulate rust code from our code
        +use quote::quote; // Transforms DeriveInput -> Rust Code
        +use syn; // Transforms Rust Code -> DeriveInput
        +
        +#[proc_macro_derive(HelloMacro)] // This line makes sure that whenever a user specifies #[derive(HelloMacro)] on a type, it calls the below fn
        +pub fn hello_macro_derive(input: TokenStream) -> TokenStream {
        +    // Construct a representation of Rust code as a syntax tree
        +    // that we can manipulate
        +    let ast = syn::parse(input).unwrap();
        +
        +    // Build the trait implementation
        +    impl_hello_macro(&ast)
        +}
        +}
        +
      • +
      • +

        Once the line let ast = syn::parse(input).unwrap(); is executed (let's say for the struct Pancakes {};), it creates a DeriveInput struct, which looks like this:

        +
        #![allow(unused)]
        +fn main() {
        +DeriveInput {
        +    // --snip--
        +
        +    ident: Ident {
        +        ident: "Pancakes",
        +        span: #0 bytes(95..103)
        +    },
        +    data: Struct(
        +        DataStruct {
        +            struct_token: Struct,
        +            fields: Unit,
        +            semi_token: Some(
        +                Semi
        +            )
        +        }
        +    )
        +}
        +}
        +
      • +
      +
    • +
    • +

      Now, we can convert the DeriveInput into TokenStream using the function impl_hello_macro(&ast):

      +
      #![allow(unused)]
      +fn main() {
      +fn impl_hello_macro(ast: &syn::DeriveInput) -> TokenStream {
      +    let name = &ast.ident; // type is not &str but &syn::Ident
      +    let gen = quote! { // it turns Rust syntax tree data structures into tokens of source code
      +        impl HelloMacro for #name {
      +            fn hello_macro() {
      +                println!("Hello, Macro! My name is {}!", stringify!(#name)); // quote! is used here to replace #name with the value in the variable name
      +            }
      +        }
      +    };
      +
      +    gen.into() // quote! can't directly convert into TokenStream so we call into()
      +}
      +}
      +
    • +
    • +

      The stringify! macro used here is built into Rust. It takes a Rust expression, such as 1 + 2, and at compile time turns the expression into a string literal, such as "1 + 2". This is different than format! or println!, macros which evaluate the expression and then turn the result into a String.

      +
    • +
    • +

      Now, we can create a crate named pancakes and then use our macro inside of it.

      +
      cargo new pancakes
      +
      +
    • +
    • +

      The file structure should be like this:

      +
      .
      +├── hello_macro
      +│   ├── hello_macro_derive
      +│   │   └── ..
      +│   └── ..
      +└── pancakes
      +    └── ..
      +
      +
    • +
    • +

      Then migrate the code as explained in the starting of this example to src/main.rs, and also add these lines to the dependencies:

      +
      hello_macro = { path = "../hello_macro" }
      +hello_macro_derive = { path = "../hello_macro/hello_macro_derive" }
      +
      +
    • +
    +
  • +
+
Attribute Like Macros
+
    +
  • +

    In Custom Derive Macros, the derive keyword is used and it generates some new code for the struct or enum.

    +
  • +
  • +

    Instead of generating new code, Attribute like macros allow you to create new attributes.

    +
  • +
  • +

    Unlike Custom Derive Macros, Attribute like macros are not limited to just structs or enums and can be applied to other items, such as functions.

    +
  • +
  • +

    Here's an example of how it can be used on a function:

    +
    #![allow(unused)]
    +fn main() {
    +#[route(GET, "/")]
    +fn index() {
    +  ..
    +}
    +}
    +
  • +
  • +

    This #[route] attribute would be defined by the framework as a procedural macro. The signature of the macro definition function would look like this:

    +
    #![allow(unused)]
    +fn main() {
    +#[proc_macro_attribute]
    +pub fn route(attr: TokenStream, item: TokenStream) -> TokenStream {
    +  // attr: The GET, "/" will get stored in this argument
    +  // item: The code attached to above macro (fn index() {} in our case) will get stored in this argument
    +  ..
    +}
    +}
    +
  • +
  • +

    Other than that, attribute-like macros work the same way as custom derive macros: you create a crate with the proc-macro crate type and implement a function that generates the code you want!

    +
  • +
+
Function Like Macros
+
    +
  • +

    These macros look like function calls but with a !.

    +
  • +
  • +

    They're more flexible than functions as they can accept variable number of arguments.

    +
  • +
  • +

    In declarative macros (macro_rules ! macro) uses match-like syntax, the Function Like Macros take a TokenStream parameter, similar to the other two procedural macros.

    +
  • +
  • +

    Here's an example, here we want to parse SQL code:

    +
    #![allow(unused)]
    +fn main() {
    +let sql = sql!(SELECT * FROM posts WHERE id=1);
    +}
    +
  • +
  • +

    If we tried to build this macro with the macro_rules ! macro, then match-like pattern would've made it hard to implement. With using TokenStream it is a bit easier to implement:

    +
    #![allow(unused)]
    +fn main() {
    +#[proc_macro]
    +pub fn sql(input: TokenStream) -> TokenStream {
    +  ..
    +}
    +}
    +
  • +
  • +

    It's implementation is closer to that of custom derive macros.

    +
  • +
+

Miscellaneous

+

Raw Identifers

+
    +
  • +

    Identifiers are the names of the functions, variable, structs etc.

    +
  • +
  • +

    Keywords are the words reserved by Rust. For example, if, else, match.

    +
  • +
  • +

    You're not allowed to use keywords as identifiers, but there's a hack.

    +
  • +
  • +

    Raw identifiers are the syntax that lets you use keywords where they wouldn’t normally be allowed. You use a raw identifier by prefixing a keyword with r#.

    +
  • +
  • +

    Here's something that you're not allowed to do:

    +
  • +
+
#![allow(unused)]
+fn main() {
+// FAIL: match is a keyword, but is used as an identifier
+fn match(needle: &str, haystack: &str) -> bool {
+    haystack.contains(needle)
+}
+}
+
    +
  • If there's a need to use a keyword as identifier, you may use raw identifiers:
  • +
+
fn r#match(needle: &str, haystack: &str) -> bool {
+    haystack.contains(needle)
+}
+
+fn main() {
+    assert!(r#match("foo", "foobar"));
+}
+
    +
  • What's the use? +
      +
    • Let's say you're integrating some code written in other languages to your Rust project. Now, there are some functions written in other languages whose name are keywords in Rust. So, you may use raw identifiers to overcome Rust's restriction.
    • +
    • try isn’t a keyword in the 2015 edition but is in the 2018 edition. If you depend on a library that’s written using the 2015 edition and has a try function, you’ll need to use the raw identifier syntax, r#try in this case, to call that function from your 2018 edition code.
    • +
    +
  • +
+

Derivable Traits

+
Debug
+
    +
  • It can used to print elements by using :? within {} placeholders.
  • +
  • The Debug trait is required, for example, in use of the assert_eq! macro. This macro prints the values of instances given as arguments if the equality assertion fails so programmers can see why the two instances weren’t equal.
  • +
+
PartialEq
+
    +
  • By deriving this trait you can use == and != operators on structs an enums.
  • +
  • It implements the eq method.
  • +
+
Eq
+
    +
  • +

    It's purpose is to check that the annotated types are equal to itself.

    +
  • +
  • +

    It can only be implemented by the types that already implements PartialEq.

    +
  • +
  • +

    The mathematical difference between Eq and PartialEq is that Eq is reflexive, symmetric and transitive. However,PartialEq only guarantees symmetric and transitive.

    +
    reflexive: a == a;
    +symmetric: a == b implies b == a; and
    +transitive: a == b and b == c implies a == c.
    +
    +
  • +
  • +

    An example of a type that follows PartialEq and doesn't follows Eq is floating point number. The implementation of floating point numbers states that two instances of the not-a-number (NaN) value are not equal to each other.

    +
  • +
  • +

    An example of when Eq is required is for keys in a HashMap<K, V> so the HashMap<K, V> can tell whether two keys are the same.

    +
  • +
+
PartialOrd
+
    +
  • A type that implements PartialOrd can be used with the <, >, <=, and >= operators.
  • +
  • The PartialOrd trait allows you to compare instances of a type for sorting purposes.
  • +
  • It implements the partial_cmp method, which returns an Option<Ordering> that will be None when the values given don’t produce an ordering.
  • +
  • Since floating point numbers can't compare (or order) the not-a-number (NaN), it doesn't support this trait.
  • +
  • When derived on enums, variants declared earlier in the enum definition are considered less than the variants listed later.
  • +
  • When derived on structs, it compares two instances by comparing the value in each field in the order in which the fields appear in the struct definition.
  • +
+
Ord
+
    +
  • It implements the cmp method, which returns an Ordering rather than an Option<Ordering> because a valid ordering will always be possible.
  • +
  • You can only apply the Ord trait to types that also implement PartialOrd and Eq (and Eq requires PartialEq).
  • +
  • When derived on structs and enums, cmp behaves the same way as the derived implementation for partial_cmp does with PartialOrd.
  • +
  • An example of when Ord is required is when storing values in a BTreeSet<T>, a data structure that stores data based on the sort order of the values.
  • +
+
Clone
+
    +
  • It allows you to perform a deep copy (copying the data on heap) of a value.
  • +
  • When you derive clone on a type, then it is required that the type's fields must also derive the clone.
  • +
+
Copy
+
    +
  • It allows you to copy data on the stack.
  • +
  • Copying is a lot faster than cloning but it's undesirable for large items. For Example, String.
  • +
  • A type that implements copy must also implement clone. It is trivial because Clone performs the same task as Copy.
  • +
+
Hash
+
    +
  • It allows you to take an instance of a type of arbitrary size and map that instance to a value of fixed size using a hash function.
  • +
  • It is required in storing keys in a HashMap<K, V> to store data efficiently.
  • +
  • If a type implements this trait then it's required that all of it fields must also implement this trait.
  • +
+
Default
+
    +
  • It allows you to create a default value of a type.
  • +
  • The Default::default function is commonly used in combination with the struct update syntax.
  • +
  • You can customize a few fields of a struct and then set and use a default value for the rest of the fields by using ..Default::default().
  • +
  • You can use the method unwrap_or_default() on Option<T> instances.
  • +
  • For Example, If the Option<T> is None, the method unwrap_or_default will return the result of Default::default for the type T stored in the Option<T>.
  • +
+

Rust Tests

+

You'll learn about the different forms of tests written in Rust. You'll also learn how to do Test Driven Development.

+

Fun Fact: In Rust, each test is run in a new thread, and when the main thread sees that a test thread has died, the test is marked as failed.

+

Getting Started

+
    +
  • +

    You can create a boilerplate rust project that automatically has tests using the following commmand:

    +
    cargo new <project-name> --lib
    +
    +
  • +
  • +

    A test in Rust is a function that’s annotated with the test attribute.

    +
  • +
  • +

    The bodies of test functions typically perform these three actions:

    +
      +
    1. Set up any needed data or state.
    2. +
    3. Run the code you want to test.
    4. +
    5. Assert the results are what you expect.
    6. +
    +
  • +
  • +

    Two attributes to keep in mind:

    +
      +
    1. #[test] - To change a function into a test function, add #[test] on the line before fn.
    2. +
    3. #[should_panic] - To declare before each test function that if this function panics then it is working correctly.
    4. +
    +
  • +
  • +

    After adding the attribute #[test], the rust compiler is ready to run cargo test.

    +
  • +
  • +

    When you run the command, behind the scenes Rust builds a test runner binary that runs the functions annotated with the test attribute.

    +
  • +
  • +

    You can write the functions that are not tests inside the tests module, for example a helper function. So, the only way for the Rust to know whether a function is a test function is through the #[test] attribute.

    +
  • +
  • +

    The tests fail when something in the test function panics.

    +
  • +
  • +

    Here is the table for the logging statistics:

    +
    + + + + + +
    StatisticMeaning
    PassedPassing Tests
    FailedFailing Tests
    IgnoredTests that were ignored due to #[ignore] attribute.
    MeasuredThis is for benchmark tests that measure performance. (only in nightly Rust)
    Filtered OutWhile running specific tests, the left out tests are called filtered.
    +
  • +
  • +

    Here is the table for the macros you mauy use for assertion:

    +
    + + + + +
    Assertion MacroUse CaseArgument(s)
    assert!()If the condition is true then passes else panics.Condition
    panic!()Panics or fails the test with a message if given.Message
    assert_eq!()Passes if equal else panics. (==)(actual, expected)
    assert_ne!()Passes if not equal else panics. (!=)(actual, not_expected)
    +
  • +
  • +

    In rust the convention doesn't matter, we can either use actual as first argument or as second. It is the programmer's convention.

    +
  • +
  • +

    In case we are writing the tests in a module inside the same file then we'll need to use the super::*; inside the tests module to pull all the outside code of the current file.

    +
  • +
+
#![allow(unused)]
+fn main() {
+//Filename: src/lib.rs
+fn do_something() {
+  ...
+}
+
+
+#[cfg(test)]
+mod tests {
+    // The line below will pull all the code of outer module inside.
+    use super::*;
+
+    #[test]
+    fn test_do_something() {
+      ...
+    }
+}
+}
+
    +
  • +

    For structs and enums that you define, you’ll need to implement PartialEq to assert that values of those types are equal or not equal.

    +
    #![allow(unused)]
    +fn main() {
    +#[derive(PartialEq, Debug)]
    +struct Rectangle {
    +    width: u32,
    +    height: u32,
    +}
    +
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    // This test will only work if we'll add #[derive(PartialEq)] to the struct or enum.
    +    #[test]
    +    fn rectangle_is_of_same_size() {
    +        let rectangle1 = Rectangle {
    +            width: 8,
    +            height: 7,
    +        };
    +        let rectangle2 = Rectangle {
    +            width: 8,
    +            height: 7,
    +        };
    +
    +        assert_eq!(rectangle1, rectangle2);
    +    }
    +}
    +}
    +
  • +
  • +

    You’ll need to implement Debug to the struct or enum if you want to see the logs that say (left != right).

    +
    ---- tests::rectangle_is_of_same_size stdout ----
    +thread 'tests::rectangle_is_of_same_size' panicked at 'assertion failed: `(left == right)`
    +  left: `Rectangle { width: 8, height: 7 }`,
    + right: `Rectangle { width: 8, height: 8 }`', src/lib.rs:56:9
    +
    +
  • +
  • +

    The assert!() macro also allows the message to show in case the test fails.

    +
    #![allow(unused)]
    +fn main() {
    +assert!(
    +  result.contains("something"),
    +  "The result doesn't contain something. This was the actual result: {}",
    +  result
    +)
    +}
    +
  • +
  • +

    There is an attribute named #[should_panic], that you can write before any test function to declare that if this function panics then it is working correctly.

    +
    #![allow(unused)]
    +fn main() {
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    #[test]
    +    #[should_panic]
    +    fn greater_than_100() {
    +        Guess::new(200);
    +    }
    +}
    +}
    +
  • +
  • +

    This is the note that appears in case the function doesn't panics.

    +
    note: test did not panic as expected
    +
    +
  • +
  • +

    To make the ![should_panic] attribute more precise we can add the expected parameter and pass a string to it such that the string is a substring of the relevant panic message.

    +
    #![allow(unused)]
    +fn main() {
    +impl Guess {
    +    pub fn new(value: i32) -> Guess {
    +        if value < 1 {
    +            panic!(
    +                "Guess value must be greater than or equal to 1, got {}.",
    +                value
    +            );
    +        } else if value > 100 {
    +            panic!(
    +                "Guess value must be less than or equal to 100, got {}.",
    +                value
    +            );
    +        }
    +
    +        Guess { value }
    +    }
    +}
    +
    +#[cfg(test)]
    +mod tests {
    +    use super::*;
    +
    +    // The below test only passes if both the two conditions satisfies:
    +    // 1. Code should panic
    +    // 2. The string passed in expected parameter is a substring of the panic message.
    +    #[test]
    +    #[should_panic(expected = "Guess value must be less than or equal to 100")]
    +    fn greater_than_100() {
    +        Guess::new(200);
    +    }
    +}
    +}
    +
  • +
  • +

    There is also an alternative approach possible to use Ok() and Err() inside a test.

    +
    #![allow(unused)]
    +fn main() {
    +#[cfg(test)]
    +mod tests {
    +    #[test]
    +    fn it_works() -> Result<(), String> {
    +        if 2 + 2 == 4 {
    +            Ok(())
    +        } else {
    +            Err(String::from("two plus two does not equal four"))
    +        }
    +    }
    +}
    +}
    +
  • +
  • +

    Pros: The only upside of writing tests such that they return a Result<T, E> enables you to use the question mark (?) operator in the body of tests, which can be a convenient way to write tests that should fail if any operation within them returns an Err variant.

    +
  • +
  • +

    Cons: If we write tests in above manner than we cannot use #[should_panic] attribute because we can use Err().

    +
  • +
+

Controlling Tests

+
    +
  • +

    Command Line Options either go to:

    +
      +
    1. cargo test - Run this command for help, cargo test --help
    2. +
    3. The resulting test binary - Run this command for help, cargo test -- --help.
    4. +
    +
  • +
  • +

    In simple terms, if you want to pass something into tests binary you'll have to seperate them with --.

    +
  • +
+

Threading while running Tests

+
    +
  • +

    By default, Rust runs tests in different threads.

    +
  • +
  • +

    In case the test depends on each other. For example, tests perform read, write, and assert to a same file. If run concurrently, the file will get corrupt and the tests might fail.

    +
  • +
  • +

    To run tests on a single thread, one by one we can do it by:

    +
    cargo test -- --test-threads=1
    +
    +
  • +
  • +

    This command will prevent parallelism, though the tests will take longer to run but it'll save us from the above problem.

    +
  • +
+

Printing while running tests

+
    +
  • +

    By default, when we run cargo test, the compiler never prints the statements.

    +
  • +
  • +

    To display print statements we can run this command:

    +
    cargo test -- --show-output
    +
    +
  • +
+

Running Specific Tests

+
    +
  • +

    To run specific tests either 1 or more, we can do that by specifying the name of test.

    +
      +
    • +

      For One Test:

      +
      cargo test <name-of-test>
      +
      +
    • +
    • +

      For more than one test (e.g. add_two, add_three, then substring add):

      +
      cargo test <substring-of-tests-name>
      +
      +
    • +
    +
  • +
  • +

    When we run specific tests, the remaining tests will fall into the category of filtered out, you may see that in the logs.

    +
  • +
  • +

    Also note that the module in which a test appears becomes part of the test’s name, so we can run all the tests in a module by filtering on the module’s name.

    +
  • +
+

Ignoring Tests

+
    +
  • +

    Instead of filtering tests, you may like to ignore the tests by adding #[ignore] attribute above each test that you'd like to ignore.

    +
  • +
  • +

    Now, you may use the following commands to run the tests.

    +
      +
    • +

      To run the tests ignoring ones that use #[ignore] attribute:

      +
      cargo test
      +
      +
    • +
    • +

      To run only the ignored tests:

      +
      cargo test -- --ignored
      +
      +
    • +
    • +

      To run both ignored and not ignored tests:

      +
      cargo test -- --include-ignored
      +
      +
    • +
    +
  • +
+

Test Organization

+

Test Types

+
    +
  • The Rust community thinks about tests in terms of two main categories Unit Tests and Integration tests.
  • +
+
+ + + + + + + +
Unit TestsIntegration tests
Small and FocusedLarge and Broad
InternalExternal
Tests One ModuleTests Multiple Modules
Can Test Private InterfacesOnly Tests Public Interfaces
Testing Internally such that external code may not possibly doTesting like some external code would do
Lives inside src directory inside each moduleLives in tests directory right outside src directory
Module named tests inside each module with #[cfg(test)]Different files inside tests directory without #[cfg(test)]
+
+

Unit Tests

+
    +
  • +

    This annotation #[cfg(test)] tells Rust to only run this module on cargo test, not when you run cargo build.

    +
  • +
  • +

    Thus, the functions following this annotation are never part of compiled result, hereby saving some space.

    +
  • +
  • +

    Only used for unit tests, since integration tests are different directory they don't need to use it.

    +
  • +
  • +

    An example worth noting:

    +
    #![allow(unused)]
    +fn main() {
    +// Both code and unit test lives in the same file.
    +
    +pub fn public_fn() {
    +  ...
    +}
    +
    +fn private_fn() {
    +  ...
    +}
    +
    +// cfg stands for configuration
    +#[cfg(test)]
    +mod tests {
    +  // You'll use this line to pull code from outside this module but inside this file.
    +  use super::*;
    +
    +  // A helper function
    +  fn helper() {
    +    ...
    +  }
    +
    +  // Only this fn will be considered test, unlike above fn
    +  #[test]
    +  fn it_works() {
    +      // Can test both private and public functions.
    +      ...
    +  }
    +}
    +}
    +
  • +
+

Integration tests

+
    +
  • +

    For integration test, we create a new directory target beside the src directory.

    +
  • +
  • +

    Each file in the tests directory is compiled as its own separate crate.

    +
  • +
  • +

    Treating each integration test file as its own crate is useful to create separate scopes that are more like the way end users will be using your crate.

    +
  • +
  • +

    However, this means files in the tests directory don’t share the same behavior as files in src do.

    +
  • +
  • +

    The file structure of integration tests are:

    +
    #![allow(unused)]
    +fn main() {
    +rust_project
    +├── src
    +|  └── lib.rs
    +├── target
    +|  ├── ...
    +|  └── ...
    +├── tests
    +|  ├── common
    +|  |  └── mod.rs // contains helper functions for tests
    +|  └── integration_test.rs // contains integration tests
    +├── Cargo.lock
    +└── Cargo.toml
    +}
    +
  • +
  • +

    The helper functions lives inside file tests/common/mod.rs.

    +
  • +
  • +

    This is a naming convention that rust uses to prevent functions inside this file not to appear in output logs of tests.

    +
  • +
  • +

    Files in subdirectories of the tests directory don’t get compiled as separate crates or have sections in the test output.

    +
  • +
  • +

    It looks something like this:

    +
    #![allow(unused)]
    +fn main() {
    +pub fn setup() {
    +    // setup code specific to your library's tests would go here
    +}
    +}
    +
  • +
  • +

    The integration_test.rs looks similar to this:

    +
    #![allow(unused)]
    +fn main() {
    +// Each file in the tests directory is a separate crate, so we need to bring our library into each test crate’s scope
    +use adder;
    +
    +// Bring the common functions
    +mod common;
    +
    +// No need to add `#[cfg(test)]` attribute, since we are in the tests directory.
    +
    +#[test]
    +fn it_adds_two() {
    +    common::setup();
    +    assert_eq!(4, adder::add_two(2));
    +}
    +}
    +
  • +
  • +

    To run all the tests in a particular integration test file, use:

    +
    cargo test --test <integration-test-filename>
    +
    +
  • +
  • +

    We can't write integration tests for binary crates, the rust projects that only contains a src/main.rs file and doesn’t have a src/lib.rs file.

    +
  • +
  • +

    The reason is that we cannot bring functions defined in the src/main.rs file into scope of files in tests directory with a use statement.

    +
  • +
  • +

    Only library crates expose functions that other crates can use; binary crates are meant to be run on their own.

    +
  • +
  • +

    Though, if a project contains both src/lib.rs and sr/main.rs, we can write integration tests for the important functionality inside src/lib.rs using the use keyword.

    +
  • +
  • +

    If the important functionality works, the small amount of code in the src/main.rs file will work as well, and that small amount of code doesn’t need to be tested.

    +
  • +
+

Doc Tests

+
    +
  • +

    You can write doc tests above the item, using the Examples with the docs comment /// like this:

    +
    #![allow(unused)]
    +fn main() {
    +/// Adds one to the number given.
    +///
    +/// # Examples
    +///
    +/// ```
    +/// let arg = 5;
    +/// let answer = my_crate::add_one(arg);
    +///
    +/// assert_eq!(6, answer);
    +/// ```
    +pub fn add_one(x: i32) -> i32 {
    +    x + 1
    +}
    +}
    +
  • +
  • +

    Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work.

    +
       Doc-tests my_crate
    +
    +running 1 test
    +test src/lib.rs - add_one (line 5) ... ok
    +
    +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
    +
    +
  • +
+

Tests Output Log

+
    +
  • The output logs section has three parts: +
      +
    1. Unit Tests
    2. +
    3. Integration Tests
    4. +
    5. Doc Tests
    6. +
    +
  • +
+

Test Driven Development

+

A Step by Step guide

+

Step 1: Don't write any source code, write tests first. Elaboration: It's okay to frame out production data +structures and code patterns without tests; but they should contain no valid behavioral code. Use macros +like unimplemented!() or todo!() (the latter is prefered) to hold places for code that doesn't exist yet.

+

Step 2 (Red!): Run the test, and see the test getting failed, to prove that some changes in the code are required to pass +the test. Elaboration: Always watch a test fail before you make it pass. If you don't see tests fail, +it's easy to accidentally test code you're not writing and write code that has very little to do with the +tests you're writing.

+

Step 3 (Green!): Now, write code such that the failing test(s) passes. Elaboration: Don't write bad code just for +fun, but also don't worry too much about slavishly following best practices in everything in this step, +The important thing is to get the tests passing. If you have to commit atrocities to make the tests pass, +go ahead and commit them.

+

Step 3.5 (Refactor!): Once you see all the tests passing, refactor your atrocities. Do not add any new functionality +to the production code, but rearrange (possibly redesign) it to be more elegant and pretty. As long as +you don't add any new functionality, you don't have to worry about accidentally screwing something up: +if you break the existing one, a test will fail.

+

Step 4: Once the new code is refactored and beautiful, repeat the process from Step 1.

+

Maxim from Justin Searls: "Every line of production code must be +demanded into existence by a failing test."

+

Note: Any code that doesn't drive new code is an overhead and it causes the cost of refactoring. +Refer here for more explanation.

+

Postulated by Dan Wiebe

+

Useful Snippets

+

This section contains commonly used code snippets that you can use in your projects.

+

Useful operations

+
    +
  • +

    Taking Input and performing type conversions

    +
    // Always import when you want to take input from user
    +use std::io;
    +
    +fn main() {
    +  let mut input = String::new();
    +
    +  // read_line() returns io::Result, which is an enum
    +  // It acts as a match, either returns Ok() with value or prints error.
    +  io::stdin().read_line(&mut input)
    +             .expect("Failed to read line.");
    +
    +  // Declaring a variable with same name again is called shadowing, mostly used for type conversions.
    +  // Trims whitespaces at start and end, `/n` (newline) and `/r/n` (windows carriage return and a newline)
    +  // parse() (returns Result), parses the string to a number, into the defined type
    +  let input: u32 = match guess.trim()
    +                              .parse()
    +                              .expect("Invalid Input");
    +
    +  println!("Your input: {}", input);
    +}
    +
  • +
  • +

    Generating Random Numbers (need external crate rand)

    +
    // The Rng trait defines the functions that we'll use to generate random numbers
    +use rand::Rng;
    +
    +fn main() {
    +  // thread_rng() is a random number generator that is local to the current thread of execution and seeded by the operating system.
    +  // gen_range() is a function part of Rng and it generates a random number of range [inclusive, exclusive), 1..101 === 1..=100
    +  let random_number = rand::thread_rng().gen_range(1..101);
    +}
    +
  • +
  • +

    A hack to know type definitions, is to write a wrong definition, and read the error from logs, they'll tell you the correct type.

    +
    #![allow(unused)]
    +fn main() {
    +// FAIL: It doesn't have u32 as type, we wrote wrong type,
    +// to find the correct one by reading error logs.
    +let f: u32 = File::open("hello.txt");
    +}
    +
  • +
  • +

    To read the contents of a file into a string:

    +
    #![allow(unused)]
    +fn main() {
    +use std::fs;
    +use std::io;
    +
    +fn read_username_from_file() -> Result<String, io::Error> {
    +    fs::read_to_string("hello.txt")
    +}
    +}
    +
  • +
  • +

    To return the last character of first line in a text.

    +
    #![allow(unused)]
    +fn main() {
    +fn last_char_of_first_line(text: &str) -> Option<char> {
    +  text.lines() // Converts string slice into iterator of lines
    +      .next()? // Returns First element of iterator or None
    +      .chars() // Converts string slice into iteratot of characters
    +      .last() // Returns last element
    +}
    +}
    +
  • +
  • +

    Read command line arguments and store them into a vector.

    +
    use std::env;
    +
    +fn main() {
    +    let args: Vec<String> = env::args().collect();
    +    println!("{:?}", args);
    +}
    +
  • +
+

Useful Functions

+

unwrap()

+
    +
  • +

    If we call unwrap it will make sure that if the result was an error, it will terminate our program, if it is a success it will yield the contents of it’s results.

    +
  • +
  • +

    We use it while taking input.

    +
    #![allow(unused)]
    +fn main() {
    +io::stdin().read_line(&mut input).unwrap();
    +}
    +
  • +
+

trim()

+
    +
  • +

    This function removes all whitespaces from a string.

    +
    #![allow(unused)]
    +fn main() {
    +let trimmed_string = input_string.trim();
    +}
    +
  • +
+

parse()

+
    +
  • +

    This function will parse the variable to different data type.

    +
  • +
  • +

    We’ll only have to provide the data type to the variable and the parse() will call the required parsing function.

    +
  • +
  • +

    The parse() returns a Result instead of parsed variable since it has a chance of failure. For Example, if we try to convert a string into floats which contains alphabets.

    +
  • +
  • +

    So, we use unwrap() along with parse, telling the compiler to stop the execution in case of failure.

    +
    #![allow(unused)]
    +fn main() {
    +let weight: f32 = input.trim().parse().unwrap();
    +}
    +
  • +
+

or()

+
    +
  • This function is used to handle the result and error variables.
  • +
  • If the result is ok, then it will return the unwrapped result, if error happens, it will return the error passed in the or function.
  • +
  • There is a question mark in the end, which is a shorthand for match block, if we don’t use question mark, we’ll have to still use the match block with or function.
  • +
+
#![allow(unused)]
+fn main() {
+// Traditional Method
+match str::from_utf8(buf) {
+    Ok(request) => {},
+    Err(_) => return Err(ParseError::InvalidEncoding)
+}
+
+// Using or function
+str::from_utf8(buf).or(Err(ParseError::InvalidEncoding))?;
+}
+

Useful Macros

+

todo!()

+
    +
  • +

    Indicates unfinished code.

    +
  • +
  • +

    This can be useful if you are prototyping and are just looking to have your code typecheck.

    +
    #![allow(unused)]
    +fn main() {
    +fn untested_function() {
    +    // let's not worry about implementing untested_function() for now
    +    todo!();
    +}
    +}
    +
  • +
+

dbg!()

+
    +
  • +

    This is a debug macro, we can pass any variable inside it to see debug logs in console.

    +
    #![allow(unused)]
    +fn main() {
    +let my_variable = 12.0;
    +dbg!(my_variable)
    +}
    +
  • +
+

MASQ Rust Tools

+

This section contains the tools that are not the part of official Rust and are created by the dev team at MASQ for the development of the project.

+

Appendix

+

The following sections contain reference material you may find useful in your Rust journey.

+

Installation

+

For Linux and macOS:

+
    +
  • +

    Download the rustup and install it using:

    +
    curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
    +
    +
  • +
  • +

    You may need to install C compiler, because it'll give you a linker and also because some common Rust packages depend on C code:

    +
      +
    • +

      For macOS:

      +
      xcode-select --install
      +
      +
    • +
    • +

      For Linux:

      +

      Linux users should generally install GCC or Clang, according to their distribution’s documentation. For example, if you use Ubuntu, you can install the build-essential package.

      +
    • +
    +
  • +
+

For Windows:

+ +

Basic Rust Commands

+
    +
  • +

    To check version or to verify that Rust is installed properly:

    +
    rustc --version
    +
    +
  • +
  • +

    Update Rust:

    +
    rustup update
    +
    +
  • +
  • +

    Uninstall Rust and rustup:

    +
    rustup self uninstall
    +
    +
  • +
  • +

    Open Rust Docs locally on browser:

    +
    rustup doc
    +
    +
  • +
  • +

    List the rustup toolchain

    +
    rustup toolchain list
    +
    +
  • +
  • +

    Install rustup toolchain

    +
    rustup toolchain install nightly-x86_64-unknown-linux-gnu
    +
    +
  • +
  • +

    Use nightly on a specific project (after this all the rustc and cargo commands will use nightly):

    +
    cd ~/projects/needs-nightly
    +rustup override set nightly
    +
    +
  • +
+

Conventions in Rust

+
    +
  • +

    Rust code uses snake case as the conventional style for function and variable names, in which all letters are lowercase and underscores separate words.

    +
  • +
  • +

    Rust style is to indent with four spaces, not a tab.

    +
  • +
  • +

    Naming convention for constants is to use all uppercase with underscores between words.

    +
    #![allow(unused)]
    +fn main() {
    +const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;
    +}
    +
  • +
  • +

    The names of static variables are in SCREAMING_SNAKE_CASE by convention.

    +
  • +
  • +

    The names of a type in rust uses CamelCase. For example, consider T in Result<T>.

    +
  • +
  • +

    Documentation Comments use ///, and is converted to HTML, unlike simple comments //. So simply add the documentation above the items. Learn more.

    +
  • +
+

Documentation

+
    +
  • +

    Always remember that, programmers are interested in knowing how to use your crate as opposed to how your crate is implemented.

    +
  • +
  • +

    You'll be using /// for documentation. Notice that you'll need to add docs comment above your item, not inside the {}. Using this///, we're documenting the item that follows it.

    +
    #![allow(unused)]
    +fn main() {
    +/// Adds one to the number given.
    +///
    +/// # Examples
    +///
    +/// ```
    +/// let arg = 5;
    +/// let answer = my_crate::add_one(arg);
    +///
    +/// assert_eq!(6, answer);
    +/// ```
    +pub fn add_one(x: i32) -> i32 {
    +    x + 1
    +}
    +}
    +
  • +
  • +

    You can use cargo doc to generate the docs as HTML, and can open it through target/doc directory or by running the command cargo doc --open.

    +
  • +
  • +

    Just like Examples as shown in the above code, you can use other sections too. Here are other commonly used sections.

    +
  • +
  • +

    Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work.

    +
       Doc-tests my_crate
    +
    +running 1 test
    +test src/lib.rs - add_one (line 5) ... ok
    +
    +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
    +
    +
  • +
  • +

    To document a whole crate, //! is used in the crate root file (src/lib.rs). Using this //!, we’re documenting the item that contains this comment.

    +
    #![allow(unused)]
    +fn main() {
    +//! # My Crate
    +//!
    +//! `my_crate` is a collection of utilities to make performing certain
    +//! calculations more convenient.
    +}
    +
  • +
+

Cargo

+
    +
  • +

    It is the package manager for rust. It does the following things:

    +
      +
    • Manages Rust Projects
    • +
    • Download packages or dependencies
    • +
    • Build both your code and it's dependencies
    • +
    +
  • +
  • +

    Check Cargo Installation or Version:

    +
    cargo --version
    +
    +
  • +
  • +

    Create New Boilerplate Project:

    +
    cargo new {project-name}
    +
    +
  • +
  • +

    Create Boilerplate Binary Project (only main.rs):

    +
    cargo new {project-name} --bin
    +
    +
  • +
  • +

    Create Boilerplate Library Project (for writing tests, contains lib.rs):

    +
    cargo new {project-name} --lib
    +
    +
  • +
  • +

    Help for Cargo new:

    +
    cargo new --help
    +
    +
  • +
  • +

    Build a Project (Installing Dependencies and Compiling):

    +
    cargo build
    +
    +
  • +
  • +

    Run a Project (build + run):

    +
    cargo run
    +
    +
  • +
  • +

    Running through executable binary:

    +
    ./target/debug/hello_cargo # or .\target\debug\hello_cargo.exe on Windows
    +
    +
  • +
  • +

    Compile but don't generate executable (it's just faster than cargo build):

    +
    cargo check
    +
    +
  • +
  • +

    Build for releases (it's optimized and binaries lives in target/release):

    +
    cargo build --release
    +
    +
  • +
  • +

    To generate docs, you can access them through target/doc:

    +
    cargo doc
    +
    +
  • +
  • +

    To generate docs of all dependencies of your project and run them in browser:

    +
    cargo doc --open
    +
    +
  • +
  • +

    We can install cargo-expand to use cargo libraries system wide.

    +
    cargo install cargo-expand
    +
    +
  • +
  • +

    The cargo expand command

    +
    cargo expand
    +
    +
  • +
  • +

    To install a package from crates.io into your system, you may use this command (only binary crates can be installed and ensure that $HOME/.cargo/bin is in your $PATH):

    +
    cargo install <package-name>
    +
    +
  • +
  • +

    To list out custom cargo commands:

    +
    cargo --list
    +
    +
  • +
  • +

    To automatically format code:

    +
    cargo fmt
    +
    +
  • +
  • +

    To automatically fix warnings (fixable by compiler):

    +
    cargo fix
    +
    +
  • +
  • +

    To Lint your code:

    +
    cargo clippy
    +
    +
  • +
+

The opt-level

+
    +
  • +

    The opt-level setting controls the number of optimizations Rust will apply to your code, with a range of 0 to 3.

    +
    // Filename: Cargo.toml
    +[profile.dev]
    +opt-level = 0 // Less Optimization, less compiling time
    +
    +[profile.release]
    +opt-level = 3 // More Optimizations, more compiling time
    +
    +
  • +
  • +

    You can override any default setting by adding a different value for it in Cargo.toml. To override, you can add these two lines below the above lines.

    +
    // Filename: Cargo.toml
    +[profile.dev]
    +opt-level = 1
    +
    +
  • +
  • +

    To learn more about customizing profiles, you can read the docs here.

    +
  • +
+

For more information about Cargo, check out its documentation.

+

Editions in Rust

+
    +
  • +

    When you use, cargo new, Rust adds a bit of metadata to your cargo.toml about edition under [package].

    +
    edition = "2021"
    +
    +
  • +
  • +

    Here are the details about editions:

    +
    + + + +
    EditionDescription
    2015If no edition is specified, your project is using this edition.
    2018The Rust Book is written using this edition.
    2021This is the latest release at the moment.
    +
  • +
  • +

    Rust has a 6-week release cycle.

    +
  • +
  • +

    Rust releases small changes very often rather than big changes less often.

    +
  • +
  • +

    Every 2-3 years, Rust team releases a new edition.

    +
  • +
  • +

    Rust supports backward compatibility, it means even if you update your Rust software your old code will still compile.

    +
  • +
  • +

    Here are the following cases you may consider:

    +
    + + +
    EditionDependencyWill Compile?
    20152018:white_check_mark:
    20182015:white_check_mark:
    +
  • +
  • +

    For more details, the Edition Guide is a complete book about editions that enumerates the differences between editions and explains how to automatically upgrade your code to a new edition via cargo fix.

    +
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/searcher.js b/docs/searcher.js new file mode 100644 index 0000000..d2b0aee --- /dev/null +++ b/docs/searcher.js @@ -0,0 +1,483 @@ +"use strict"; +window.search = window.search || {}; +(function search(search) { + // Search functionality + // + // You can use !hasFocus() to prevent keyhandling in your key + // event handlers while the user is typing their search. + + if (!Mark || !elasticlunr) { + return; + } + + //IE 11 Compatibility from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + if (!String.prototype.startsWith) { + String.prototype.startsWith = function(search, pos) { + return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; + }; + } + + var search_wrap = document.getElementById('search-wrapper'), + searchbar = document.getElementById('searchbar'), + searchbar_outer = document.getElementById('searchbar-outer'), + searchresults = document.getElementById('searchresults'), + searchresults_outer = document.getElementById('searchresults-outer'), + searchresults_header = document.getElementById('searchresults-header'), + searchicon = document.getElementById('search-toggle'), + content = document.getElementById('content'), + + searchindex = null, + doc_urls = [], + results_options = { + teaser_word_count: 30, + limit_results: 30, + }, + search_options = { + bool: "AND", + expand: true, + fields: { + title: {boost: 1}, + body: {boost: 1}, + breadcrumbs: {boost: 0} + } + }, + mark_exclude = [], + marker = new Mark(content), + current_searchterm = "", + URL_SEARCH_PARAM = 'search', + URL_MARK_PARAM = 'highlight', + teaser_count = 0, + + SEARCH_HOTKEY_KEYCODE = 83, + ESCAPE_KEYCODE = 27, + DOWN_KEYCODE = 40, + UP_KEYCODE = 38, + SELECT_KEYCODE = 13; + + function hasFocus() { + return searchbar === document.activeElement; + } + + function removeChildren(elem) { + while (elem.firstChild) { + elem.removeChild(elem.firstChild); + } + } + + // Helper to parse a url into its building blocks. + function parseURL(url) { + var a = document.createElement('a'); + a.href = url; + return { + source: url, + protocol: a.protocol.replace(':',''), + host: a.hostname, + port: a.port, + params: (function(){ + var ret = {}; + var seg = a.search.replace(/^\?/,'').split('&'); + var len = seg.length, i = 0, s; + for (;i': '>', + '"': '"', + "'": ''' + }; + var repl = function(c) { return MAP[c]; }; + return function(s) { + return s.replace(/[&<>'"]/g, repl); + }; + })(); + + function formatSearchMetric(count, searchterm) { + if (count == 1) { + return count + " search result for '" + searchterm + "':"; + } else if (count == 0) { + return "No search results for '" + searchterm + "'."; + } else { + return count + " search results for '" + searchterm + "':"; + } + } + + function formatSearchResult(result, searchterms) { + var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms); + teaser_count++; + + // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor + var url = doc_urls[result.ref].split("#"); + if (url.length == 1) { // no anchor found + url.push(""); + } + + // encodeURIComponent escapes all chars that could allow an XSS except + // for '. Due to that we also manually replace ' with its url-encoded + // representation (%27). + var searchterms = encodeURIComponent(searchterms.join(" ")).replace(/\'/g, "%27"); + + return '' + result.doc.breadcrumbs + '' + + '' + + teaser + ''; + } + + function makeTeaser(body, searchterms) { + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in . + var stemmed_searchterms = searchterms.map(function(w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var searchterm_weight = 40; + var weighted = []; // contains elements of ["word", weight, index_in_document] + // split in sentences, then words + var sentences = body.toLowerCase().split('. '); + var index = 0; + var value = 0; + var searchterm_found = false; + for (var sentenceindex in sentences) { + var words = sentences[sentenceindex].split(' '); + value = 8; + for (var wordindex in words) { + var word = words[wordindex]; + if (word.length > 0) { + for (var searchtermindex in stemmed_searchterms) { + if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) { + value = searchterm_weight; + searchterm_found = true; + } + }; + weighted.push([word, value, index]); + value = 2; + } + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + }; + index += 1; // because we split at a two-char boundary '. ' + }; + + if (weighted.length == 0) { + return body; + } + + var window_weight = []; + var window_size = Math.min(weighted.length, results_options.teaser_word_count); + + var cur_sum = 0; + for (var wordindex = 0; wordindex < window_size; wordindex++) { + cur_sum += weighted[wordindex][1]; + }; + window_weight.push(cur_sum); + for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) { + cur_sum -= weighted[wordindex][1]; + cur_sum += weighted[wordindex + window_size][1]; + window_weight.push(cur_sum); + }; + + if (searchterm_found) { + var max_sum = 0; + var max_sum_window_index = 0; + // backwards + for (var i = window_weight.length - 1; i >= 0; i--) { + if (window_weight[i] > max_sum) { + max_sum = window_weight[i]; + max_sum_window_index = i; + } + }; + } else { + max_sum_window_index = 0; + } + + // add around searchterms + var teaser_split = []; + var index = weighted[max_sum_window_index][2]; + for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) { + var word = weighted[i]; + if (index < word[2]) { + // missing text from index to start of `word` + teaser_split.push(body.substring(index, word[2])); + index = word[2]; + } + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + index = word[2] + word[0].length; + teaser_split.push(body.substring(word[2], index)); + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + }; + + return teaser_split.join(''); + } + + function init(config) { + results_options = config.results_options; + search_options = config.search_options; + searchbar_outer = config.searchbar_outer; + doc_urls = config.doc_urls; + searchindex = elasticlunr.Index.load(config.index); + + // Set up events + searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false); + searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false); + document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false); + // If the user uses the browser buttons, do the same as if a reload happened + window.onpopstate = function(e) { doSearchOrMarkFromUrl(); }; + // Suppress "submit" events so the page doesn't reload when the user presses Enter + document.addEventListener('submit', function(e) { e.preventDefault(); }, false); + + // If reloaded, do the search or mark again, depending on the current url parameters + doSearchOrMarkFromUrl(); + } + + function unfocusSearchbar() { + // hacky, but just focusing a div only works once + var tmp = document.createElement('input'); + tmp.setAttribute('style', 'position: absolute; opacity: 0;'); + searchicon.appendChild(tmp); + tmp.focus(); + tmp.remove(); + } + + // On reload or browser history backwards/forwards events, parse the url and do search or mark + function doSearchOrMarkFromUrl() { + // Check current URL for search request + var url = parseURL(window.location.href); + if (url.params.hasOwnProperty(URL_SEARCH_PARAM) + && url.params[URL_SEARCH_PARAM] != "") { + showSearch(true); + searchbar.value = decodeURIComponent( + (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20')); + searchbarKeyUpHandler(); // -> doSearch() + } else { + showSearch(false); + } + + if (url.params.hasOwnProperty(URL_MARK_PARAM)) { + var words = decodeURIComponent(url.params[URL_MARK_PARAM]).split(' '); + marker.mark(words, { + exclude: mark_exclude + }); + + var markers = document.querySelectorAll("mark"); + function hide() { + for (var i = 0; i < markers.length; i++) { + markers[i].classList.add("fade-out"); + window.setTimeout(function(e) { marker.unmark(); }, 300); + } + } + for (var i = 0; i < markers.length; i++) { + markers[i].addEventListener('click', hide); + } + } + } + + // 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.keyCode === ESCAPE_KEYCODE) { + e.preventDefault(); + searchbar.classList.remove("active"); + setSearchUrlParameters("", + (searchbar.value.trim() !== "") ? "push" : "replace"); + if (hasFocus()) { + unfocusSearchbar(); + } + showSearch(false); + marker.unmark(); + } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) { + e.preventDefault(); + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) { + e.preventDefault(); + unfocusSearchbar(); + searchresults.firstElementChild.classList.add("focus"); + } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE + || e.keyCode === UP_KEYCODE + || e.keyCode === SELECT_KEYCODE)) { + // not `:focus` because browser does annoying scrolling + var focused = searchresults.querySelector("li.focus"); + if (!focused) return; + e.preventDefault(); + if (e.keyCode === DOWN_KEYCODE) { + var next = focused.nextElementSibling; + if (next) { + focused.classList.remove("focus"); + next.classList.add("focus"); + } + } else if (e.keyCode === UP_KEYCODE) { + focused.classList.remove("focus"); + var prev = focused.previousElementSibling; + if (prev) { + prev.classList.add("focus"); + } else { + searchbar.select(); + } + } else { // SELECT_KEYCODE + window.location.assign(focused.querySelector('a')); + } + } + } + + function showSearch(yes) { + if (yes) { + search_wrap.classList.remove('hidden'); + searchicon.setAttribute('aria-expanded', 'true'); + } else { + search_wrap.classList.add('hidden'); + searchicon.setAttribute('aria-expanded', 'false'); + var results = searchresults.children; + for (var i = 0; i < results.length; i++) { + results[i].classList.remove("focus"); + } + } + } + + function showResults(yes) { + if (yes) { + searchresults_outer.classList.remove('hidden'); + } else { + searchresults_outer.classList.add('hidden'); + } + } + + // Eventhandler for search icon + function searchIconClickHandler() { + if (search_wrap.classList.contains('hidden')) { + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else { + showSearch(false); + } + } + + // Eventhandler for keyevents while the searchbar is focused + function searchbarKeyUpHandler() { + var searchterm = searchbar.value.trim(); + if (searchterm != "") { + searchbar.classList.add("active"); + doSearch(searchterm); + } else { + searchbar.classList.remove("active"); + showResults(false); + removeChildren(searchresults); + } + + setSearchUrlParameters(searchterm, "push_if_new_search_else_replace"); + + // Remove marks + marker.unmark(); + } + + // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor . + // `action` can be one of "push", "replace", "push_if_new_search_else_replace" + // and replaces or pushes a new browser history item. + // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet. + function setSearchUrlParameters(searchterm, action) { + var url = parseURL(window.location.href); + var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM); + if (searchterm != "" || action == "push_if_new_search_else_replace") { + url.params[URL_SEARCH_PARAM] = searchterm; + delete url.params[URL_MARK_PARAM]; + url.hash = ""; + } else { + delete url.params[URL_MARK_PARAM]; + delete url.params[URL_SEARCH_PARAM]; + } + // A new search will also add a new history item, so the user can go back + // to the page prior to searching. A updated search term will only replace + // the url. + if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) { + history.pushState({}, document.title, renderURL(url)); + } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) { + history.replaceState({}, document.title, renderURL(url)); + } + } + + function doSearch(searchterm) { + + // Don't search the same twice + if (current_searchterm == searchterm) { return; } + else { current_searchterm = searchterm; } + + if (searchindex == null) { return; } + + // Do the actual search + var results = searchindex.search(searchterm, search_options); + var resultcount = Math.min(results.length, results_options.limit_results); + + // Display search metrics + searchresults_header.innerText = formatSearchMetric(resultcount, searchterm); + + // Clear and insert results + var searchterms = searchterm.split(' '); + removeChildren(searchresults); + for(var i = 0; i < resultcount ; i++){ + var resultElem = document.createElement('li'); + resultElem.innerHTML = formatSearchResult(results[i], searchterms); + searchresults.appendChild(resultElem); + } + + // Display results + showResults(true); + } + + fetch(path_to_root + 'searchindex.json') + .then(response => response.json()) + .then(json => init(json)) + .catch(error => { // Try to load searchindex.js if fetch failed + var script = document.createElement('script'); + script.src = path_to_root + 'searchindex.js'; + script.onload = () => init(window.search); + document.head.appendChild(script); + }); + + // Exported functions + search.hasFocus = hasFocus; +})(window.search); diff --git a/docs/searchindex.js b/docs/searchindex.js new file mode 100644 index 0000000..666452e --- /dev/null +++ b/docs/searchindex.js @@ -0,0 +1 @@ +Object.assign(window.search, {"doc_urls":["index.html#welcome","ch-01-introduction/main.html#introduction","ch-01-introduction/pg-01-benefits-of-using-rust.html#benefits-of-using-rust","ch-01-introduction/pg-02-the-hello-world-program.html#the-hello-world-program","ch-02-basics-of-rust/main.html#basics-of-rust","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#variables-and-mutability","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#variables","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#constants","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#shadowing","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#shadowing-vs-mutable-variables","ch-02-basics-of-rust/pg-02-data-types.html#data-types","ch-02-basics-of-rust/pg-02-data-types.html#scalar-data-types","ch-02-basics-of-rust/pg-02-data-types.html#compound-data-types","ch-02-basics-of-rust/pg-03-advanced-data-types.html#advanced-data-types","ch-02-basics-of-rust/pg-03-advanced-data-types.html#string-slicing","ch-02-basics-of-rust/pg-04-functions.html#functions","ch-02-basics-of-rust/pg-04-functions.html#statements-and-expressions","ch-02-basics-of-rust/pg-05-control-flow.html#control-flow","ch-02-basics-of-rust/pg-05-control-flow.html#if-expressions","ch-02-basics-of-rust/pg-06-loops.html#loops","ch-02-basics-of-rust/pg-07-ownership.html#ownership","ch-02-basics-of-rust/pg-07-ownership.html#the-stack-and-the-heap","ch-02-basics-of-rust/pg-07-ownership.html#ownership-rules","ch-02-basics-of-rust/pg-07-ownership.html#what-is-moved","ch-02-basics-of-rust/pg-07-ownership.html#clone","ch-02-basics-of-rust/pg-07-ownership.html#the-copy-and-drop-trait","ch-02-basics-of-rust/pg-07-ownership.html#ownership-and-functions","ch-02-basics-of-rust/pg-08-borrowing.html#borrowing","ch-02-basics-of-rust/pg-08-borrowing.html#references","ch-02-basics-of-rust/pg-08-borrowing.html#referencing-for-strings","ch-02-basics-of-rust/pg-08-borrowing.html#data-race","ch-02-basics-of-rust/pg-08-borrowing.html#dangling-references","ch-02-basics-of-rust/pg-08-borrowing.html#golden-rules-of-referencing","ch-02-basics-of-rust/pg-09-structs.html#structs","ch-02-basics-of-rust/pg-09-structs.html#associated-functions-and-methods","ch-02-basics-of-rust/pg-10-enums.html#enums","ch-02-basics-of-rust/pg-11-pattern-matching.html#pattern-matching","ch-02-basics-of-rust/pg-11-pattern-matching.html#the-match-conftrol-flow-operator","ch-03-common-collections/main.html#common-collections","ch-03-common-collections/pg-01-vector.html#vector","ch-03-common-collections/pg-02-hashmaps.html#hashmaps","ch-04-project-structuring-and-error-handling/main.html#project-structuring-and-error-handling","ch-04-project-structuring-and-error-handling/pg-01-project-structuring.html#project-structuring","ch-04-project-structuring-and-error-handling/pg-02-modularizing.html#modularizing","ch-04-project-structuring-and-error-handling/pg-02-modularizing.html#modularizing-in-different-files","ch-04-project-structuring-and-error-handling/pg-02-modularizing.html#refactoring-guides","ch-04-project-structuring-and-error-handling/pg-03-error-handling.html#error-handling","ch-05-medium-concepts/main.html#medium-concepts","ch-05-medium-concepts/pg-01-generics.html#generics","ch-05-medium-concepts/pg-02-traits.html#traits","ch-05-medium-concepts/pg-03-lifetimes.html#lifetimes","ch-05-medium-concepts/pg-03-lifetimes.html#generic-type-parameters-trait-bounds-and-lifetimes-together","ch-05-medium-concepts/pg-04-functional-language-features.html#functional-language-features","ch-05-medium-concepts/pg-05-smart-pointers.html#smart-pointers","ch-05-medium-concepts/pg-06-concurrency.html#concurrency","ch-05-medium-concepts/pg-07-object-oriented-programming.html#oop-object-oriented-programming","ch-06-advanced-concepts/main.html#advanced-concepts","ch-06-advanced-concepts/pg-01-advanced-pattern-matching.html#pattern-matching","ch-06-advanced-concepts/pg-02-unsafe-rust.html#unsafe-rust","ch-06-advanced-concepts/pg-03-advanced-traits.html#advanced-traits","ch-06-advanced-concepts/pg-04-advanced-types.html#advanced-types","ch-06-advanced-concepts/pg-05-advanced-functions-and-closures.html#advanced-functions-and-closures","ch-06-advanced-concepts/pg-06-macros.html#macros","ch-06-advanced-concepts/pg-07-miscellaneous.html#miscellaneous","ch-07-rust-tests/main.html#rust-tests","ch-07-rust-tests/pg-01-getting-started.html#getting-started","ch-07-rust-tests/pg-02-controlling-tests.html#controlling-tests","ch-07-rust-tests/pg-03-test-organization.html#test-organization","ch-07-rust-tests/pg-03-test-organization.html#test-types","ch-07-rust-tests/pg-03-test-organization.html#doc-tests","ch-07-rust-tests/pg-03-test-organization.html#tests-output-log","ch-07-rust-tests/pg-04-test-driven-development.html#test-driven-development","ch-07-rust-tests/pg-04-test-driven-development.html#a-step-by-step-guide","ch-08-useful-snippets/main.html#useful-snippets","ch-08-useful-snippets/pg-01-useful-operations.html#useful-operations","ch-08-useful-snippets/pg-02-useful-functions.html#useful-functions","ch-08-useful-snippets/pg-02-useful-functions.html#unwrap","ch-08-useful-snippets/pg-02-useful-functions.html#trim","ch-08-useful-snippets/pg-02-useful-functions.html#parse","ch-08-useful-snippets/pg-02-useful-functions.html#or","ch-08-useful-snippets/pg-03-useful-macros.html#useful-macros","ch-08-useful-snippets/pg-03-useful-macros.html#todo","ch-08-useful-snippets/pg-03-useful-macros.html#dbg","ch-09-masq-rust-tools/main.html#masq-rust-tools","ch-10-appendix/main.html#appendix","ch-10-appendix/pg-01-installation.html#installation","ch-10-appendix/pg-02-basic-rust-commands.html#basic-rust-commands","ch-10-appendix/pg-03-conventions-in-rust.html#conventions-in-rust","ch-10-appendix/pg-04-documentation.html#documentation","ch-10-appendix/pg-05-cargo.html#cargo","ch-10-appendix/pg-06-editions-in-rust.html#editions-in-rust"],"index":{"documentStore":{"docInfo":{"0":{"body":6,"breadcrumbs":2,"title":1},"1":{"body":9,"breadcrumbs":2,"title":1},"10":{"body":25,"breadcrumbs":6,"title":2},"11":{"body":152,"breadcrumbs":7,"title":3},"12":{"body":173,"breadcrumbs":7,"title":3},"13":{"body":137,"breadcrumbs":8,"title":3},"14":{"body":526,"breadcrumbs":7,"title":2},"15":{"body":122,"breadcrumbs":4,"title":1},"16":{"body":157,"breadcrumbs":5,"title":2},"17":{"body":0,"breadcrumbs":6,"title":2},"18":{"body":121,"breadcrumbs":5,"title":1},"19":{"body":146,"breadcrumbs":4,"title":1},"2":{"body":106,"breadcrumbs":7,"title":3},"20":{"body":50,"breadcrumbs":4,"title":1},"21":{"body":184,"breadcrumbs":5,"title":2},"22":{"body":20,"breadcrumbs":5,"title":2},"23":{"body":191,"breadcrumbs":4,"title":1},"24":{"body":41,"breadcrumbs":4,"title":1},"25":{"body":77,"breadcrumbs":6,"title":3},"26":{"body":240,"breadcrumbs":5,"title":2},"27":{"body":63,"breadcrumbs":4,"title":1},"28":{"body":120,"breadcrumbs":4,"title":1},"29":{"body":90,"breadcrumbs":5,"title":2},"3":{"body":82,"breadcrumbs":7,"title":3},"30":{"body":173,"breadcrumbs":5,"title":2},"31":{"body":82,"breadcrumbs":5,"title":2},"32":{"body":15,"breadcrumbs":6,"title":3},"33":{"body":34,"breadcrumbs":4,"title":1},"34":{"body":777,"breadcrumbs":6,"title":3},"35":{"body":586,"breadcrumbs":4,"title":1},"36":{"body":0,"breadcrumbs":6,"title":2},"37":{"body":456,"breadcrumbs":8,"title":4},"38":{"body":24,"breadcrumbs":4,"title":2},"39":{"body":247,"breadcrumbs":4,"title":1},"4":{"body":17,"breadcrumbs":4,"title":2},"40":{"body":234,"breadcrumbs":4,"title":1},"41":{"body":24,"breadcrumbs":8,"title":4},"42":{"body":750,"breadcrumbs":8,"title":2},"43":{"body":0,"breadcrumbs":6,"title":1},"44":{"body":347,"breadcrumbs":8,"title":3},"45":{"body":33,"breadcrumbs":7,"title":2},"46":{"body":847,"breadcrumbs":8,"title":2},"47":{"body":21,"breadcrumbs":4,"title":2},"48":{"body":255,"breadcrumbs":4,"title":1},"49":{"body":624,"breadcrumbs":4,"title":1},"5":{"body":0,"breadcrumbs":6,"title":2},"50":{"body":777,"breadcrumbs":4,"title":1},"51":{"body":61,"breadcrumbs":10,"title":7},"52":{"body":999,"breadcrumbs":8,"title":3},"53":{"body":1826,"breadcrumbs":6,"title":2},"54":{"body":1060,"breadcrumbs":4,"title":1},"55":{"body":730,"breadcrumbs":9,"title":4},"56":{"body":28,"breadcrumbs":4,"title":2},"57":{"body":874,"breadcrumbs":7,"title":2},"58":{"body":869,"breadcrumbs":6,"title":2},"59":{"body":699,"breadcrumbs":6,"title":2},"6":{"body":23,"breadcrumbs":5,"title":1},"60":{"body":523,"breadcrumbs":6,"title":2},"61":{"body":260,"breadcrumbs":8,"title":3},"62":{"body":859,"breadcrumbs":4,"title":1},"63":{"body":462,"breadcrumbs":4,"title":1},"64":{"body":29,"breadcrumbs":4,"title":2},"65":{"body":500,"breadcrumbs":6,"title":2},"66":{"body":199,"breadcrumbs":6,"title":2},"67":{"body":0,"breadcrumbs":6,"title":2},"68":{"body":377,"breadcrumbs":6,"title":2},"69":{"body":74,"breadcrumbs":6,"title":2},"7":{"body":61,"breadcrumbs":5,"title":1},"70":{"body":11,"breadcrumbs":7,"title":3},"71":{"body":0,"breadcrumbs":8,"title":3},"72":{"body":188,"breadcrumbs":8,"title":3},"73":{"body":8,"breadcrumbs":4,"title":2},"74":{"body":209,"breadcrumbs":6,"title":2},"75":{"body":0,"breadcrumbs":6,"title":2},"76":{"body":18,"breadcrumbs":5,"title":1},"77":{"body":6,"breadcrumbs":5,"title":1},"78":{"body":44,"breadcrumbs":5,"title":1},"79":{"body":44,"breadcrumbs":4,"title":0},"8":{"body":92,"breadcrumbs":5,"title":1},"80":{"body":0,"breadcrumbs":6,"title":2},"81":{"body":16,"breadcrumbs":5,"title":1},"82":{"body":12,"breadcrumbs":5,"title":1},"83":{"body":12,"breadcrumbs":6,"title":3},"84":{"body":9,"breadcrumbs":2,"title":1},"85":{"body":59,"breadcrumbs":3,"title":1},"86":{"body":58,"breadcrumbs":7,"title":3},"87":{"body":64,"breadcrumbs":5,"title":2},"88":{"body":141,"breadcrumbs":3,"title":1},"89":{"body":238,"breadcrumbs":3,"title":1},"9":{"body":36,"breadcrumbs":8,"title":4},"90":{"body":101,"breadcrumbs":5,"title":2}},"docs":{"0":{"body":"This book is written by the Rust Dev Team at MASQ.","breadcrumbs":"Welcome! » Welcome","id":"0","title":"Welcome"},"1":{"body":"This section will introduce you with the benefits of using rust and will tell you why you should learn this programming language.","breadcrumbs":"Introduction » Introduction","id":"1","title":"Introduction"},"10":{"body":"Every value in Rust is of a certain data type , that makes Rust a statically typed language . It means Rust needs to know the type of all variables at compile time. Rust data types has two subsets: Scalar Compound","breadcrumbs":"Basics of Rust » Data Types » Data Types","id":"10","title":"Data Types"},"11":{"body":"Booleans Represented by bool, has two values true and false. Characters Represented by char, it always has space of 4 bytes or 32 bits instead of 1 byte. Characters are UTF-8 encoded, thus supports 'z', 'ℤ', '😻'. Characters use single quotes and string uses double quotes. Integers u means unsigned (only positive), i means signed (both positive & negative) The size ranges from 8 bits to 128 bits. Range of Unsigned Integers is: $$ [0, 2^n - 1] $$ Range of Signed Integer is: $$ [- 2^{n-1}, 2^{n-1} - 1]$$ Examples, u8, i8, u128, i128 Rust also supports, usize and isize which means that it will take up space according to the architecture whether it is 32 bit or 64 bit. You may also represent integer literals in the below forms: Number literals Example Integer Decimal 98_222 98222 Hex 0xff 255 Octal 0o77 63 Binary 0b1111_0000 240 Byte (u8 only) b'A' 65 Integer types default to i32. To read how Interger Overflow works in Rust, please follow this link . Division of integers gives floored value, 3 / 2 == 1. Floats It has f32 and f64, two floating data types for size 32 and 64. Floating types default to f64. Division of floats give fractional result, 3.0 / 2. 0 = 1.5.","breadcrumbs":"Basics of Rust » Data Types » Scalar Data Types","id":"11","title":"Scalar Data Types"},"12":{"body":"There are two compound data types in Rust: Tuples Arrays Tuples They can store number of values with different data types. They can't grow or shrink once declared. Tuples can be declared as follows: let tup_with_types: (i32, f64, u8) = (500, 6.4, 1);\nlet tup = (500, 6.4, 1); // Destructuring Tuples\nlet (x, y, z) = tup; // Destructuing Tuples using .\nlet x: (i32, f64, u8) = (500, 6.4, 1);\nlet five_hundred = x.0;\nlet six_point_four = x.1;\nlet one = x.2; // Unit type tuple with unit value\nlet unit_tup = (); Array They can store number of values with same data type. They can't grow or shrink once declared as their memory is allocated on stack. If you want a similar data structure that can grow or shrink then use Vectors. If you access an index of array that is greater than it's length, it'll result in 'index out of bounds'. In other low level languages, this check is not done and they return an invalid memory. Arrays can be declared as follows: // Simple array declaration\nlet a = [1, 2, 3, 4, 5]; // Declaring array with type and size\nlet a: [i32; 5] = [1, 2, 3, 4, 5]; // Declaring same value 3 for 5 elements\nlet a = [3; 5]; // Accessing Values of array\nlet a = [1, 2, 3, 4, 5];\nlet first = a[0];\nlet second = a[1]; Slicing an array It is possible to slice an array in Rust. let a = [1, 2, 3, 4, 5]; let slice = &a[1..3]; // It is of type &[i32] Ranges You can create a range with .. operator. The following are equal: 1..5 ~ 1..=4 0..4 ~ ..4 1..len ~ 1.. 0..len ~ ..","breadcrumbs":"Basics of Rust » Data Types » Compound Data Types","id":"12","title":"Compound Data Types"},"13":{"body":"Strings They are represented in three types: String - A smart pointer. &String - Reference to a String. &str - String Slice Defining a String let string = String::new(\"127.0.0.1:8080\"); // It can grow and shrink\nlet string_literal = \"1234\"; // It's memory is fixed at runtime Slicing a string let string = String::from(\"127.0.0.1:8080\");\nlet string_slice = &string[10..14]; // We can also use &string[10..] // We can also use\nlet string_slice = &string[10..]; // Give me everything after 10th byte not character\nlet string_slice = &string[..12]; // Give me everything upto 12th byte not character Rust uses UTF-8 encoding. So, prefer not to not pass integer values for slicing, as the slice function slices on the basis of bytes instead of characters. let string = String::from(\"😀😃😄😁\");\nlet string_slice = &string[..4]; For this slice instead of returning 4 emojis, the rust will return 1 emoji because it takes 4 bytes to store an emoji. string_slice = \"😀\" Strings in rust can dynamically grow or shrink. We can borrow an entire string by using this syntax let string = String::from(\"127.0.0.1:8080\");\nlet string_borrow: &str = &string; This is how let s1 = String::from(\"hello\"); is stored in Rust: Left - Parts of String that are stored on the stack: Pointer: Points to the memory that holds the contents of the string. Length: How much memory, in bytes, the contents of the String is currently using. Capacity: The total amount of memory, in bytes, that the String has received from the allocator. Right - The memory on the heap that holds the contents. Image","breadcrumbs":"Basics of Rust » Advanced Data Types » Advanced Data Types","id":"13","title":"Advanced Data Types"},"14":{"body":"Slices let you reference a contiguous sequence of elements in a collection rather than the whole collection. A slice is a kind of reference, so it does not have ownership. Slices are represented by &str and are immutable . let s = String::from(\"hello world\"); let hello = &s[0..5]; // or you can use &s[..5] let world = &s[6..11]; This will throw compile-time error: // FAIL: You cannot clear the memory, to which some reference already exists\nfn main() { let mut s = String::from(\"hello world\"); let word = first_word(&s); // Returns a &str, which is a referenc to s s.clear(); // error! println!(\"the first word is: {}\", word);\n} Thus, String Slices helps us write secure code by protecting the references to a string. Also string literals let string_literal = \"hello\";, are string slices &str, and are immutable. Note: It is expected that the String only contains ASCII characters, because in case of UTF-8, if we try to slice between a multibyte character, it'll cause an error. The correct way to use referencing is discussed int the section, \"Which is better &String or &str?\" . Difference between String, String Literal, String Slice Property String String Literal String Slice Reference to String Definition let string = String::from(\"some_string\"); let string_literal = \"1234\"; let string_slice = &string[1..3] let string_reference = &string Representation String &str &str &String Mutable :white_check_mark: :x: :x: :x: Memory Management Heap (but deallocates when out of scope) Heap (Points to binary) Heap (Points to Binary) Heap Use Cases Taking Input, or any String Manipulation Defining Constant Strings Slicing and Borrowing Borrowing Strings and UTF-8 encoding Characters are represented by single inverted commas, and has 4 bytes of storage. For Example, '😀'. String is not a collection of characters but collections of bytes. Rust has only one string type in the core language, which is the string slice str that is usually seen in its borrowed form &str. String Slices are the references to some UTF-8 data stored somewhere else. String Literals are string slices when stored in program's binary. The String type, which is provided by Rust’s standard library rather than coded into the core language, is a growable, mutable, owned, UTF-8 encoded string type. When Rustaceans, call \"string in rust\", they collectively mean: String &str Both String and &str are UTF-8 encoded. Creating the String type: let mut s = String::new(); To create a String from some starting string: let s = \"initial contents\".to_string(); // This fn can be used on any type that implements Display trait\nlet s = String::from(\"initial contents\"); It is possible to store any properly encoded data: let hello = String::from(\"नमस्ते\");\nlet hello = String::from(\"안녕하세요\");\nlet hello = String::from(\"Здравствуйте\"); Updating the String: let mut s = String::from(\"foo\");\ns.push_str(\"bar\"); // It takes string slice, hence doesn't takes ownership\ns.push('!'); // This fn only takes character as argument.\n// s will become \"foobar!\" Concatenating two strings with the + operator: // '+' is a replacement of - fn add(self, s: &str) -> String {\nlet s1 = String::from(\"Hello, \");\nlet s2 = String::from(\"world!\");\nlet s3 = s1 + &s2; // note s1 has been moved here and can no longer be used Note: In Rust, if we provide &str, as a function's argument, it can accept both &String and &str. Rust uses a deref coercion, which here turns &s2 into &s2[..]. Combining multiple strings or formatting them: let s1 = String::from(\"tic\");\nlet s2 = String::from(\"tac\");\nlet s3 = String::from(\"toe\"); // Method 1\nlet s = s1 + \"-\" + &s2 + \"-\" + &s3; // Method 2\nlet s = format!(\"{}-{}-{}\", s1, s2, s3); // It works like println!() but returns String Indexing into Strings is not possible and results in error: // FAIL: Strings can be indexed in Rust\nlet s1 = String::from(\"hello\");\nlet h = s1[0]; // Won't work How values are stored in string. String is just a wrapper over Vec, this means 1 byte of space for each element in the vector. Hence, if we want to save special charcters, then it may take more than one element to store the values. Let's consider following examples: let hello = String::from(\"Hola\"); // Each character will take 1 byte of storage\nlet hello = String::from(\"Здравствуйте\"); // Each character will take 2 bytes of storage Let's understand using the Hindi word “नमस्ते”: As Bytes (the way String does using u8 which ranges from 0 to 255): [224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, 164, 164,\n224, 165, 135] As Unicode Scalar Values (the way char does): ['न', 'म', 'स', '्', 'त', 'े'] As Grapheme Clusters (the way a Hindi speaker might do): [\"न\", \"म\", \"स्\", \"ते\"] Slicing Strings: You need to provide the range of bytes to be sliced out of String. Again, not characters but bytes. let hello = \"Здравствуйте\"; // Each character here is composed of 2 bytes let s = &hello[0..4]; // It'll save first 4 bytes, `Зд` let will_panic = &hello[0..1]; // It'll panic, as if invalid index was accessed in the vector. Iterating over strings: You can iterate over the unicode scalar values or what chars might store: for c in \"नमस्ते\".chars() { println!(\"{}\", c);\n} // This is what it'll print\nन\nम\nस\n्\nत\nे You can iterate over bytes also, the way String is stored in Vec format: for b in \"नमस्ते\".bytes() { println!(\"{}\", b);\n} // The output will be like\n224\n164\n// --snip--\n165\n135","breadcrumbs":"Basics of Rust » Advanced Data Types » String Slicing","id":"14","title":"String Slicing"},"15":{"body":"We define a function in Rust by entering fn followed by a function name and a set of parentheses. The curly brackets tell the compiler where the function body begins and ends. The entry function to a rust's code is the main function. Rust doesn’t care where you define your functions, only that they’re defined somewhere. Here's an example of functions in rust: fn main() { println!(\"Hello, world!\"); another_function();\n} fn another_function() { println!(\"Another function.\");\n} // Function with Parameter (or argument)\nfn function_with_parameters(x: i32) { println!(\"The value of x is: {}\", x);\n} // Function with two parameters\nfn print_labeled_measurement(value: i32, unit_label: char) { println!(\"The measurement is: {}{}\", value, unit_label);\n} // Functions with a return value\n// In rust, functions return last expression implicitly\nfn five() -> i32 { 5 // An Expression\n} // Functions returning through classical return keyword\n// We use return keyword when we need to return early from a function\nfn five() -> i32 { return 5; // A statement\n} // This will also work\nfn plus_one(x: i32) -> i32 { x + 1\n} // Fail: Statement means, this function returns anything, expressed by (), a unit type\nfn plus_one(x: i32) -> i32 { x + 1;\n}","breadcrumbs":"Basics of Rust » Functions » Functions","id":"15","title":"Functions"},"16":{"body":"In Rust, function bodies are made up of a series of statements optionally ending in an expression. Statements They are instructions that perform some action and do not return a value. They are just a standalone unit of execution. Creating a variable and assigning itself a value is a statement. let y = 6; Function definitions are also statements; the entire function is a statement in itself. fn main() { let y = 6;\n} Statements do not return values. Therefore, you can’t assign a let statement to another variable: fn main() { let x = (let y = 6); // FAIL : Statements doesn't return anything\n} In some languages, you can write x = y = 6 and have both x and y have the value 6; that is not the case in Rust. Expressions They do not end with a semicolon, unlike statements. They evaluate into a resulting value. They are a combination of values and functions that are combined by the compiler to create a new value. The following things are considered as an expression: A simple math operation Calling a function Calling a macro A new scope block created with curly brackets A simple math operation is an expression: 5 + 6 In the below statement the standalone 6 is an expression. let x = 6; // A statement containing an expression A scope block is an expression: { let x = 3; x + 1\n} The above scope block will return 4 and can now become a part of a statement. fn main() { // The below statement contains the computed value of an expression let y = { let x = 3; // Statements end with a semicolon x + 1 // Expressions do not end with semicolon }; println!(\"The value of y is: {}\", y);\n}","breadcrumbs":"Basics of Rust » Functions » Statements and Expressions","id":"16","title":"Statements and Expressions"},"17":{"body":"","breadcrumbs":"Basics of Rust » Control Flow » Control Flow","id":"17","title":"Control Flow"},"18":{"body":"The code inside an if block is called an arm, similar to match. fn main() { let number = 3; if number < 5 { println!(\"condition was true\"); // An arm } else { println!(\"condition was false\"); }\n} You can only pass a bool to the if expression // FAIL: number is of type integer and not bool\nfn main() { let number = 3; if number { println!(\"number was three\"); }\n} // This works since it's a condition\nfn main() { let number = 3; if number != 0 { println!(\"number was something other than zero\"); }\n} Rust only executes the block for the first true condition, and once it finds one, it doesn't even check the rest: fn main() { let number = 6; if number % 4 == 0 { println!(\"number is divisible by 4\"); } else if number % 3 == 0 { println!(\"number is divisible by 3\"); // Only this statement will run } else if number % 2 == 0 { println!(\"number is divisible by 2\"); } else { println!(\"number is not divisible by 4, 3, or 2\"); }\n} Conditionals in Single Line: // This Works\nfn main() { let condition = true; let number = if condition { 5 } else { 6 }; println!(\"The value of number is: {}\", number);\n} // FAIL: Different data types integer and string\nfn main() { let condition = true; let number = if condition { 5 } else { \"six\" }; println!(\"The value of number is: {}\", number);\n}","breadcrumbs":"Basics of Rust » Control Flow » if expressions","id":"18","title":"if expressions"},"19":{"body":"Rust has three kinds of loops: loop - Infinite Loop, uses break and continue while - Breaks when the condition doesn't meet. for - Faster and easier to use for iterators and classical for loops. Simple Infinite Loop: loop { // Do something iteratively\n} Named Loop 'outer:loop { loop { break 'outer; }\n} Named Loop with different breaks: 'oulter_loop: loop { loop { if condition { break 'oulter_loop; // Breaks Outer Loop } if some_other_condition { break; // Breaks Inner Loop } }\n} Returning values in loops: fn main() { let mut counter = 0; let result = loop { counter += 1; if counter == 10 { break counter * 2; } }; println!(\"The result is {}\", result);\n} The while loop: fn main() { let mut number = 3; // Prevents the use of break, by including the condition with while while number != 0 { println!(\"{}!\", number); number -= 1; } println!(\"LIFTOFF!!!\");\n} The for loop: // Last item in exclusive, or 0..10 === 0..=9\nfor x in 0..10 { println!(\"{}\", x); // x: i32\n} The for loop for iterator: fn main() { let a = [10, 20, 30, 40, 50]; for element in a { println!(\"the value is: {}\", element); }\n} A for loop for iterating characters in String for c in name.chars() { // c variable stores one charater per iteration\n} Enumeration for (i, v) in request.chars().enumerate() { // i is index, v is variable\n} The for loop in reverse: fn main() { for number in (1..4).rev() { println!(\"{}!\", number); } println!(\"LIFTOFF!!!\");\n} // Output:\n// 3!\n// 2!\n// 1!\n// LIFTOFF!!!","breadcrumbs":"Basics of Rust » Loops » Loops","id":"19","title":"Loops"},"2":{"body":"Memory Safe Chromium Project has 70% vulnerabilities related to Memory. C/C++ doesn’t provide Memory Safety Python, JS provides Memory Safety but uses Garbage Collector Rust provides Memory Safety without using Garbage Collector. Rust achieves this functionality by making the language typed, thus the code won’t compile if any vulnerability will exist. No Null Types or No Null Pointers Null Pointers in C are used as *ptr = NULL. Rust uses it’s rich type system to represent the absence of a value. No Exceptions Rust Provides No Direct Referencing, No Pointers and No Pointer Exceptions. Modern Package Manager It uses Package Manager named Cargo . No Data Race A data race occurs when: two or more threads in a single process access the same memory location concurrently, and at least one of the accesses is for writing, and the threads are not using any exclusive locks to control their accesses to that memory Game Changer for writing Asynchronous Code","breadcrumbs":"Introduction » Benefits of using rust » Benefits of using rust","id":"2","title":"Benefits of using rust"},"20":{"body":"Ownership is a set of rules that governs how a Rust program manages memory. Some languages have garbage collection that constantly looks for no-longer used memory as the program runs; in other languages, the programmer must explicitly allocate and free the memory. Rust uses a third approach: memory is managed through a system of ownership with a set of rules that the compiler checks. If any of the rules are violated, the program won’t compile. None of the features of ownership will slow down your program while it’s running.","breadcrumbs":"Basics of Rust » Ownership » Ownership","id":"20","title":"Ownership"},"21":{"body":"Both the stack and the heap are parts of memory available to your code to use at runtime Differences between Stack and Heap Stack Heap Value is stored in order Last In, First Out . Value is stored at an empty spot and a pointer is returned. More Organized Less Organized Operations are push and pop . Process of storing data on heap is called allocating. All stored data is of fixed size. Stored data can be of dynamic size. New items are stored on top of stack, hence pushing is faster. New items are stored after searching for right place to store, hence allocating is slower. Pushing values onto the stack is not considered allocating. Because the pointer to the heap is a known, fixed size, you can store the pointer on the stack, but when you want the actual data, you must follow the pointer. Think of heap as being seated at a restaurant. When you enter, you state the number of people in your group, and the staff finds an empty table that fits everyone and leads you there. If someone in your group comes late, they can ask where you’ve been seated to find you. Consider a server at a restaurant taking orders from many tables. It’s most efficient to get all the orders at one table before moving on to the next table. Taking an order from table A, then an order from table B, then one from A again, and then one from B again would be a much slower process. By the same token, a processor can do its job better if it works on data that’s close to other data (as it is on the stack) rather than farther away (as it can be on the heap). Allocating a large amount of space on the heap can also take time. When your code calls a function, the values passed into the function (including, potentially, pointers to data on the heap) and the function’s local variables get pushed onto the stack. When the function is over, those values get popped off the stack.","breadcrumbs":"Basics of Rust » Ownership » The stack and the heap","id":"21","title":"The stack and the heap"},"22":{"body":"These are three golden rules of ownership: Each value in Rust has a variable that’s called its owner . There can only be one owner at a time. When the owner goes out of scope, the value will be dropped.","breadcrumbs":"Basics of Rust » Ownership » Ownership Rules","id":"22","title":"Ownership Rules"},"23":{"body":"This is not a move, it's a copy: // y = x is a copy: Integers are simple values with a known, fixed size, pushed to stack, hence copied\nlet x = 5;\nlet y = x; This is a move: // s1 = s2 is a move: Strings are stored on heap, hence only the data of string stored on stack is copied, hence moved\nlet s1 = String::from(\"hello\");\nlet s2 = s1; Why String is only moved and not copied? When we assign s1 to s2, the String data is copied, meaning we copy the pointer, the length, and the capacity that are on the stack. We do not copy the data on the heap that the pointer refers to. Hence it is moved not copied. Move of String Why Rust preferes moving instead of copying the heap data? If Rust preformed copy instead of move, the operation s2 = s1 could be very expensive in terms of runtime performance if the data on the heap were large. This is what it would look like if Rust would have copied instead of moved. If String was Copied How does Rust clean memory after we perform s2 = s1 and both s1 and s2 go out of scope? When a variable saved on heap goes out of scope, Rust calls a drop function to clean it from the memory. But we performed let s2 = s1;, so Rust will try to clean both s1 and s2, cleaning the same memory. This problem is called double free error. To solve this problem, when we perform let s2 = s1;, Rust actually moves the value to s2 by invalidating s1. Now, Rust has to only clean the s2 variable. Hence, the problem of double free is solved. So, what may look like a shallow copy (refer shallow and deep copy in other languages), it is actually a move operation. Invalidation of s1 In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data. Therefore, any automatic copying can be assumed to be inexpensive in terms of runtime performance.","breadcrumbs":"Basics of Rust » Ownership » What is moved?","id":"23","title":"What is moved?"},"24":{"body":"This function is used when we want to clone the heap data. If we perform s2 = s1, on a heap data for example String, then only the stack data will be copied and not the heap data, hence moved. In case we want to copy the heap data too (also referred to deep copy), we use clone function. Here's an example: let s1 = String::from(\"hello\");\nlet s2 = s1.clone(); println!(\"s1 = {}, s2 = {}\", s1, s2);","breadcrumbs":"Basics of Rust » Ownership » Clone","id":"24","title":"Clone"},"25":{"body":"Copy trait can be placed on types that are stored on the stack like integers are. If a type implements the Copy trait, a variable is still valid after assignment to another variable. Rust won’t let us annotate a type with Copy if the type, or any of its parts, has implemented the Drop trait. If the type needs something special to happen when the value goes out of scope and we add the Copy annotation to that type, we’ll get a compile-time error. Types that implement copy: All the integer types, such as u32. The Boolean type, bool, with values true and false. All the floating point types, such as f64. The character type, char. Tuples, if they only contain types that also implement Copy. For example, (i32, i32) implements Copy, but (i32, String) does not.","breadcrumbs":"Basics of Rust » Ownership » The Copy and Drop trait","id":"25","title":"The Copy and Drop trait"},"26":{"body":"Passing a variable to a function will move or copy, just as assignment does. fn main() { let s = String::from(\"hello\"); // s comes into scope takes_ownership(s); // s's value moves into the function... // ... and so is no longer valid here let x = 5; // x comes into scope makes_copy(x); // x would move into the function, // but i32 is Copy, so it's okay to still // use x afterward } // Here, x goes out of scope, then s. But because s's value was moved, nothing // special happens. fn takes_ownership(some_string: String) { // some_string comes into scope println!(\"{}\", some_string);\n} // Here, some_string goes out of scope and `drop` is called. The backing // memory is freed. fn makes_copy(some_integer: i32) { // some_integer comes into scope println!(\"{}\", some_integer);\n} // Here, some_integer goes out of scope. Nothing special happens. This is how the ownership works for the return values: fn main() { let s1 = gives_ownership(); // gives_ownership moves its return value into s1 let s2 = String::from(\"hello\"); // s2 comes into scope let s3 = takes_and_gives_back(s2); // s2 is moved into takes_and_gives_back, which also moves its return value into s3\n} // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing // happens. s1 goes out of scope and is dropped. fn gives_ownership() -> String { // gives_ownership will move its return value into the function that calls it let some_string = String::from(\"yours\"); // some_string comes into scope some_string // some_string is returned and moves out to the calling function\n} // This function takes a String and returns one\nfn takes_and_gives_back(a_string: String) -> String { // a_string comes into scope a_string // a_string is returned and moves out to the calling function\n} When a variable that includes data on the heap goes out of scope, the value will be cleaned up by drop unless ownership of the data has been moved to another variable. See how takes_and_gives_back function returns the variable before going out of scope. Basically if we send a variable, we must return it back from the function to use it again. So, there are two things we can do, either return multiple values using tuples or use references . // This is an example of how a fn returns multiple values using tuples\nfn main() { let s1 = String::from(\"hello\"); let (s2, len) = calculate_length(s1); println!(\"The length of '{}' is {}.\", s2, len);\n} fn calculate_length(s: String) -> (String, usize) { let length = s.len(); // len() returns the length of a String (s, length)\n}","breadcrumbs":"Basics of Rust » Ownership » Ownership and Functions","id":"26","title":"Ownership and Functions"},"27":{"body":"We do borrowing whenever we don't want to transfer the complete ownership of a varaible. Consider the above example in previous section, inside calculate_length function we returned String s. We returned it because when we passed s1 into the function we transferred it's ownership to the variable s. Since, the scope of variable s is limited, the passed value of s1 will die outside the scope of calculate_length. So, we returned the variable s inside a tuple before the end of it's scope. Now, there is a workaround to calculate length without transferring the ownership. The process of doing so is called Borrowing and it's done using references .","breadcrumbs":"Basics of Rust » Borrowing » Borrowing","id":"27","title":"Borrowing"},"28":{"body":"A reference is a pointer to the variable. It’s an address we can follow to access data stored at that address that is owned by some other variable. Unlike a pointer, a reference is guaranteed to point to a valid value of a particular type. We use &, called as ampersand, to represent a reference. fn main() { let s1 = String::from(\"hello\"); // Instead of transferring ownership, we only passed a reference to the string let len = calculate_length(&s1); println!(\"The length of '{}' is {}.\", s1, len);\n} // We declare that this function will only accept a reference to a String, hence only borrows\nfn calculate_length(s: &String) -> usize { s.len()\n} Instead of Ownership transfer, borrowing looks like this, where s stores the reference. Borrowing Dereference This is the opposite of reference. It is represented by *. It returns the value of a pointer. Mutable Reference The references are also immutable by default. To make a reference mutable, we need to make both the declared variable and the reference mutable using mut keyword. fn main() { let mut s = String::from(\"hello\"); // Step 2 -> Change variable to mutable change(&mut s); // Step 3 -> Pass the string as a mutable reference\n} fn change(some_string: &mut String) { // Step 1 -> Declare in fn definition, that it demands a mutable reference some_string.push_str(\", world\");\n}","breadcrumbs":"Basics of Rust » Borrowing » References","id":"28","title":"References"},"29":{"body":"Which is better &String or &str? Short Answer: &str. Reason: It allows us to use the same function on both &String values and &str values. fn first_word(s: &String) -> &str { // This sucks, only allows &String fn first_word(s: &str) -> &str { // Rustaceans prefer this, since it allows both `&String` and `&str`. Basically, &str works for all types of references: fn main() { let my_string = String::from(\"hello world\"); // `first_word` works on slices of `String`s, whether partial or whole let word = first_word(&my_string[0..6]); let word = first_word(&my_string[..]); // `first_word` also works on references to `String`s, which are equivalent // to whole slices of `String`s let word = first_word(&my_string); let my_string_literal = \"hello world\"; // `first_word` works on slices of string literals, whether partial or whole let word = first_word(&my_string_literal[0..6]); let word = first_word(&my_string_literal[..]); // Because string literals *are* string slices already, // this works too, without the slice syntax! let word = first_word(my_string_literal);\n}","breadcrumbs":"Basics of Rust » Borrowing » Referencing for strings","id":"29","title":"Referencing for strings"},"3":{"body":"Fun Fact: Rust is an ahead-of-time compiled language, meaning you can compile a program and give the executable to someone else, and they can run it even without having Rust installed. After installing Rust , you may follow the following steps. Create a project folder, cd into it and create main.rs file: mkdir hello_world\ncd hello_world\ntouch main.rs Add the following program inside of it: // Filename: main.rs\nfn main() { println!(\"Hello, world!\");\n} Some facts regarding the above code. Main function is the first function that gets called. println!() is not a function but a macro . Macros contain an ! mark. Compile and run the file: rustc main.rs For Linux and macOS: ./main For Windows: .\\main Alternatively, you may use the package manager Cargo to create new boilerplate projects.","breadcrumbs":"Introduction » The Hello World Program » The \"Hello, World!\" program","id":"3","title":"The \"Hello, World!\" program"},"30":{"body":"The data race condition happens when these three behaviors occur: Two or more pointers access the same data at the same time. At least one of the pointers is being used to write to the data. There’s no mechanism being used to synchronize access to the data. To prevent this condition, Rust adds limitations while using references. Limitations of Referecnes We cannot create two mutable references to a variable. let mut s = String::from(\"hello\"); let r1 = &mut s; let r2 = &mut s; println!(\"{}, {}\", r1, r2); We cannot create one immutable and one mutable reference to a variable. let mut s = String::from(\"hello\"); let r1 = &s; // no problem let r2 = &s; // no problem let r3 = &mut s; // BIG PROBLEM println!(\"{}, {}, and {}\", r1, r2, r3); Allowed Workarounds for References Multiple immutable references are allowed because no one who is just reading the data has the ability to affect anyone else’s reading of the data. let mut s = String::from(\"hello\"); let r1 = &s; // no problem let r2 = &s; // no problem println!(\"{}, {}\", r1, r2); Rust treats last usage of a immutable reference, as it's end. Hence, the following code runs perfectly, read more about Non-Lexical Lifetimes . let mut s = String::from(\"hello\"); let r1 = &s; // no problem let r2 = &s; // no problem println!(\"{} and {}\", r1, r2); // variables r1 and r2 will not be used after this point let r3 = &mut s; // no problem println!(\"{}\", r3); You may create a new scope to use two mutable references. let mut s = String::from(\"hello\"); { let r1 = &mut s; } // r1 goes out of scope here, so we can make a new reference with no problems. let r2 = &mut s;","breadcrumbs":"Basics of Rust » Borrowing » Data Race","id":"30","title":"Data Race"},"31":{"body":"Dangling Reference is a reference to a location in memory which is freed but the reference exists. In languages with pointers, it’s easy to erroneously create a dangling pointer. In Rust, by contrast, the compiler guarantees that references will never be dangling references: if you have a reference to some data, the compiler will ensure that the data will not go out of scope before the reference to the data does. Compiler throws error if we manually try to create a dangling reference: // FAIL: Rust won't allow you to create Dangling References\nfn main() { let reference_to_nothing = dangle();\n} fn dangle() -> &String { let s = String::from(\"hello\"); &s\n} // s goes out of scope here, but we try to reference to The Error that compiler throws is: this function's return type contains a borrowed value, but there is no value\nfor it to be borrowed from It also mentions, we can fix it using lifetimes.","breadcrumbs":"Basics of Rust » Borrowing » Dangling References","id":"31","title":"Dangling References"},"32":{"body":"No Data Racing - At any given time, you can have either one mutable reference or any number of immutable references. No Dangling References - References must always be valid.","breadcrumbs":"Basics of Rust » Borrowing » Golden Rules of Referencing","id":"32","title":"Golden Rules of Referencing"},"33":{"body":"A struct , or structure, is a custom data type that lets you name and package together multiple related values that make up a meaningful group. It is used to just define the data attributes as we do in Object Oriented Programming Languages. There are three types of Structs: Structs with Named Fields Tuple Structs Unit Structs","breadcrumbs":"Basics of Rust » Structs » Structs","id":"33","title":"Structs"},"34":{"body":"Functions defined for structs using the impl keyowrd are called associated functions . The associated functions which accepts self as it's first argument are called methods . Structs with Named Fields In structs, we name each piece of data, so it's clear what they mean. This name and data type pair are called fields . Struct definition: struct User { active: bool, // A Field username: String, email: String, sign_in_count: u64,\n} Creating a struct's instance: // If you specify mut, all the values will be mutable otherwise none\nlet mut user1 = User { email: String::from(\"someone@example.com\"), username: String::from(\"someusername123\"), active: true, sign_in_count: 1,\n}; Taking out and updating the values: user1.email = String::from(\"anotheremail@example.com\"); Defining functions for structs fn build_user(email: String, username: String) -> User { User { email, //We can write like this aslo-> email: email username, active: true, sign_in_count: 1, }\n} The struct update syntax (..), or spread operator in JS: // Initially\nlet user2 = User { active: user1.active, username: user1.username, email: String::from(\"another@example.com\"), sign_in_count: user1.sign_in_count,\n}; // After using the struct update syntax (..)\nlet user2 = User { email: String::from(\"another@example.com\"), ..user1\n}; Note: This update syntax, works same as assignment operator =, so stack values will get copied and heap values will be moved. Since, username is a String, it's value will be moved from user1 to user2, hence user1 can't be used again. To prevent this problem of ownership transfer, we can use &str instead of String but when we use references in structs, it won't actually compile but will ask for lifetimes. // FAIL: Lifetime specifier not provided.\nstruct User { username: &str, email: &str, sign_in_count: u64, active: bool,\n} fn main() { let user1 = User { email: \"someone@example.com\", username: \"someusername123\", active: true, sign_in_count: 1, };\n} In this situation the compiler situation looks something like this: --> src/main.rs:2:15 |\n2 | username: &str, | ^ expected named lifetime parameter |\nhelp: consider introducing a named lifetime parameter |\n1 | struct User<'a> {\n2 | username: &'a str, | Tuple Structs Using Tuple Structs without Named Fields to Create Different Types: struct Color(i32, i32, i32);\nstruct Point(i32, i32, i32); let black = Color(0, 0, 0);\nlet origin = Point(0, 0, 0); To access their types, we use the . operator followed by the number of this argumnet. let color = Color(10, 25, 16);\nlet red = color.0;\nlet green = color.1;\nlet blue = color.2; Unit Structs They are structs without Any Fields (they act like ()). They are Useful when we want to implement a trait on some type but don’t have any data that you want to store in the type itself. struct AlwaysEqual; let subject = AlwaysEqual; Why do we use Structs? It is a more sensible design choice to pass as minimum arguments as possible inside a function. For Example, if we need to calculate the area of rectangle, instead of passing height and width, it would be cleaner to pass the whole rectangle. Now, this can be done with the tuples too. For Example, let rect1 = (50, 30); but the problem with this syntax is that any developer can confuse which one is width or height. To make this process clearer and cleaner, we use struct, so that we can combine the data and still keep the meaning of each attribute intact. struct Rectangle { width: u32, height: u32,\n} fn main() { let rect1 = Rectangle { width: 50, height: 30 }; println!(\"The area of the rectangle is {} square pixels\", area(&rect1));\n} // Passing Rectangle as a reference is important so that main fn\n// can retain it's ownership after this function is called.\nfn area(rectangle: &Rectangle) -> u32 { rectangle.width * rectangle.height\n} Printing Variables Ways to Print the variables: {} - Used to print variables with Display trait, for simple data types like int, string etc. we don't need to derive this attribute. {:?} - Used to print complex variables with Debug trait, preferred for complex data type like struct, and we need to derive the Debug attribute. {:#?} - Works similarly like {:?}, except it's preferred for structs with large number of fields. dbg!() - It is a macro used with Debug trait to print the variables, file and line number. It prints to stderr instead of stdout (which println!() uses). It takes ownership, so prefer sending references to it. Here's an example of using the dbg!() macro: #[derive(Debug)]\nstruct Rectangle { width: u32, height: u32,\n} fn main() { let scale = 2; let rect1 = Rectangle { width: dbg!(30 * scale), // It'll resolve the expression `30 * scale`, as if dbg!() call was never there, it happens due to ownership transfer height: 50, }; dbg!(&rect1); // To maintian the scope of rect1 in main() we sent only the reference.\n} The output looks like this: Compiling rectangles v0.1.0 (file:///projects/rectangles) Finished dev [unoptimized + debuginfo] target(s) in 0.61s Running `target/debug/rectangles`\n[src/main.rs:10] 30 * scale = 60\n[src/main.rs:14] &rect1 = Rectangle { width: 60, height: 50,\n} You can read more about Derivable Traits and Attributes . Structs with Method Syntax When functions are defined in the context of a struct, enum or trait they are called as Methods . The first parameter of a method is always self, which represents the instance. #[derive(Debug)]\nstruct Rectangle { width: u32, height: u32,\n} // Everything inside the impl block is associated with Rectangle\nimpl Rectangle { // &self is a short hand for self: `&self` (references are used to prevent mutation) // You can pass the following too: // self - Ownership of instance // &self - Reference to the instance {Currently Using} // &mut self - Mutable Reference to the instance fn area(&self) -> u32 { self.width * self.height } // It is possible to name methods same as fields of struct // Usually these methods are used as getters, to keep the fields private but provide read only accees using the methods fn width(&self) -> bool { self.width > 0 } // This is how we pass anotherr instance of same struct to a method fn can_hold(&self, other: &Rectangle) -> bool { self.width > other.width && self.height > other.height }\n} fn main() { let rect1 = Rectangle { width: 30, height: 50, }; let rect2 = Rectangle { width: 15, height: 25, }; println!( \"The area of the rectangle is {} square pixels.\", rect1.area() ); // If we use rect1.width() - Rust unserstands it as method and // if we use rect1.width - Rust unserstands it as a field if rect1.width() { println!(\"The rectangle has a nonzero width; it is {}\", rect1.width); }; // This is how we can pass second instance while calling a method on first instance println!(\"Can rect1 hold rect2? {}\", rect1.can_hold(&rect2));\n} Note: When you call a method with object.something(), Rust automatically adds in &, &mut, or * so object matches the signature of the method. In other words, the following are the same: p1.distance(&p2);\n(&p1).distance(&p2); It is possible to use different impl blocks, it is a valid syntax. impl Rectangle { fn area(&self) -> u32 { self.width * self.height }\n} impl Rectangle { fn can_hold(&self, other: &Rectangle) -> bool { self.width > other.width && self.height > other.height }\n} Associated Functions All the functions defined under impl are associated functions. Methods are associated functions which has self as an argument and we use . operator to access it. It is possible to define associated functions without passing self as the first argument, these functions are accessed through :: operator. Here's an example: // Calling a method, also an associated function\ninstance.method(some_argument); // Calling an associated function, without self as the first argument, hence not a method\nString::from(\"Hello, World!\"); These associated functions are commonly used as constructors. Also, for the previous example of Rectangle, we can use it as follows: impl Rectangle { // With this associated function we can create a new instance of Rectangle // by passing one value instead of two, hence creating a square. fn square(size: u32) -> Rectangle { Rectangle { width: size, height: size, } }\n} It can be called like this: let sq = Rectangle::square(3);","breadcrumbs":"Basics of Rust » Structs » Associated Functions and Methods","id":"34","title":"Associated Functions and Methods"},"35":{"body":"Enums is the short form of enumerations. It allows us to define a type with possible values, these possible values are called variants . We can enumerate all possible variants, which is where enumeration gets its name. The total size that enum will allocate for it’s variant will be equal to the memory allocation of it’s largest variant. It works similar to unions in C. Where to use Enums? When their are certain possible values for a type and those possible values may not coincide together. For Example, we can make an enum for Day, with possible variants Monday-Sunday, now for a certain day any two possible values will never coincide. Another Example, IP Address, it's possible variants will be IPV4, IPV6, for a certain IP address, it can only be either of the two. Here's an example definition: enum IpAddrKind { V4, V6,\n} To create an instance of ane enum, we use :: operator: let four = IpAddrKind::V4;\nlet six = IpAddrKind::V6; To use it in a function: // In fn declaration\nfn route(ip_kind: IpAddrKind) {} // In fn call\nroute(IpAddrKind::V4);\nroute(IpAddrKind::V6); Using Enums with Structs: enum IpAddrKind { V4, V6, } struct IpAddr { kind: IpAddrKind, address: String, } let home = IpAddr { kind: IpAddrKind::V4, address: String::from(\"127.0.0.1\"), }; let loopback = IpAddr { kind: IpAddrKind::V6, address: String::from(\"::1\"), }; Enums with associated data types: // Now, we don't need an extra struct\nenum IpAddr { V4(String), V6(String),\n} // We get a default constructor function for each variant\nlet home = IpAddr::V4(String::from(\"127.0.0.1\")); let loopback = IpAddr::V6(String::from(\"::1\")); Defining enum variants with different data types: enum IpAddr { // Defining variants with two different data types // is only possible through enums and not through enums with struct V4(u8, u8, u8, u8), V6(String),\n} let home = IpAddr::V4(127, 0, 0, 1); let loopback = IpAddr::V6(String::from(\"::1\")); This is how standard library defines IP addresses : struct Ipv4Addr { // --snip--\n} struct Ipv6Addr { // --snip--\n} // It is posible to put any data type inside\n// the enum variant, int, String, struct,\n// or even enum\nenum IpAddr { V4(Ipv4Addr), V6(Ipv6Addr),\n} Enum with complicated data types: // Cleaner Approach\nenum Message { Quit, // No data associated with it at all! Move { x: i32, y: i32 }, // Has named fields like struct Write(String), ChangeColor(i32, i32, i32),\n} // Uglier approach using struct\nstruct QuitMessage; // unit struct\nstruct MoveMessage { x: i32, y: i32,\n}\nstruct WriteMessage(String); // tuple struct\nstruct ChangeColorMessage(i32, i32, i32); // tuple struct It is possible to define associated functions on enums using impl: enum Message { Quit, Move { x: i32, y: i32 }, Write(String), ChangeColor(i32, i32, i32),\n} impl Message { fn call(&self) { // method body would be defined here }\n} let _quit_message = Message::Quit; // We won't use parantheses because it is of Unit Type\nlet _write_message = Message::Write(String::from(\"Hello\")); // Constructor function, that accepts String and will stroe it on heap\nlet _change_color_message = Message::ChangeColor(12, 12, 12); // Constructor function, that accepts three i32 values\nlet _move_message = Message::Move {x: 5, y: 6}; // Works similar to creating new instance of struct with named fields _quit_message.call(); The Option Enum The Option type is used in many places because it encodes the very common scenario in which a value could be something or it could be nothing. Expressing this concept in terms of the type system means the compiler can check whether you’ve handled all the cases you should be handling. This functionality can prevent bugs that are extremely common in other programming languages. Rust doesn't have Null, so it uses Option enum with variants Some and None. This makes Rust extremely cool, you may read more about \"Null References: The Billion Dollar Mistake\" . The problem with null values is that if you try to use a null value as a not-null value, you’ll get an error of some kind. Rust's Option enum will always ask you to offer solution for both Some and None. // It is generic over any data type T\nenum Option { None, Some(T),\n} // Rust automatically inferred to be of type Option because we passed a number and i32 is it's default type\nlet some_number = Some(5);\n// Similarly, Rust inferred Option<&str>, since we passed string literal\nlet some_string = Some(\"a string\"); // Here, since None can belong to any data type, we explicitly define i32\nlet absent_number: Option = None; Why is having Option any better than having null? In short, because Option and T (where T can be any type) are different types, the compiler won’t let us use an Option value as if it were definitely a valid value. For example, this code won’t compile because it’s trying to add an i8 to an Option: let x: i8 = 5;\nlet y: Option = Some(5); let sum = x + y; When we have a value of a type like i8 in Rust, the compiler will ensure that we always have a valid value. We can proceed confidently without having to check for null before using that value. when we have an Option, we'll have to worry about possibly not having a value, and the compiler will make sure we handle that case before using the value. In other words, you have to convert an Option to a T before you can perform T operations with it. Generally, this helps catch one of the most common issues with null: assuming that something isn’t null when it actually is. In languages like C, this will work and print something, even though we know it doesn't contain any value. #include int main() { int x; printf(\"Value of x: %i\", x); return 0;\n} In Rust, it'll not compile, since it identifies an absence of value. fn main() { let number: i32; println!(\"Value of x: {}\", number);\n} Everywhere that a value has a type that isn’t an Option, you can safely assume that the value isn’t null. This was a deliberate design decision for Rust to limit null’s pervasiveness and increase the safety of Rust code.","breadcrumbs":"Basics of Rust » Enums » Enums","id":"35","title":"Enums"},"36":{"body":"","breadcrumbs":"Basics of Rust » Pattern Matching » Pattern Matching","id":"36","title":"Pattern Matching"},"37":{"body":"It allows you to compare a value against a series of patterns and then execute code based on which pattern matches. It is possible to express very different kind of patterns. Also, Rust has a cumpolsary check, where it handles that all possible cases are handled. Think of a match expression as being like a coin-sorting machine: coins slide down a track with variously sized holes along it, and each coin falls through the first hole it encounters that it fits into. At the first pattern the value “fits”, the value falls into the associated code block to be used during execution. The expression with if statement only returns a boolean value but match expression can return any type. Here's an Example Below: enum Coin { Penny, Nickel, Dime, Quarter,\n} fn value_in_cents(coin: Coin) -> u8 { match coin { Coin::Penny => { println!(\"Lucky penny!\"); 1 }, Coin::Nickel => 5, Coin::Dime => 10, Coin::Quarter => 25, }\n} Each new pattern under match is an arm. An arm has two parts: a pattern and some code. The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire match expression. An enum inside another enum This is how we'll be using match for such cases: #[derive(Debug)] // so we can inspect the state in a minute\nenum UsState { Alabama, Alaska, // --snip--\n} enum Coin { Penny, Nickel, Dime, Quarter(UsState),\n} fn value_in_cents(coin: Coin) -> u8 { match coin { Coin::Penny => 1, Coin::Nickel => 5, Coin::Dime => 10, Coin::Quarter(state) => { println!(\"State quarter from {:?}!\", state); 25 } }\n} fn main() { let _value = value_in_cents(Coin::Quarter(UsState::Alaska));\n} Matching with Option The value inside Option of type T can be passed through like a functional argument using the match expression. fn plus_one(x: Option) -> Option { match x { None => None, Some(i) => Some(i + 1), } } let five = Some(5); let six = plus_one(five); let none = plus_one(None); The match expression always covers all the possible values, that's why we call them exhaustive : we must exhaust every last possibility in order for the code to be valid. // FAIL: All the cases not covered in match expression, the None case is remaining\nfn plus_one(x: Option) -> Option { match x { Some(i) => Some(i + 1), }\n} Especially in the case of Option, when Rust prevents us from forgetting to explicitly handle the None case, it protects us from assuming that we have a value when we might have null, thus making the billion-dollar mistake discussed earlier impossible . Catch remaining patterns using _ placeholder It is possible to cover the remaining cases inside the match expression, it is similar to default case of switch statement in other languages. let dice_roll = 9; match dice_roll { 3 => add_fancy_hat(), 7 => remove_fancy_hat(), other => move_player(other), // This will match all the cases that aren't specifically listed } fn add_fancy_hat() {} fn remove_fancy_hat() {} fn move_player(num_spaces: u8) {} Sometimes we use placeholder _, to specify Rust, that this value is useless. let dice_roll = 9; match dice_roll { 3 => add_fancy_hat(), 7 => remove_fancy_hat(), _ => reroll(), // These values aren't that important } fn add_fancy_hat() {} fn remove_fancy_hat() {} fn reroll() {} If we want to tell Rust to literally do nothing, then we can use unit tuple () instead of fn call. let dice_roll = 9; match dice_roll { 3 => add_fancy_hat(), 7 => remove_fancy_hat(), _ => (), // Telling Rust to \"do nothing\" } fn add_fancy_hat() {} fn remove_fancy_hat() {} The if let syntax It is used in case you want to consider only particular case of an enum. For example, if you want to consider only the Some variant of an enum Option<>, you may prefer to use the if let syntax instead of match: // The older approach using the match syntax\nlet config_max = Some(3u8);\nmatch config_max { Some(max) => println!(\"The maximum is configured to be {}\", max), _ => (), // This line seems redundant\n} // More concise approach with if let\nlet config_max = Some(3u8);\nif let Some(max) = config_max { println!(\"The maximum is configured to be {}\", max);\n} The if let accepts a pattern (consider Some(max)) and an expression (consider config_max) seperated by and = sign. Before using if let please make sure whether gaining conciseness is an appropriate trade-off for losing exhaustive checking. This approach is not exhaustive in sense that it only considers one pattern and ignores other unlike the match syntax. It is possible to use else with if let: // In this problem we are counting the coins that aren't quarter\nlet mut count = 0;\nmatch coin { Coin::Quarter(state) => println!(\"State quarter from {:?}!\", state), _ => count += 1,\n} // Another possible approach with if let and else\nlet mut count = 0;\nif let Coin::Quarter(state) = coin { println!(\"State quarter from {:?}!\", state);\n} else { count += 1;\n}","breadcrumbs":"Basics of Rust » Pattern Matching » The match conftrol flow operator","id":"37","title":"The match conftrol flow operator"},"38":{"body":"The various data structures in Rust's standard library are called Collections. Refer here . They can contain multiple values and collections point data stored on heap. Most Common Collections: Vectors String Hash Map","breadcrumbs":"Common Collections » Common Collections","id":"38","title":"Common Collections"},"39":{"body":"It is represesnted as Vec. You can store variable number of values, unlike Array. Though, the data type of stored values should be same. Vectors store values next to each other in memory. Creating a new vector: // We'll add type annotation because the vector has 0 elements, // hence, there is no way for Rust to recognize type implicitly let v: Vec = Vec::new(); Creating vectors using a macro: let v = vec![1, 2, 3]; Pushing new values (make sure Vector is mutable): v.push(5); Popping new values: let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3)); Even though vectors store values on heap and it is possible to introduce references to the elements of the vector. Still, the vectors automatically cleans up memory as it goes out of scope: { let v = vec![1, 2, 3, 4]; // do stuff with v } // <- v goes out of scope and is freed here Accessing elements inside a vector: Method 1: let third: &i32 = &v[2]; // Might panic due to out of index Method 2: match v.get(2) { // Gives Option<&T> Some(third) => println!(\"The third element is {}\", third), None => println!(\"There is no third element.\"),\n} You can't do that: let mut v = vec![1, 2, 3, 4, 5]; let first = &v[0]; // A reference to immutable vector [Immutable Borrow] v.push(6); // Writing to a mutable vector [Mutable Error] println!(\"The first element is: {}\", first); // Accessing the reference after writing [Immutable Borrow Used] // Recall: You can’t have mutable and immutable references in the same scope. Why should a reference to the first element care about what changes at the end of the vector? This error is due to the way vectors work: adding a new element onto the end of the vector might require allocating new memory and copying the old elements to the new space, if there isn’t enough room to put all the elements next to each other where the vector currently is. Itearting over the Vector: let v = vec![100, 32, 57]; for i in &v { println!(\"{}\", i); } Iterating and mutating the vector: let mut v = vec![100, 32, 57]; for i in &mut v { *i += 50; } Storing values of different types using enums: // Using enums in vectors add stability as // when we'll use match all possible cases // will be covered. enum SpreadsheetCell { Int(i32), Float(f64), Text(String), } let row = vec![ SpreadsheetCell::Int(3), SpreadsheetCell::Text(String::from(\"blue\")), SpreadsheetCell::Float(10.12), ];","breadcrumbs":"Common Collections » Vector » Vector","id":"39","title":"Vector"},"4":{"body":"In this Chapter you'll learn about the common programming concepts like functions, conditionals etc. along with some unique Rust concepts like borrowing, ownership and pattern matching.","breadcrumbs":"Basics of Rust » Basics of Rust","id":"4","title":"Basics of Rust"},"40":{"body":"The type HashMap stores a mapping of keys of type K to values of type V. It does this via a hashing function, which determines how it places these keys and values into memory. Creating a new HashMap: use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from(\"Blue\"), 10); scores.insert(String::from(\"Yellow\"), 50); Just like Vectors, HashMaps also save their values on Heap. All Keys must have same type, and all values must have same type. Creating HashMap through iterators: use std::collections::HashMap; let teams = vec![String::from(\"Blue\"), String::from(\"Yellow\")]; let initial_scores = vec![10, 50]; let mut scores: HashMap<_, _> = teams.into_iter() .zip(initial_scores.into_iter()) // creates a tuple, example (\"Blue\", 10) .collect(); // Converts tuple into HashMap HashMap and ownership: Types that implement Copy trait will be copied else moved. For Example, i32 will be copied but String will be moved. use std::collections::HashMap; let field_name = String::from(\"Favorite color\"); let field_value = String::from(\"Blue\"); let mut map = HashMap::new(); map.insert(field_name, field_value); // You can't use field_name or field_value now, as they've been moved Accessing value in HashMap, the get method returns Option<&V>: use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from(\"Blue\"), 10); scores.insert(String::from(\"Yellow\"), 50); let team_name = String::from(\"Blue\"); let score = scores.get(&team_name); // This is how we access value for a certain Key // The score variable will contain - Some(&10) Iterating over a HashMap: use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from(\"Blue\"), 10); scores.insert(String::from(\"Yellow\"), 50); for (key, value) in &scores { println!(\"{}: {}\", key, value); } Updating a HashMap: Overwriting the value: scores.insert(String::from(\"Blue\"), 10);\nscores.insert(String::from(\"Blue\"), 25); // Output - scores = {\"Blue\": 25} Only inserting the value if the Key has no value: scores.insert(String::from(\"Blue\"), 10); // We'll need to use entry to use or_insert\nscores.entry(String::from(\"Yellow\")).or_insert(50); // This will add 50\nscores.entry(String::from(\"Blue\")).or_insert(50); // This won't replace 10 with 50 // Output - scores = {\"Yellow\": 50, \"Blue\": 10} Updating a value based on the Old Value: use std::collections::HashMap; let text = \"hello world wonderful world\"; let mut map = HashMap::new(); for word in text.split_whitespace() { let count = map.entry(word).or_insert(0); // or_insert returns mutable reference to the Value, &mut V *count += 1;\n} println!(\"{:?}\", map); // Output - map = {\"world\": 2, \"hello\": 1, \"wonderful\": 1} The hashing function that Rust uses is SipHash. You can replace the hashing function. Please refer here for more.","breadcrumbs":"Common Collections » HashMaps » HashMaps","id":"40","title":"HashMaps"},"41":{"body":"You'll learn about how to structure the differences between packages, crates, modules and paths. It'll help you to modularize your code as your project grows. We'll talk about error handling and the differences between recoverable and unrecoverable errors.","breadcrumbs":"Project Structuring and Error Handling » Project Structuring and Error Handling","id":"41","title":"Project Structuring and Error Handling"},"42":{"body":"The Rust's module system includes: Packages: A Cargo feature that lets you build, test, and share crates Crates: A tree of modules that produces a library or executable Modules and use: Let you control the organization, scope, and privacy of paths Paths: A way of naming an item, such as a struct, function, or module Once you’ve implemented an operation, other code can call that code via the code’s public interface without knowing how the implementation works. The way you write code defines which parts are public for other code to use and which parts are private. private - No exteranl code can call this code directly public - External code can call this code directly The way privacy works in Rust is that all items (functions, methods, structs, enums, modules, and constants) are private by default. Package When we run the command cargo new it creates the package. A package contains a Cargo.toml file that describes how to build those crates. A package can contain at most one library crate. It can contain as many binary crates as you’d like, but it must contain at least one crate (either library or binary). As a package grows, you can extract parts into separate crates that become external dependencies. Crates A crate is a binary or library. The crate root is a source file that the Rust compiler starts from and makes up the root module of your crate. Cargo follows a convention that src/main.rs is the crate root of a binary crate with the same name as the package. Similarly, src/lib.rs is the crate root of a library crate with the same name as the package. Cargo passes the crate root files to rustc to build the library or binary. A crate’s functionality is namespaced in its own scope, it means we can import another crate let's say rand which has a trait named Rng, and still create a new struct named Rng in our project's crate. The rustc will never confuse between the two and we can access the rand's components as rand::Rng. Modules Modules are used to structure code inside a crate. It is also used to provide privacy to your code. private - Exteranl code outside that module can not call this code directly public - External code outside that module can call this code directly By using modules, we can group related definitions together and name why they’re related. The benefit it'll provide you is that other programmers reading your code can easily find the code they are searching for because then they'll navigate through groups rather than each function definition. Also, they'll add new code in the right module. The contents of the files src/main.rs and src/lib.rs (these files are also referred as crate roots) form a module named crate at the root of the crate’s module structure, known as the module tree . crate // An implicit module, definitely not named by you └── front_of_house // Main Module inside lib.rs ├── hosting // Submodule │ ├── add_to_waitlist │ └── seat_at_table └── serving // Submodule ├── take_order ├── serve_order └── take_payment Paths We use a path in the same way we use a path when navigating a filesystem. A path can take two forms: An absolute path starts from a crate root by using a crate name or a literal crate. A relative path starts from the current module and uses self, super, or an identifier in the current module. You ma consider paths in rust quite similar to the paths used to access the filesystem crate - Root (/) :: - Used to distinct others (/) super - Used to go back one step (../) Here's an exmaple: // eat_at_restaurant is a sibling to front_of_house (since they are in same file),\n// thus front_of_house doesn't need pub keyword to make it accessible.\nmod front_of_house { // Add pub to allow the functions that can access front_of_house to access hosting too. pub mod hosting { // Add pub to allow the functions that can access hosting to access add_to_waitlist too. pub fn add_to_waitlist() {} }\n} pub fn eat_at_restaurant() { // Absolute path // Filesystem Equivalent to /front_of_house/hosting/add_to_waitlist crate::front_of_house::hosting::add_to_waitlist(); // Relative path // Filesystem Equivalent to front_of_house/hosting/add_to_waitlist front_of_house::hosting::add_to_waitlist();\n} Our preference is to specify absolute paths because it’s more likely to move code definitions and item calls independently of each other. Items in a parent module can’t use the private items inside child modules, but items in child modules can use the items in their ancestor modules. But you can expose inner parts of child modules’ code to outer ancestor modules by using the pub keyword to make an item public. If you want to make an item like a function or struct private, you put it in a module. Another example to show usecase for super: fn serve_order() {} mod back_of_house { fn fix_incorrect_order() { cook_order(); super::serve_order(); } fn cook_order() {}\n} If we make a struct public, it doesn't mean all it's fields are public too. We use . to access fields. mod back_of_house { pub struct Breakfast { pub toast: String, // Accessible seasonal_fruit: String, // Not Accessible } ...\n} On the other hand, if we make an enum public all it's variants becomes public too. We use :: to access variants. mod back_of_house { pub enum Appetizer { Soup, // Accessible Salad, // Accessible } ...\n} The use keyword It is similar to the import keyword in python. mod front_of_house { pub mod hosting { pub fn add_to_waitlist() {} }\n} // The line below will make hosting as a valid name in the scope\nuse crate::front_of_house::hosting; pub fn eat_at_restaurant() { hosting::add_to_waitlist(); hosting::add_to_waitlist(); hosting::add_to_waitlist();\n} We can use the following ways to achieve the same thing: use self::front_of_house::hosting; use crate::front_of_house::hosting::add_to_waitlist; Though, the one mentioned inside the code block is the idiiomatic way to do it in Rust. On the other hand, when bringing in structs, enums, and other items with use, it’s idiomatic to specify the full path. use std::collections::HashMap; fn main() { let mut map = HashMap::new(); map.insert(1, 2);\n} In case if we have two items with same name (in our case Result) but from different crates (in our case fmt and io), then we'll not use the full path, as it'll confuse Rust. use std::fmt;\nuse std::io; // This way Rust will be able to distinguish which Result we want\nfn function1() -> fmt::Result { // --snip--\n} fn function2() -> io::Result<()> { // --snip--\n} Alternatively, we can use the as keyword to deal with two same names. use std::fmt::Result;\nuse std::io::Result as IoResult; We can re-export the code using pub use. mod front_of_house { pub mod hosting { pub fn add_to_waitlist() {} }\n} // The use keyword will create a local variable named hosting in this scope\n// and pub keyword will re-export it for the external code to use it.\npub use crate::front_of_house::hosting; pub fn eat_at_restaurant() { hosting::add_to_waitlist(); hosting::add_to_waitlist(); hosting::add_to_waitlist();\n} Using external packages: First, we'll add the name and version of the package in cargo.toml, so that it can be automatically downloaded through crates.io. rand = \"0.8.3\" Then, we'll use the use keyword to bring it into the scope. use rand::Rng; fn main() { let secret_number = rand::thread_rng().gen_range(1..101);\n} The packages like std is also external but is a part of Rust language and it is not needed to download it from crates.io. Nesting the paths: // Dirty Approach\nuse std::cmp::Ordering;\nuse std::io; // Cleaneer Aproach (Nested)\nuse std::{cmp::Ordering, io}; //Another Dierty Approach\nuse std::io;\nuse std::io::Write; // Cleaner Approach (Nesting using self)\nuse std::io::{self, Write}; The glob operator (*), is used to bring all public definitions into the scope. // It is a bit riskier, as it is hard to identify what all definitions have been brought into scope\nuse std::collections::*;","breadcrumbs":"Project Structuring and Error Handling » Project Structuring » Project Structuring","id":"42","title":"Project Structuring"},"43":{"body":"","breadcrumbs":"Project Structuring and Error Handling » Modularizing » Modularizing","id":"43","title":"Modularizing"},"44":{"body":"Let's say we decided to put some code in the file src/front_of_house.rs, and we want to use this code inside the file src/lib.rs. It can be done like this: src ├── front_of_house.rs └── lib.rs // Filename: src/lib.rs\n// This will bring the contents of module (thst is stored in file `src/front_of_house.rs`)\n// into the current file\nmod front_of_house; // This will allow us to use as well as export it\n// so that external can use it too.\npub use crate::front_of_house::hosting; pub fn eat_at_restaurant() { hosting::add_to_waitlist(); hosting::add_to_waitlist(); hosting::add_to_waitlist();\n} Now, we can make a new directory as well and can store the files as folows: src ├── front_of_house │ └── hosting.rs ├── front_of_house.rs └── lib.rs // Filename: src/front_of_house.rs\npub mod hosting; // Filename: src/front_of_house/hosting.rs\npub fn add_to_waitlist() {} Re-exporting You may use re-exporting, for making it easier to use your crate for other developers. It allows to use the structures directly intead of following the heirarchy in which the crate is designed. Without re-exporting: How structure looks: pub mod kinds { pub enum PrimaryColor { ... } pub enum SecondaryColor { ... }\n} pub mod utils { use crate::kinds::*; pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { ... }\n} How others will be using it: use art::kinds::PrimaryColor;\nuse art::utils::mix; fn main() { let red = PrimaryColor::Red; let yellow = PrimaryColor::Yellow; mix(red, yellow);\n} With re-exporting: How structure looks: // Here we're re-exporting it for direct use\npub use self::kinds::PrimaryColor;\npub use self::kinds::SecondaryColor;\npub use self::utils::mix; pub mod kinds { ...\n} pub mod utils { ...\n} How others will be using it: // Isn't it easier to import now?\nuse art::mix;\nuse art::PrimaryColor; fn main() { let red = PrimaryColor::Red; let yellow = PrimaryColor::Yellow; mix(red, yellow);\n} Workspaces A workspace is a set of packages that share the same Cargo.lock and output directory. You can build your workspace that looks like this: add\n├── Cargo.lock\n├── Cargo.toml\n├── add_one\n│ ├── Cargo.toml\n│ └── src\n│ └── lib.rs\n├── adder\n│ ├── Cargo.toml\n│ └── src\n│ └── main.rs\n└── target // Notice only one target directory The cargo.toml of add (the outer one) of the workspace will look like this: \n[workspace] members = [ \"adder\", \"add_one\",\n] The workspace has one target directory at the top level, the adder package doesn’t have its own target directory. Even if we were to run cargo build from inside the adder directory, the compiled artifacts would still end up in add/target rather than add/adder/target. The cargo.toml of adder will look like this: \n[dependencies]\nadd_one = { path = \"../add_one\" } The main.rs in adder will look something like this: // Filename: add/adder/src/main.rs\nuse add_one; fn main() { let num = 10; println!( \"Hello, world! {} plus one is {}!\", num, add_one::add_one(num) );\n} To build the whole workspace, you may run this command from the add directory (the outer). $ cargo build Compiling add_one v0.1.0 (file:///projects/add/add_one) Compiling adder v0.1.0 (file:///projects/add/adder) Finished dev [unoptimized + debuginfo] target(s) in 0.68s To run a particular package you may run the following command: $ cargo run -p adder Finished dev [unoptimized + debuginfo] target(s) in 0.0s Running `target/debug/adder`\nHello, world! 10 plus one is 11! All the dependencies in different packages will use the same version of the dependency. It is because the cargo.toml of the workspace will make only one entry of the dependency. It also saves space and makes all the package compatible with each other, since they'll be using the same version of the dependency. To run all test: cargo run test To run test in particular file: cargo test -p add_one","breadcrumbs":"Project Structuring and Error Handling » Modularizing » Modularizing in different files","id":"44","title":"Modularizing in different files"},"45":{"body":"This pattern is about separating concerns: main.rs handles running the program, and lib.rs handles all the logic of the task at hand. Because you can’t test the main function directly, this structure lets you test all of your program’s logic by moving it into functions in lib.rs. The only code that remains in main.rs will be small enough to verify its correctness by reading it.","breadcrumbs":"Project Structuring and Error Handling » Modularizing » Refactoring Guides","id":"45","title":"Refactoring Guides"},"46":{"body":"Types of Errors Recoverable Unrecoverable Errors like file not found error. Errors like trying to access a location beyond the end of an array. It’s reasonable to report the problem to the user and retry the operation. They are always symptoms of bugs. Result is used for Recoverable Errors. The panic! macro is used to stop the execution for an unrecoverable error. Unrecoverable Errors with panic! Fun Fact: In C, attempting to read beyond the end of a data structure is undefined behavior. You might get whatever is at the location in memory that would correspond to that element in the data structure, even though the memory doesn’t belong to that structure. This is called a buffer overread and can lead to security vulnerabilities if an attacker is able to manipulate the index in such a way as to read data they shouldn’t be allowed to that is stored after the data structure. In Rust, you'll encounter a panic!() in such cases. When the panic! macro executes, Rust does the following: Print a failure message Unwind and clean up the stack Quit Panic is usually used, when a bug appears and the programmer doesn't know how to handle it. If you don't want your program to \"slowly unwind and clean up the stack\" instead \"abort the program and let OS handle the cleaning\". You may do that by adding following lines to the Cargo.toml file. Refer here for more. [profile.release]\npanic = 'abort' To receive a backtrace in case of panic, you might need to run the following command: RUST_BACKTRACE=1 cargo run The best way to read backtraces is to ready from top to bottom, once you see the first instance mentioning a file that you've written, you should probably try to solve from there. Debug symbols (they are required to receive backtraces) are enabled by default when using cargo build or cargo run without the --release flag. Recoverable Errors with Result Result is an enum, that considers two possible outcomes: success (Ok(T)) or failure (Err(E)). enum Result { Ok(T), Err(E),\n} Handling recoverable errors using the match expression. use std::fs::File; fn main() { let f = File::open(\"hello.txt\"); let f = match f { Ok(file) => file, // Handling Success Err(error) => panic!(\"Problem opening the file: {:?}\", error), // Handling Failure };\n} Matching on different errors: use std::fs::File;\nuse std::io::ErrorKind; fn main() { let f = File::open(\"hello.txt\"); // Match on File, whether it gets opened or not let f = match f { Ok(file) => file, // If file not found, then create a new file and transfer file handle, // this error is part of io::ErrorKind, which was found using error.kind() Err(error) => match error.kind() { // In case we receive ErrorKind::NotFound, we'll apply // match again to check whether creation of file, fails or succeeds ErrorKind::NotFound => match File::create(\"hello.txt\") { Ok(fc) => fc, Err(e) => panic!(\"Problem creating the file: {:?}\", e), }, other_error => { panic!(\"Problem opening the file: {:?}\", other_error) } }, };\n} In case you don't like using a lot of match statements (refer above example), you may use unwrap_or_else: use std::fs::File;\nuse std::io::ErrorKind; fn main() { let f = File::open(\"hello.txt\").unwrap_or_else(|error| { if error.kind() == ErrorKind::NotFound { File::create(\"hello.txt\").unwrap_or_else( |error| { panic!(\"Problem creating the file: {:?}\", error); } ) } else { panic!(\"Problem opening the file: {:?}\", error); } })\n} In case you want a shortcut, you may only use unwrap(). It either returns what's inside Ok(T), or panics in case of Err(E): use std::fs::File; fn main() { let f = File::open(\"hello.txt\").unwrap();\n} For those cases, when you want to send a panic message but only want to unwrap in one line, you may use expect: use std::fs::File; fn main() { let f = File::open(\"hello.txt\").expect(\"Failed to open hello.txt\"); // Same as unwrap but contains panic message\n} Propogating errors using the Result: use std::fs::File;\nuse std::io::{self, Read}; fn read_username_from_file() -> Result { let f = File::open(\"hello.txt\"); let mut f = match f { Ok(file) => file, Err(e) => return Err(e), // This is a std::io error type }; let mut s = String::new(); match f.read_to_string(&mut s) { Ok(_) => Ok(s), Err(e) => Err(e), // This is also a std::io error type }\n} The shortcut of above code can be done using ?. unwrap panics in case of Err(E), but this operator returns the error, same as the code above. // ? operator changes the error type to the mentioned\n// Error type in the fn declaration using the from implementation\nuse std::fs::File;\nuse std::io;\nuse std::io::Read; fn read_username_from_file() -> Result { let mut f = File::open(\"hello.txt\")?; let mut s = String::new(); f.read_to_string(&mut s)?; Ok(s)\n} It is possible to use the ? operator multiple times in a single line: use std::fs::File;\nuse std::io;\nuse std::io::Read; fn read_username_from_file() -> Result { let mut s = String::new(); File::open(\"hello.txt\")?.read_to_string(&mut s)?; Ok(s)\n} There's a Rust's official implementation of the functionality mentioned in the above code: use std::fs;\nuse std::io; fn read_username_from_file() -> Result { fs::read_to_string(\"hello.txt\")\n} The ? operator can only be used in the functions that has a return type of Result, Option, or another type that implements FromResidual: // FAIL: main() doensn't returns a Result<>\n// but the ? operator requires that\nuse std::fs::File; fn main() { let f = File::open(\"hello.txt\")?;\n} // It works with the Option\nfn last_char_of_first_line(text: &str) -> Option { text.lines().next()?.chars().last()\n} There's a way to use ? inside main(). The main() either returs 0 on success or other integer on failure. Also, it's possible to return : use std::error::Error;\nuse std::fs::File; fn main() -> Result<(), Box> { let f = File::open(\"hello.txt\")?; Ok(())\n} Differences between unwrap, unwrap_or, and ? operator Property unwrap expect unwrap_or ? operator Error Handling Panics Panics with the given message Executes code inside it's parantheses Returns error Can be used on Result :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: Can be used on Option :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: Function return type to be same as wrapped item :x: :x: :x: :heavy_check_mark: Note: You can only use the ? operator on a Result in a function that returns Result, and you can use the ? operator on an Option in a function that returns Option. To panic! or Not to panic! When to use Result When panic! is called, there is no way to recover the program, so if there is a slightest possiblity to recover the program, it's recommended to use that instead of panic!. Always try to prevent converting a recoverable error into an unrecoverable one. Hence, always prefer Result over panic!. The unwrap and expect methods are very handy when prototyping, and if you want to make your program more robust, you may add better error handling. When to use panic! In case you want your test to fail in certain cases, even if a certain fn is not exactly what the test is for, it's better to panic! in those situations. It’s advisable to have your code panic when it’s possible that your code could end up in a bad state. The bad state is something that is unexpected, as opposed to something that will likely happen occasionally, like a user entering data in the wrong format. You don't want to carry this bad state throughout the program and instead would prefer it to end through panic!. If someone calls your code and passes in values that don’t make sense, the best choice might be to call panic! and alert the person using your library to the bug in their code so they can fix it during development. Similarly, panic! is often appropriate if you’re calling external code that is out of your control and it returns an invalid state that you have no way of fixing. When your code performs operations on values, your code should verify the values are valid first and panic if the values aren’t valid. This is mostly for safety reasons: attempting to operate on invalid data can expose your code to vulnerabilities. However, having lots of error checks in all of your functions would be verbose and annoying. Fortunately, you can use Rust’s type system (and thus the type checking the compiler does) to do many of the checks for you. If your function has a particular type as a parameter, you can proceed with your code’s logic knowing that the compiler has already ensured you have a valid value. For example, if you have a type rather than an Option, your program expects to have something rather than nothing. Another example is using an unsigned integer type such as u32, which ensures the parameter is never negative. When to call unwrap() In case you exactly know that the code won't panic!, then it's better to use unwrap(), and stop caring about the other possibilities. Here's an Example: use std::net::IpAddr; // Compile isn't smart enough to see this string is a valid IP address\n// but we are\nlet home: IpAddr = \"127.0.0.1\".parse().unwrap();","breadcrumbs":"Project Structuring and Error Handling » Error Handling » Error Handling","id":"46","title":"Error Handling"},"47":{"body":"This section will cover the functional programming features like closures and iterators. Also, it'll talk about how you can perform Object Oriented Programming in Rust. It'll also talk about other features like generics, traits and lifetimes etc.","breadcrumbs":"Medium Concepts » Medium Concepts","id":"47","title":"Medium Concepts"},"48":{"body":"Generics are used to prevent the duplication of concepts and are generalized over a type. Some examples of generics are Result, Option, Vec, and HashMap. Possible Use Cases: You can define an enum or struct which can accomodate different data types. You can define a function which can provide same functionality for different types. For Example, finding the largest element inside a vector of numbers or chars. In Rust, declaring generics aren't any slower than using concrete types, because it uses a process called Monomorphization to achieve that. Monomorphization is the process of turning generic code into specific code by filling in the concrete types that are used when compiled. Generics on structs To create a generic struct: // We used type T to make the struct generic\n// so that it can accomodate any type\nstruct Point { x: T, y: T,\n} fn main() { let integer = Point { x: 5, y: 10 }; let float = Point { x: 1.0, y: 4.0 }; // FAIL: First is i32 and the other is f32, hence different types. let wont_work = Point { x: 5, y: 4.0 };\n} To make the wont_work to work fine, we'll need to change the code as follows: struct Point { x: T, y: U,\n} fn main() { let integer = Point { x: 5, y: 10 }; let float = Point { x: 1.0, y: 4.0 }; let will_work = Point { x: 5, y: 4.0 };\n} Generics on Enums The Option enum: enum Option { Some(T), None\n} The Result enum uses two types: enum Result { Ok(T), Err(E),\n} Generics on Functions To use generics on impl blocks: struct Point { x: T, y: T,\n} // By using T after impl means that\nimpl Point { fn x(&self) -> &T { &self.x }\n} // impl for just one concrete type\nimpl Point { fn distance_from_origin(&self) -> f32 { (self.x.powi(2) + self.y.powi(2)).sqrt() }\n} fn main() { let p = Point { x: 5, y: 10 }; println!(\"p.x = {}\", p.x());\n} To use on impl on different types: struct Point { x: X1, y: Y1,\n} impl Point { fn mixup(self, other: Point) -> Point { Point { x: self.x, y: other.y, } }\n} fn main() { let p1 = Point { x: 5, y: 10.4 }; let p2 = Point { x: \"Hello\", y: 'c' }; let p3 = p1.mixup(p2); println!(\"p3.x = {}, p3.y = {}\", p3.x, p3.y);\n}","breadcrumbs":"Medium Concepts » Generics » Generics","id":"48","title":"Generics"},"49":{"body":"A trait tells the Rust compiler about functionality a particular type has and can share with other types. They are similar to the interfaces in other languages. They are used to define the method signature. You may define the code implementations inside the impl block of the types that implement that trait. It is also possible to define a default implementation and then override it in impl block. Use cases: For example, you're creating a library that wants to summarize an article or a tweet. We want to implement this shared functionality. We can define a trait to define the interface of this functionality. pub trait Summary { fn summarize(&self) -> String;\n} Now each type implementing this trait must provide its own custom behavior for the body of the method. Implementing a trait Implementing trait on different types pub struct NewsArticle { pub headline: String, pub location: String, pub author: String, pub content: String,\n} impl Summary for NewsArticle { fn summarize(&self) -> String { format!(\"{}, by {} ({})\", self.headline, self.author, self.location) }\n} pub struct Tweet { pub username: String, pub content: String, pub reply: bool, pub retweet: bool,\n} impl Summary for Tweet { fn summarize(&self) -> String { format!(\"{}: {}\", self.username, self.content) }\n} Using types that implements trait: // You'll require to pull both trait along with the desired type\nuse aggregator::{Summary, Tweet}; fn main() { let tweet = Tweet { username: String::from(\"horse_ebooks\"), content: String::from( \"of course, as you probably already know, people\", ), reply: false, retweet: false, }; println!(\"1 new tweet: {}\", tweet.summarize());\n} Restrictions One restriction to note with trait implementations is that we can implement a trait on a type only if at least one of the trait or the type is local to our crate. For example, we can implement standard library traits like Display on a custom type like Tweet as part of our aggregator crate functionality, because the type Tweet is local to our aggregator crate. But we can’t implement external traits on external types. For example, we can’t implement the Display trait on Vec within our aggregator crate, because Display and Vec are defined in the standard library and aren’t local to our aggregator crate. This restriction is part of a property of programs called coherence , and more specifically the orphan rule , so named because the parent type is not present. This rule ensures that other people’s code can’t break your code and vice versa. Default Implementations We can define a default implementation by adding code inside the method signatures of traits. pub trait Summary { fn summarize(&self) -> String { String::from(\"(Read more...)\") }\n} To use default implementation on a type, we can do that by using empty braces {}. impl Summary for NewsArticle {} It is possible to keep a trait with a mix of method signatures and method signatures with default implementations. pub trait Summary { fn summarize_author(&self) -> String; fn summarize(&self) -> String { format!(\"(Read more from {}...)\", self.summarize_author()) }\n} Now we only need to require to define summarize_author method inside the impl block of the type that's implementing the trait. impl Summary for Tweet { fn summarize_author(&self) -> String { format!(\"@{}\", self.username) } // We do not require to define the summarize() method // as we can use the trait's default implementation\n} Note: Calling the default implementation from an overriding implementation won't work. Traits as Paramteres You can define the type of parameters of a function as a trait. Then, you can pass any type that implements the specified trait. Here's the syntax for that: pub fn notify(item: &impl Summary) { println!(\"Breaking news! {}\", item.summarize());\n} Code that calls the function with any other type, such as a String or an i32, won’t compile because those types don’t implement Summary. The above syntax is the simpler version of this original syntax, known as \" trait bound syntax \": pub fn notify(item: &T) { println!(\"Breaking news! {}\", item.summarize());\n} It is possible to use this syntax like this: pub fn notify(item1: &T, item2: &T) { It is possible to define multiple trait bounds for a single parameter: // In both these cases, item must be a type that\n// implements both traits Summary and Display // Method 1 ->\npub fn notify(item: &(impl Summary + Display)) { // Method 2 ->\npub fn notify(item: &T) { You can use where clause to declutter the signature. For Example: fn some_function(t: &T, u: &U) -> i32 where T: Display + Clone, U: Clone + Debug\n{ Similar to function parameters, it is possible to return types that implements traits: // Signature says that it'll return any type that implements the trait Summary\nfn returns_summarizable() -> impl Summary { // Tweet is some type that implements Summary Tweet { username: String::from(\"horse_ebooks\"), content: String::from( \"of course, as you probably already know, people\", ), reply: false, retweet: false, }\n} However, you can only use impl Trait if you’re returning a single type. For example: // FAIL: Either return NewsArticle or Tweet (only one type that implements Summary)\nfn returns_summarizable(switch: bool) -> impl Summary { if switch { NewsArticle { ... } } else { Tweet { ... } }\n} Finding the largest character of an array of integer or an array of characters using generics and traits: // Generic is used as we defined T in the signature, allowing any type to pass\n// Trait bound is specified as PartialOrd is added to the signature, allowing any type that allows comparison, and copy (both i32 and char do)\nfn largest(list: &[T]) -> T { let mut largest = list[0]; for &item in list { if item > largest { largest = item; } } largest\n} fn main() { let number_list = vec![34, 50, 25, 100, 65]; let result = largest(&number_list); println!(\"The largest number is {}\", result); let char_list = vec!['y', 'm', 'a', 'q']; let result = largest(&char_list); println!(\"The largest char is {}\", result);\n} Using Trait Bounds to Conditionally Implement Methods: use std::fmt::Display; struct Pair { x: T, y: T,\n} impl Pair { fn new(x: T, y: T) -> Self { Self { x, y } }\n} // cmp_display will only run on types bounded by traits Display and PartialOrd, hence works conditionally\nimpl Pair { fn cmp_display(&self) { if self.x >= self.y { println!(\"The largest member is x = {}\", self.x); } else { println!(\"The largest member is y = {}\", self.y); } }\n}","breadcrumbs":"Medium Concepts » Traits » Traits","id":"49","title":"Traits"},"5":{"body":"","breadcrumbs":"Basics of Rust » Variables and Mutability » Variables and Mutability","id":"5","title":"Variables and Mutability"},"50":{"body":"Fun Fact: The developers who are programming Rust are constantly programming the patterns into the compiler’s code so the borrow checker could infer the lifetimes in some situations and wouldn’t need explicit annotations. These patterns programmed into Rust’s analysis of references are called the lifetime elision rules . Thus, making lifetimes easier to use day by day. Lifetime is a way to specify how long the multiple references will live. So, it doesn't make sense to add lifetime to just one reference, they must be multiple. Ways to add lifetime specifiers: &i32 // a reference\n&'a i32 // a reference with an explicit lifetime\n&'a mut i32 // a mutable reference with an explicit lifetime Note: We'll may or may not use lifetimes only when we're dealing with references. For example, let’s say we have a function with the parameter first that is a reference to an i32 with lifetime 'a. The function also has another parameter named second that is another reference to an i32 that also has the lifetime 'a. The lifetime annotations indicate that the references first and second must both live as long as that generic lifetime. Every reference in Rust has a lifetime . Here's an exmple of dangling reference: // FAIL: Rust prevents dangling references { let r; // ---------+-- 'a // | { // | let x = 5; // -+-- 'b | r = &x; // | | } // -+ | <- x dies but r stores reference of x, hence r stores a dangling referece // | println!(\"r: {}\", r); // | } // ---------+ Rust won't compile the above code, as it uses a borrow checker, to verify whether a reference or borrow is valid or not. We may fix it by fixing the lives of variables by declaring them at different places: { let x = 5; // ----------+-- 'b // | let r = &x; // --+-- 'a | // | | println!(\"r: {}\", r); // | | // --+ | } // ----------+ This code will not compile, it'll require lifetime specifiers: // FAIL: Rust can’t tell whether the reference being returned refers to x or y.\nfn longest(x: &str, y: &str) -> &str { if x.len() > y.len() { x } else { y }\n} // Compiler will ask us to rewrite the signature like this\nfn longest<'a>(x: &'a str, y: &'a str) -> &'a str {\n// Lifetimes on function or method parameters are called input lifetimes, and lifetimes on return values are called output lifetimes. The reason why Rust asks us to specify the lifetimes are due to these reasons: We don’t know whether the if case or the else case will execute. We also don’t know the concrete lifetimes of the references that will be passed in. When we add the lifetime specifiers as specified by the compiler, it means, the generic lifetime 'a will get the concrete lifetime that is equal to the smaller of the lifetimes of x and y (the variables passed in). Note: Remember, when we specify the lifetime parameters in this function signature, we’re not changing the lifetimes of any values passed in or returned. Rather, we’re specifying that the borrow checker should reject any values that don’t adhere to these constraints. Note that the longest function doesn’t need to know exactly how long x and y will live, only that some scope can be substituted for 'a that will satisfy this signature. How borrow checker will allow: // Works: result is valid until the inner scope ends, string2 and string1 are valid too, hence borrow checker allows\nfn main() { let string1 = String::from(\"long string is long\"); { let string2 = String::from(\"xyz\"); let result = longest(string1.as_str(), string2.as_str()); println!(\"The longest string is {}\", result); }\n} // FAILS: The way we've specified lifetimes, result should have a shorter lifetime, equivalent to that of string2. Since, the code doesn't follows the rule, it fails.\nfn main() { let string1 = String::from(\"long string is long\"); let result; { let string2 = String::from(\"xyz\"); result = longest(string1.as_str(), string2.as_str()); } println!(\"The longest string is {}\", result);\n} In the second case, this is the error that the compiler will throw: |\n6 | result = longest(string1.as_str(), string2.as_str()); | ^^^^^^^^^^^^^^^^ borrowed value does not live long enough\n7 | } | - `string2` dropped here while still borrowed\n8 | println!(\"The longest string is {}\", result); | ------ borrow later used here The below code will not compile because even though we’ve specified a lifetime parameter 'a for the return type, this implementation will fail to compile because the return value lifetime is not related to the lifetime of the parameters at all. fn longest<'a>(x: &str, y: &str) -> &'a str { let result = String::from(\"really long string\"); result.as_str()\n} The compiler will throw this error, since Rust will prevent us from creating dangling reference. --> src/main.rs:11:5 |\n11 | result.as_str() | ^^^^^^^^^^^^^^^ returns a reference to data owned by the current function In this case, the best fix would be to return an owned data type rather than a reference so the calling function is then responsible for cleaning up the value. Rust is improving day by day to not require programmers to use lifetimes in some places. For Example: // Even though we're dealing with references in functions,\n// compiler won't ask us to specify lifetimes, it's because\n// rust devs improved the rust compiler so that the borrow\n// checker need not to not ask for lifetimes in this case\nfn first_word(s: &str) -> &str { let bytes = s.as_bytes(); for (i, &item) in bytes.iter().enumerate() { if item == b' ' { return &s[0..i]; } } &s[..]\n} // In earlier version (pre-1.0), the signature would've looked like this\nfn first_word<'a>(s: &'a str) -> &'a str { Rules of lifetimes There are 3 rules that compiler follows to verify whether lifetimes are valid or not. First Rule: Each parameter that is a reference gets its own lifetime parameter. A function with one parameter gets one lifetime parameter: fn foo<'a>(x: &'a i32); A function with two parameters gets two separate lifetime parameters: fn foo<'a, 'b>(x: &'a i32, y: &'b i32); and so on. Second Rule: If there is exactly one input lifetime parameter, that lifetime is assigned to all output lifetime parameters. For Example, fn foo<'a>(x: &'a i32) -> &'a i32. There was only one parameter, hence one lifetime for inputs, so the same lifetime was assigned to the output. Third Rule: If there are multiple input lifetime parameters, but one of them is &self or &mut self because this is a method, the lifetime of self is assigned to all output lifetime parameters. This third rule makes methods much nicer to read and write because fewer symbols are necessary. Please note that this rule only applies to methods (functions that uses self), and not to simple functions. You can read in detail about How compiler automatically applies lifetimes and the about the rules of lifetimes in Lifetime Elision . Lifetimes in Structs and Methods Lifetimes in struct. It’s possible for structs to hold references, but in that case we would need to add a lifetime annotation on every reference in the struct’s definition. struct ImportantExcerpt<'a> { // Since, string slice is a referece, we added lifetime, such that field part and struct lives together part: &'a str,\n} fn main() { let novel = String::from(\"Call me Ishmael. Some years ago...\"); let first_sentence = novel.split('.').next().expect(\"Could not find a '.'\"); let i = ImportantExcerpt { part: first_sentence, };\n} Lifetimes in impl blocks: // The lifetime parameter declaration after impl and its use after the type name are required,\n// but we’re not required to annotate the lifetime of the reference to self because of the first elision rule.\nimpl<'a> ImportantExcerpt<'a> { // No need to apply in the method below due to the first elision rule fn level(&self) -> i32 { 3 } // No need to apply in the method below due to the third elision rule fn announce_and_return_part(&self, announcement: &str) -> &str { println!(\"Attention please: {}\", announcement); self.part }\n} The static lifetime The 'static is a lifetime which means that this reference can live for the entire duration of the program. All string literals have the 'static lifetime. You may use it as shown in the code below: let s: &'static str = \"I have a static lifetime.\"; Note: You might see suggestions to use the 'static lifetime in error messages. But before specifying 'static as the lifetime for a reference, think about whether the reference you have actually lives the entire lifetime of your program or not. You might consider whether you want it to live that long, even if it could. Most of the time, the problem results from attempting to create a dangling reference or a mismatch of the available lifetimes. In such cases, the solution is fixing those problems, not specifying the 'static lifetime.","breadcrumbs":"Medium Concepts » Lifetimes » Lifetimes","id":"50","title":"Lifetimes"},"51":{"body":"You may consider the code below, it prints the type (they type T can be filled with any type that implements Display trait), also it returns the longest string slice. // Generic Type: T\n// Trait Bounds: Display\n// Lifetime: 'a\nuse std::fmt::Display; // Because lifetimes are a type of generic, the declarations of\n// the lifetime parameter 'a and the generic type parameter T go\n// in the same list inside the angle brackets after the function name.\nfn longest_with_an_announcement<'a, T>( x: &'a str, y: &'a str, ann: T,\n) -> &'a str\nwhere T: Display,\n{ println!(\"Announcement! {}\", ann); if x.len() > y.len() { x } else { y }\n}","breadcrumbs":"Medium Concepts » Lifetimes » Generic Type Parameters, Trait Bounds, and Lifetimes Together","id":"51","title":"Generic Type Parameters, Trait Bounds, and Lifetimes Together"},"52":{"body":"Fun Fact: The implementations of closures and iterators are such that runtime performance is not affected. It means as if you've written to an optimized low level code, like in Assembly Language. This is part of Rust’s goal to strive to provide zero-cost abstractions . Programming in a functional style often includes using functions as values by passing them in arguments, returning them from other functions, assigning them to variables for later execution, and so forth. Specifically, functional programming includes: Closures : A function-like construct you can store in a variable. Iterators : A way of processing a series of elements. Closures They are \"Anonymous Functions that Can Capture Their Environment\". An example of closure: let expensive_closure = |num| { println!(\"calculating slowly...\"); thread::sleep(Duration::from_secs(2)); num\n}; Why closures don't require type annotations, but functions (fn) do? Type annotations are required on functions because they’re part of an explicit interface exposed to your users. Defining this interface rigidly is important for ensuring that everyone agrees on what types of values a function uses and returns. But closures aren’t used in an exposed interface like this: they’re stored in variables and used without naming them and exposing them to users of our library. In case, we still want to explicitly define type annotations, we can do it by: let expensive_closure = |num: u32| -> u32 { println!(\"calculating slowly...\"); thread::sleep(Duration::from_secs(2)); num\n}; Comparisons for Functions and closures syntax: fn add_one_v1 (x: u32) -> u32 { x + 1 }\nlet add_one_v2 = |x: u32| -> u32 { x + 1 };\nlet add_one_v3 = |x| { x + 1 };\nlet add_one_v4 = |x| x + 1 ; Closures will always have only one concrete type: // FAIL: Closure inferred two different types of x, which is against the rules\nlet example_closure = |x| x; let s = example_closure(String::from(\"hello\"));\nlet n = example_closure(5); Performing memoization or lazy evaluation : We can create a struct that will hold the closure and the resulting value of calling the closure. The struct will execute the closure only if we need the resulting value, and it will cache the resulting value so the rest of our code doesn’t have to be responsible for saving and reusing the result. All closures implement at least one of the traits: Fn, FnMut, or FnOnce. Using this information, we can create a Cacher // Cacher will store a closure inside calculation\n// and the computed value inside value\nstruct Cacher\nwhere T: Fn(u32) -> u32,\n{ calculation: T, value: Option,\n} The use of the memoization is that, we can store the closure, that contains computation which takes very long time to finish. Then we can save it's computed value inside the struct, so that we can reuse to computation (thereby preventing expensive computation again and again), as well as update the computed value whenever necessary. We'll need to write an implementation block to make the Cacher easier to use: impl Cacher\nwhere T: Fn(u32) -> u32,\n{ fn new(calculation: T) -> Cacher { Cacher { calculation, value: None } } fn value(&mut self, arg: u32) -> u32 { match self.value { Some(v) => v, None => { let v = (self.calculation)(arg); self.value = v; v } } }\n} The only limitation of this Cacher is that it assumes that, it'll only receive one value, that means even if we call the value() function multiple with different arguments, it'll still return the same value every time and that value will be the computed value when the closure was called for the first time. Here's the explanation: let mut c = Cacher::new(|a| a); let v1 = c.value(1); // v1 = 1\nlet v2 = c.value(2); // v2 = 1\nlet v3 = c.value(3); // v3 = 1 So, here is a better version of the above cacher that can memorize all the arguments and their computed value inside a HashMap, which is also generic. You may refer it's implementation over here . Capturing the Environmet with closures: You can't don the following thing using simple functions: // FAIL: Functions can't capture their environment, hence x shouldn't live inside the function\nfn main() { let x = 4; fn equal_to_x(z: i32) -> bool { z == x } let y = 4; assert!(equal_to_x(y));\n} But, you can easliy do this using closure: fn main() { let x = 4; let equal_to_x = |z| z == x; let y = 4; assert!(equal_to_x(y));\n} Closures can capture values from their environment in three ways, which directly map to the three ways a function can take a parameter: taking ownership, borrowing mutably, and borrowing immutably. These are encoded in the three Fn traits as follows: FnOnce consumes the variables it captures from its enclosing scope, known as the closure’s environment. To consume the captured variables, the closure must take ownership of these variables and move them into the closure when it is defined. The Once part of the name represents the fact that the closure can’t take ownership of the same variables more than once, so it can be called only once. FnMut can change the environment because it mutably borrows values. Fn borrows values from the environment immutably. When you create a closure, Rust infers which trait to use based on how the closure uses the values from the environment. All closures implement FnOnce because they can all be called at least once. Closures that don’t move the captured variables also implement FnMut, and closures that don’t need mutable access to the captured variables also implement Fn. In Listing 13-12, the equal_to_x closure borrows x immutably (so equal_to_x has the Fn trait) because the body of the closure only needs to read the value in x. If you want to force the closure to take ownership of the values it uses in the environment, you can use the move keyword before the parameter list. This technique is mostly useful when passing a closure to a new thread to move the data so it’s owned by the new thread. The move closures may still implement Fn or FnMut, even though they capture variables by move. This is because the traits implemented by a closure type are determined by what the closure does with captured values, not how it captures them. The move keyword only specifies the latter. An example of move: // FAIL: We tried to print x even though it is moved inside closure\nfn main() { let x = vec![1, 2, 3]; let equal_to_x = move |z| z == x; println!(\"can't use x here: {:?}\", x); let y = vec![1, 2, 3]; assert!(equal_to_x(y));\n} Most of the time when specifying one of the Fn trait bounds, you can start with Fn and the compiler will tell you if you need FnMut or FnOnce based on what happens in the closure body. Iterators Iterators are lazy in rust, meaning they have no effect until you call methods that consume the iterator to use it up. let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); // It won't do anything useful until called upon for val in v1_iter { // Now, the iterator is called upon and used println!(\"Got: {}\", val);\n} To just get the next element stored in iterator: let v1 = vec![1, 2, 3]; // Calling the next() method changes the state of iterator,\n// hence we'll need to use mut in this case\nlet mut v1_iter = v1.iter(); assert_eq!(v1_iter.next(), Some(&1));\nassert_eq!(v1_iter.next(), Some(&2));\nassert_eq!(v1_iter.next(), Some(&3));\nassert_eq!(v1_iter.next(), None); Why is it required to use mut when using next(), but not when using for loop? next() - Each call to next eats up an item from the iterator. Hence, we need to define it as mut to be able to do that. for - The loop takes ownership of the iterator and made it mutable behind the scenes. Hence, we don't need to use mut there. Difference between iter, into_iter, and iter_mut They all return iterator, except the way they return differs. Here are the differences: into_iter: It yields any of T, &T or &mut T, depending on the context. iter: It yields &T. iter_mut: It yields &mut T. For more details refer to this stackoverflow answer . Consuming Adaptors: Some methods inside Iterator trait uses next(). It means those functions will also eat away the iterator, just like how next() does. Here's an example: let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); let total: i32 = v1_iter.sum(); // sum() uses the next() and hence will eat away the iterator Iterator Adaptors: Some methods inside Iterator allows you to change iterators into different kinds of iterators. It is also possible to use Iterator, Enumerator, Map, and Filter together. Rust has these functions inside the Iterator Trait. let v1: Vec = vec![0, 1, 2, 3, 4, 5];\nlet iterator = v1.iter() .enumerate() .filter(|(i, val)| i % 2 == 0) .map(|(i, val)| val); // On it's own it won't do anything, because iterators are lazy // You can either print them one by one using for loop (remember it'll consume the iterator)\nfor val in iterator { println!(\"{}\", val);\n} // Or you can collect them inside a vector, make sure you explicitly specify the type (`Vec<_>`) too.\nlet new_vector: Vec<_> = iterator.collect();\nprintln!(\"New Vector: {:?}\") Creating your own iterator: You'll need to implement Iterator trait on your type. You'll only need to define one function, that is next(), it'll be sufficient. struct Counter { count: u32,\n} impl Counter { fn new() -> Self { Self { count: 0, } }\n} impl Iterator for Counter { type Item = u32; fn next(&mut self) -> Option { if self.count < 5 { self.count += 1; Some(self.count) } else { None } }\n} fn main() { let counter = Counter::new(); for val in counter { println!(\"{:?}\", val); } // Since we have next() method we can use any default implementation of the Iterator trait let sum: u32 = Counter::new() .zip(Counter::new().skip(1)) // Skips first element only and generate pairs { (1,2) (2,3) (3,4) (4,5) } because (5,None) is ignored .map(|(a, b)| a * b) // [2, 6, 12, 20] .filter(|x| x % 3 == 0) // [6, 12] .sum(); // 18\n} Which is faster, for loop or iterator adapters? Here are the benchmarks: test bench_search_for ... bench: 19,620,300 ns/iter (+/- 915,700)\ntest bench_search_iter ... bench: 19,234,900 ns/iter (+/- 657,200) Iterators, although a high-level abstraction, get compiled down to roughly the same code as if you’d written the lower-level code yourself. Iterators are one of Rust’s zero-cost abstractions, which means that using the abstraction imposes no additional runtime overhead.","breadcrumbs":"Medium Concepts » Functional Language Features » Functional Language Features","id":"52","title":"Functional Language Features"},"53":{"body":"Differences between Pointer and Smart Pointer: Pointer Smart Pointer A pointer is a general concept for a variable that contains an address in memory. Smart pointers, on the other hand, are data structures that not only act like a pointer but also have additional metadata and capabilities. References are pointers that only borrow data. Smart pointers own the data they point to. The most common kind of pointer in Rust is a reference and is indicated by &. The commonly used smart pointers are String and Vec. Smart pointers are usually implemented using structs. The characteristic that distinguishes a smart pointer from an ordinary struct is that smart pointers implement the Deref and Drop traits. Deref: Allows an instance of the smart pointer struct to behave like a reference so you can write code that works with either references or smart pointers. Drop: Allows you to customize the code that is run when an instance of the smart pointer goes out of scope. Box For allocating values on Heap. Box allows you to store data on heap and the pointer to the heap data on stack . You’ll use them most often in these situations: When you have a type whose size can’t be known at compile time and you want to use a value of that type in a context that requires an exact size When you have a large amount of data and you want to transfer ownership but ensure the data won’t be copied when you do so When you want to own a value and you care only that it’s a type that implements a particular trait rather than being of a specific type Once Box goes out of scope, the deallocation happens for the box (stored on the stack) and the data it points to (stored on the heap). Using Box for the recursive call: Let's try to create an enum which will create it's variant recursively: // FAIL: While computing Size for Cons, Rust will detect an inifinite memory allocation\nenum List { Cons(i32, List), Nil,\n} use crate::List::{Cons, Nil}; fn main() { let list = Cons(1, Cons(2, Cons(3, Nil)));\n} When Rust will try to recognize the size, it'll recognize that it is an infinite loop: Now, to make it easier for Rust to identify the size of enum at compile time, we can use Box for the recursive call. Since Box is a pointer, Rust will need not to find the size what's inside of it, instead just allocate the memory for it's pointer. enum List { Cons(i32, Box), Nil,\n} use crate::List::{Cons, Nil}; fn main() { let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil))))));\n} Conceptually, we still have a list, created with lists “holding” other lists, but this implementation is now more like placing the items next to one another rather than inside one another. Since Box implements the Deref trait, so you can use the * operator to dereference it. Deref Trait Note that the * operator is replaced with a call to the deref method and then a call to the * operator. It means that *y, translates into: *(y.deref()) We're trying to re-create Box and it's capabilities to dereference itself. One important thing to notice, here we're only mimicing the dereferencing because the data doesn't actually get stored on heap. use std::ops::Deref; struct MyBox(T); impl MyBox { fn new(x: T) -> MyBox { MyBox(x) }\n} impl Deref for MyBox { type Target = T; fn deref(&self) -> &Self::Target { &self.0 }\n} Deref Coercion Deref coercion can convert &String to &str. It's possible because String implements the Deref trait such that it returns &str. They are meant for the arguments of functions and methods. The ease is that, you can pass &String into a function that accepts &str: fn hello(name: &str) { println!(\"Hello, {}!\", name);\n} fn main() { let name = String::from(\"Bob\"); hello(&name);\n} Deref coercion was added to Rust so that programmers writing function and method calls don’t need to add as many explicit references and dereferences with & and *. How does Rust automatically converts &String to &str? It happens because Deref trait is implemented. Rust simplifies all the deref implementations. Here's an even complex example of deref coercion, using the MyBox, that we created earlier: Instead of calling this: fn main() { let m = MyBox::new(String::from(\"Rust\")); hello(&(*m)[..]);\n} Here we are manually converting: (*m) => MyBox -> String\n[..] => String -> str\n& => str -> &str We can just call this: fn main() { let m = MyBox::new(String::from(\"Rust\")); hello(&m);\n} Rust simplifies the deref implementations by calling the deref() again and again. First It'll call deref() for MyBox then for String. &MyBox -> &String -> &str Note: When the Deref trait is defined for the types involved, Rust will analyze the types and use Deref::deref as many times as necessary to get a reference to match the parameter’s type. The number of times that Deref::deref needs to be inserted is resolved at compile time, so there is no runtime penalty for taking advantage of deref coercion! Rust does deref coercion when it finds types and trait implementations in three cases: From &T to &U when T: Deref From &mut T to &mut U when T: DerefMut From &mut T to &U when T: Deref Note: The first case states that if you have a &T, and T implements Deref to some type U, you can get a &U transparently. the second case is similar. The third case is a bit different as mutable reference changes into immutable reference, though vice versa is not true. Drop Trait In Rust, you can specify that a particular bit of code be run whenever a value goes out of scope, and the compiler will insert this code automatically. As a result, you don’t need to be careful about placing cleanup code everywhere in a program that an instance of a particular type is finished with—you still won’t leak resources! struct CustomSmartPointer { data: String,\n} impl Drop for CustomSmartPointer { fn drop(&mut self) { println!(\"Dropping CustomSmartPointer with data `{}`!\", self.data); }\n} fn main() { let c = CustomSmartPointer { data: String::from(\"my stuff\"), }; let d = CustomSmartPointer { data: String::from(\"other stuff\"), }; println!(\"CustomSmartPointers created.\");\n}\n// Output -\n// CustomSmartPointers created.\n// Dropping CustomSmartPointer with data `other stuff`!\n// Dropping CustomSmartPointer with data `my stuff`! Notice that, variables are dropped in the reverse order, d was dropped before c. There might be some cases when you want to manually drop the Smart Pointer, instead of waiting for the scope to end. For example, you want to release the lock so that other code in the same scope can acquire the lock. First thing is that, you can't call the drop() from the Drop trait. // FAIL: This is not allowed in Rust, compiler will throw \"explicit destructor calls not allowed\"\nfn main() { let c = CustomSmartPointer { data: String::from(\"some data\"), }; println!(\"CustomSmartPointer created.\"); c.drop(); println!(\"CustomSmartPointer dropped before the end of main.\");\n} --> src/main.rs:16:7 |\n16 | c.drop(); | --^^^^-- | | | | | explicit destructor calls not allowed | help: consider using `drop` function: `drop(c)` Compiler uses term destructor, which is the general programming term for a function that cleans up an instance. It is analogous to the word constructor. The reason that compiler doesn't allows us to do that, is to prevent the double free error . The alternative is to use drop() from std::mem::drop, good thing is it's already in the prelude, so you don't need to import it. fn main() { let c = CustomSmartPointer { data: String::from(\"some data\"), }; println!(\"CustomSmartPointer created.\"); drop(c); // Notice, we're passing it as an argument println!(\"CustomSmartPointer dropped before the end of main.\");\n} // Ouput -\n// CustomSmartPointer created.\n// Dropping CustomSmartPointer with data `some data`!\n// CustomSmartPointer dropped before the end of main. It solves the double free error through the ownership rules, as we pass it as an argument. Rc Also known as Reference Counted Smart Pointer , it allows multiple ownership. It does that by keeping the count of references. When the count becomes 0, it means that there are no references linked to data, so it's safe to clean. Imagine Rc as a TV in a family room. When one person enters to watch TV, they turn it on. Others can come into the room and watch the TV. When the last person leaves the room, they turn off the TV because it’s no longer being used. If someone turns off the TV while others are still watching it, there would be uproar from the remaining TV watchers! Use case: We want to allocate data on heap and we want multiple parts of our code to read it. The problem is that we don't know which part will stop reading it last, that's why we can't make someone as an owner. For those cases, Rc will help us, it'll save us from deciding someone as owner and will allow multiple parts to read it at the same time. With Rc it is possible to create two lists that both share ownership of a third list. Trying to do this with Box fails: enum List { Cons(i32, Box), Nil,\n} use crate::List::{Cons, Nil}; fn main() { let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); let b = Cons(3, Box::new(a)); let c = Cons(4, Box::new(a));\n} We can also use references with lifetimes to solve this problem, but Rc is better here. enum List { Cons(i32, Rc), Nil,\n} use crate::List::{Cons, Nil};\nuse std::rc::Rc; fn main() { let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); let b = Cons(3, Rc::clone(&a)); // Notice that we don't need to use Rc here, since no one will be owning b and c let c = Cons(4, Rc::clone(&a)); // Also notice that we're using Rc::clone() and passing reference to create owners\n} Rc::clone() never makes deep copy, unlike clone(). Rc::clone() only increments the reference count, which doesn’t take much time. To Increase Count: Rc::clone(), To Decrease Count: Drop does when the variable goes out of scope. Note: Rc can only allow multiple owners to read data and not to mutate it. For interior mutability there is another Smart Pointer named RefCell. RefCell Allows interior mutability to the immutable data. Interior mutability is a design pattern in Rust that allows you to mutate data even when there are immutable references to that data; normally, this action is disallowed by the borrowing rules. It uses unsafe rust code to function. An example: Consider one trait named Messanger and another struct named LimitTracker. pub trait Messenger { fn send(&self, msg: &str);\n} pub struct LimitTracker<'a, T: Messenger> { messenger: &'a T, value: usize;\n} impl<'a, T> LimitTracker<'a, T>\nwhere T: Messenger,\n{ pub fn new(messenger: &T, max: usize) -> LimitTracker { ... } pub fn set_value(&mut self, value: usize) { // Problem 1: We want mutable reference of self, but it includes immutable reference to messenger self.value = value; if (value > 100) { self.messenger.send(\"Error: You are over your quota!\"); // Problem 2: send() is an immutable function in trait, but self should be mutable. } }\n} LimitTracker takes in a reference of struct that implements Messenger, so that it can store it as one of it's field. Inside LimitTracker, the problem is that set_value() takes mutable reference of self, but the messenger is an immutable reference and it's function send is also immutable. So, how can we test this set_value()? This will fail to compile: // FAIL: send() is required to be mutable by LimitTracker but immutable due to trait Messenger\n#[cfg(test)]\nmod tests { use super::*; struct MockMessenger { sent_messages: Vec, } impl MockMessenger { fn new() -> MockMessenger { MockMessenger { sent_messages: vec![], // This is immutable } } } impl Messenger for MockMessenger { fn send(&self, message: &str) { // We're trying to push on immutbale field, we also can't make send() mutable self.sent_messages.push(String::from(message)); } } #[test] fn it_sends_an_over_75_percent_warning_message() { let mock_messenger = MockMessenger::new(); let mut limit_tracker = LimitTracker::new(&mock_messenger, 100); limit_tracker.set_value(80); assert_eq!(mock_messenger.sent_messages.len(), 1); }\n} Here's the solution using RefCell: #[cfg(test)]\nmod tests { use super::*; use std::cell::RefCell; struct MockMessenger { // RefCell will make sent_messages mutable even though // it's parent MockMessenger can seem immutable to others sent_messages: RefCell>, } impl MockMessenger { fn new() -> MockMessenger { MockMessenger { // Now, RefCell will wrap the vector and will allow it to be mutable // at places where it's parent is asked to be immutable sent_messages: RefCell::new(vec![]), } } } impl Messenger for MockMessenger { fn send(&self, message: &str) { // MockMessenger will seem immutable to send() but // sent_messages is mutable, and items can be pushed into it self.sent_messages.borrow_mut().push(String::from(message)); // borrow_mut() will generate mutable reference for push() } } #[test] fn it_sends_an_over_75_percent_warning_message() { // --snip-- assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); // borrow() will generate the immutable reference, since we're only reading }\n} We use the & and &mut syntax with references. With RefCell, we use the borrow() and borrow_mut() methods and they return Ref and RefMut respectively. They both implement Deref trait. RefCell lets us have many immutable borrows or one mutable borrow at any point in time. It keeps a count of whenever we call the borrow(). In case of an error, it won't be just a compile error, but will appear on Runtime, and will cause a panic. Differences between Box, Rc and RefCell Property Box Rc RefCell Ownership Single Ownership Multiple Ownership Single Ownership Mutability of Inner Data Immutable or Mutable Only Immutable Immutable or Mutable Borrowing Rules Check Compiled Time (compiler errors) Compiled Time (compiler errors) Runtime (panics at runtime) Multithreading Only for Single Threaded Scenarios Only for Single Threaded Scenarios Using RefCell with Rc It'll give you superpowers. Now you can have a value that has multiple owners and can also mutate. To use it, you'll have to wrap it like this, Rc>. Here's our modified Cons list: enum List { Cons(Rc>, Rc), Nil,\n} Now, we can have a list like this: b --| a---Nil\nc --| Here, a can have multiple owners b and c, and it's value can also mutate. fn main() { let value = Rc::new(RefCell::new(5)); // Created a value that can have multiple owners and can also mutate let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); // Make a such that it can be owned by multiple people let b = Cons(Rc::new(RefCell::new(3)), Rc::clone(&a)); // Make b the owner of a let c = Cons(Rc::new(RefCell::new(4)), Rc::clone(&a)); // Made c the owner of a *value.borrow_mut() += 10; // Rc -> RefCell -> &mut -> inner_element, then 10 is added to the inner_element in place println!(\"a after = {:?}\", a); // Value of a: Cons(RefCell { value: 15 }, Nil) println!(\"b after = {:?}\", b); // Value of b: Cons(RefCell { value: 3 }, Cons(RefCell { value: 15 }, Nil)) println!(\"c after = {:?}\", c); // Value of c: Cons(RefCell { value: 4 }, Cons(RefCell { value: 15 }, Nil))\n} Other Types to provide interior mutability: Cell: It copies the data instead of giving references. Mutex: It provides interior mutability that's safe to use in multiple threads. Memory Leak When we accidentally create memory that is never cleaned up is called Memory Leak . Rust’s memory safety guarantees make it difficult, but not impossible. Rust allows memory leaks by using Rc and RefCell. By using both of them together, it's possible to create a reference cycle . A reference cycle happens when reference of a is owned by b and reference of b is owned by a. First of all, this will cause an infinite loop of references. Also, it'll be impossible for Rust to Drop the values of a and b, as their reference count will never be zero. This is one of Rust's limitations, and is referred to the problem of Memory Leak . Reference Cycle in Action: use crate::List::{Cons, Nil};\nuse std::cell::RefCell;\nuse std::rc::Rc; #[derive(Debug)]\nenum List { Cons(i32, RefCell>), // We can replace the list in place now Nil\n} impl List { fn tail(&self) -> Option<&RefCell>> { match self { Cons(_, item) => Some(item), Nil => None, } }\n} fn main() { let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); // a = (5, Nil) let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); // b = (10, a) if let Some(link) = a.tail() { *link.borrow_mut() = b; // a = (5, b) } // At this point, Rc Count of a: 2, b: 2 // This will try to print the lists infinitely // and then will crash with the stack overflow error println!(\"a next item = {:?}\", a.tail());\n} // In case, we comment out the println!()\n// At the end of scope, Rust will try to decrease the count of references\n// Rc Count of b will decrease to 1\n// Rc Count of a will decrease to 1\n// Neither a nor b will be dropped as their count is not 0 and\n// will still stay on the heap, causing Memory Leak You may take help of this diagram to understand better: Important Lesson: You can't rely on Rust's memory safety while using RefCell and Rc together, or another combination with interior mutability, as it may cause the problem of Memory Leak . Solutions to prevent Reference Cycles: Use Automated tests, Code reviews, and other Software development practices to minimize. Reorganize data structure so that some references express ownership and some references don't. Strong Count Weak Count Rust will only drop an element if this count becomes zero. Rust will drop an element in case it gets out of scope, even if the count is not zero. Rc uses strong count. Weak uses weak count. It's hard to prevent reference cycle. It's easier to prevent reference cycle. Preventing Reference Cycle using Weak: use std::cell::RefCell;\nuse std::rc::{Rc, Weak}; #[derive(Debug)]\nstruct Node { value: i32, parent: RefCell>, // Child won't own it's parent children: RefCell>>,\n} fn main() { let leaf = Rc::new(Node { value: 3, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![]) }); let branch = Rc::new(Node { value: 5, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![Rc::clone(&leaf)]) }); // The downgrade() changes Rc -> Weak *leaf.parent.borrow_mut() = Rc::downgrade(&branch); // The upgrade() returns Some() or None, representing the value println!(\"Leaf parent: {:?}\", leaf.parent.borrow().upgrade());\n} The output will look like this: leaf parent = Some(Node { value: 5, parent: RefCell { value: (Weak) },\nchildren: RefCell { value: [Node { value: 3, parent: RefCell { value: (Weak) },\nchildren: RefCell { value: [] } }] } }) Notice, at some places only Weak is there, and the whole element is not printed. This is Rust's way of preventing infinite output. This lack of inifinite output, indicates that reference cycle is prevented. Here's another example, using the same struct to show how strong count and weak count will change: fn main() { let leaf = Rc::new(Node { value: 3, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![]), }); // leaf strong = 1, weak = 0 { let branch = Rc::new(Node { value: 5, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![Rc::clone(&leaf)]), }); // Since Rc is downgrading branch, branch's weak count will increase by 1 *leaf.parent.borrow_mut() = Rc::downgrade(&branch); // branch strong = 1, weak = 1 // leaf strong = 2, weak = 0 } // leaf strong = 1, weak = 0\n}","breadcrumbs":"Medium Concepts » Smart Pointers » Smart Pointers","id":"53","title":"Smart Pointers"},"54":{"body":"Difference between Concurrency and Parallel programming: Concurrent Programming Parallel Programming Where different parts of program execute independently. Where different parts of program execute at the same time. Using Threads OS manages multiple processes at once. An executed program's code is run in a process. You can write programs such that there are indpendent pieces of code that run simultaneously. The features that run these parts simultaneously are called threads . Threads can run simultaneously, there’s no inherent guarantee about the order in which parts of your code on different threads will run. This causes the following problems: Race conditions : Where threads are accessing data or resources in an inconsistent order. Deadlocks : Where two threads are waiting for each other to finish using a resource the other thread has, preventing both threads from continuing. Bugs : Hard to reproduce bugs, and only happens in certain situations. Many operating systems provide an API for creating new threads. This model where a language calls the operating system APIs to create threads is sometimes called 1:1 , meaning 1 OS Thread / 1 Language Thread . The rust standard library provides the implementation for only 1:1 . Creating a new thread with spawn: use std::thread;\nuse std::time::Duration; fn main() { thread::spawn(|| { for i in 1..10 { println!(\"hi number {} from the spawned thread\", i); thread::sleep(Duration::from_millis(1)); } }); for i in 1..5 { println!(\"hi number {} from the main thread\", i); thread::sleep(Duration::from_millis(1)); }\n} The output will be: hi number 1 from the main thread\nhi number 1 from the spawned thread\nhi number 2 from the main thread\nhi number 2 from the spawned thread\nhi number 3 from the main thread\nhi number 3 from the spawned thread\nhi number 4 from the main thread\nhi number 4 from the spawned thread\nhi number 5 from the spawned thread The spawned thread will automatically die as the main thread ends. That's why spawned thread ran 5 times, 4 times same as main thread and the 5th time, which is exectued to break the condition for the main thread's for loop condition. Which thread will execute first is not guaranteed, you may notice in our case, the main thread runs first, even though according to the code, the spawned thread should have ran first. In fact, there is not even a guarantee that this spwaned thread will even run at all. We can make sure that the spawned thread will definitely run and will execute completely, by using the join() use std::thread;\nuse std::time::Duration; fn main() { // Let's store the thread in a variable let handle = thread::spawn(|| { for i in 1..10 { println!(\"hi number {} from the spawned thread!\", i); thread::sleep(Duration::from_millis(1)); } }); for i in 1..5 { println!(\"hi number {} from the main thread!\", i); thread::sleep(Duration::from_millis(1)); } // This will make sure that the spawned thread // finishes before the main thread ends handle.join().unwrap();\n} The two threads will now continue alternating, but the main thread will wait because of the call to handle.join() and will not end until the spawned thread is finished. It is very important, where you call the handle.join(), as it may create an unexpected behaviour: use std::thread;\nuse std::time::Duration; fn main() { let handle = thread::spawn(|| { for i in 1..10 { println!(\"hi number {} from the spawned thread!\", i); thread::sleep(Duration::from_millis(1)); } }); handle.join().unwrap(); for i in 1..5 { println!(\"hi number {} from the main thread!\", i); thread::sleep(Duration::from_millis(1)); }\n} This will give us this output: hi number 1 from the spawned thread!\nhi number 2 from the spawned thread!\nhi number 3 from the spawned thread!\nhi number 4 from the spawned thread!\nhi number 5 from the spawned thread!\nhi number 6 from the spawned thread!\nhi number 7 from the spawned thread!\nhi number 8 from the spawned thread!\nhi number 9 from the spawned thread!\nhi number 1 from the main thread!\nhi number 2 from the main thread!\nhi number 3 from the main thread!\nhi number 4 from the main thread! So, make sure that you're calling the handle.join() to prevent undesired behaviour. When we use closure, Rust will infer that we want to only borrow the variable. use std::thread; fn main() { let v = vec![1, 2, 3]; // Notice, here v is only borrowed here, // it's possible that the closure may outlive // and v may die early, so Rust will throw us // error, and will ask us to use move let handle = thread::spawn(|| { println!(\"Here's a vector: {:?}\", v); }); handle.join().unwrap();\n} So, we need to expicitly add the move keyword, to tell Rust to transfer ownership of v to the closure. use std::thread; fn main() { let v = vec![1, 2, 3]; let handle = thread::spawn(move || { println!(\"Here's a vector: {:?}\", v); }); // Now, we cannot use v over here, inside the main thread for any reason handle.join().unwrap();\n} Using Message Passing to Transfer Data Between Threads “Do not communicate by sharing memory; instead, share memory by communicating.” - Go Language Documentation Rust sends messages between threads to accomplish concurrency. Rust uses channel for the message-sending concurrency (it works similar to a river stream), it has two parts: Transmitter : The upstream location Receiver : The downstream location A channel is said to be closed if either the transmitter or receiver half is dropped. You may create a channel just like this: A channel can have multiple producer of values (multiple sources of river), but only 1 consumer of those values (all rivers will mix into one river). A channel produces it's two parts, inside a tuple and are abbreviated as tx and rx, for transmitter and receiver respectively. // mpsc stands for multiple producer, single consumer\nuse std::sync::mpsc;\nuse std::thread; fn main() { let (tx, rx) = mpsc::channel(); thread::spawn(move || { let val = String::from(\"hi\"); // We'll send the value to the receiver's end // and in case there's a problem at receiving // end, it'll thrown an error and cause a panic tx.send(val).unwrap(); }); // The recv() let received = rx.recv().unwrap(); println!(\"Got: {}\", received);\n} Ways to receive the values from the channel: recv(): It'll block the main thread’s execution and wait until a value is sent down the channel. try_recv(): This method doesn't block , but may not contain any value for some time. So, you'll need to call this every so often, by writing a loop. Sending and Receiving multiple values: use std::sync::mpsc;\nuse std::thread;\nuse std::time::Duration; fn main() { let (tx, rx) = mpsc::channel(); let tx1 = tx.clone(); thread::spawn(move || { let vals = vec![ String::from(\"hi\"), String::from(\"from\"), String::from(\"the\"), String::from(\"thread\"), ]; for val in vals { tx1.send(val).unwrap(); thread::sleep(Duration::from_secs(1)); } }); thread::spawn(move || { let vals = vec![ String::from(\"more\"), String::from(\"messages\"), String::from(\"from\"), String::from(\"you\"), ]; for val in vals { tx.send(val).unwrap(); thread::sleep(Duration::from_secs(1)); } }); // We’re not calling the recv function explicitly anymore: // When the channel is closed, iteration will end. for received in rx { println!(\"Got: {}\", received); }\n} Shared-State Concurrency Shared memory concurrency is like multiple ownership: multiple threads can access the same memory location at the same time. We can use Mutex to allow access to data from one thread at a time. Mutex Mutex is an abbreviation of Mutual Exclusion . It locks the data such that others can use. Lock is a data structure that keeps track of who currently has exclusive access to the data. These are the rules that you'll have to follow while using a Mutex: You must attempt to acquire the lock before using the data. When you’re done with the data that the mutex guards, you must unlock the data so other threads can acquire the lock. Here's an example: use std::sync::Mutex; fn main() { let m = Mutex::new(5); { let mut num = m.lock() // It'll block the old thread, until we unlock the mutex .unwrap(); // lock() may fail if the old thread panics, so unwrap() will also panic the current thread *num = 6; // Mutex returns a Smart Pointer named MutexGuard, that's why we need to dereference it to change it's value } // MutexGuard has a Drop trait implementation, which automatically unlocks the mutex when it goes out of scope println!(\"m = {:?}\", m);\n} Here's an example wehere the varaible counter will be shared among 10 threads, where each of them will try to increment it by 1. Why can't we directly use Mutex within multiple threads? The threads use move, which moves the ownership of variable to the thread. Rust won't allow us to move the ownership of lock counter in multiple threads. Why can't we use Rc, to provide multiple ownership to individual threads? Rc is not safe to share across threads. It is possible if we use Rc in multiple threads, then both threads might update the reference count at same time. It doesn’t use any concurrency primitives to make sure that changes to the count can’t be interrupted by another thread. That could lead to Wrong Counts and Memory Leak. What do we need then? What we need is a type exactly like Rc but one that makes changes to the reference count in a thread-safe way. Fortunately, we have Arc (atomically referenced counter), it is almost like Rc, except the counts are maintained atomically. Atomics are primitives that are safe to share across threads. use std::sync::{Arc, Mutex};\nuse std::thread; fn main() { // Mutex is used to lock a variable so that other thread can use // Arc provides multiple ownership like Rc and it is thread safe let counter = Arc::new(Mutex::new(0)); // Notice counter is immutable, it's because Mutex provides interior mutability, similar to RefCell let mut handles = vec![]; for _ in 1..=10 { let counter = Arc::clone(&counter); let handle = thread::spawn(move || { let mut value = counter.lock().unwrap(); *value += 1 }); handles.push(handle); } for handle in handles { handle.join().unwrap(); } println!(\"The value of counter: {}\", *counter.lock().unwrap());\n} The combination of Arc>, is analogous to Rc>. Keep in mind using Mutex is risky, as logical errors may lead to deadlocks . Send and Sync trait These two traits are part of the language itself, unlike otheer features of concurrency as they were part of the standard library. They are called std::marker traits. Send vs Sync Send Sync It is safe to transfer ownership of a type between threads. It is safe to use that type's reference betweeen threads. Any type T that implements Sync Type T is Sync, if it's reference (&T) is Send or if type T implements Sync. Except Rc, almost all types are Send. (use Arc instead). Primitive Types, Mutex are Sync but Rc, RefCell are not. We don't need to implement Send and Sync for the types that are made up of those types that implements these traits. In case you need to implement thes traits for a particular type than it means you'll need to write some unsafe rust code. You can learn the Dark Arts of Unsafe Code from this book “The Rustonomicon” .","breadcrumbs":"Medium Concepts » Concurrency » Concurrency","id":"54","title":"Concurrency"},"55":{"body":"Characterstics of OOP: Objects contain data and behaviour : Programs should make up of objects. An object packages both data and it's methods. Rust offers struct, enum and impl blocks to provide this characterstic. Encapsulation : When the implementation details are hidden from the code that is using the object. The only way to use an object is through it's public API. This enables the programmer to change and refactor an object’s internals without needing to change the code that uses the object. Rust encapsulates everything by default and offers pub keyword to make things public. Inheritance : When an object can inherit from another object’s definition, so that it can use it's parent object's data and behavior without defining them again. Rust doesn't offers inheritance between struct, but has trait where you can use default methods that is both reusable and can be overridden. The reasons to use inheritance are: code reusability and polymorphism . Polymorphism means that you don't need to explicitly define the type in code, but can be detected during runtime. It is useful when two types share same characterstics. Rust offers polymorphism in a more general manner. It offers generics to generalize the accepted types and trait bounds, to constraint the allowed types. Note: People think \"polymorphism is synonymous with inheritance\". But it is a more general concept which means that a certain code can be referred to multiple types. It is used when two types share some common characterstics. In inheritance, those types are only subclasses. Problems with Inheritance: It adds the risk of sharing more code than necessary. Subclasses are forced to share all the characterstics of the parents, even though sometimes it's not necessary or even undesired. Sometimes calling the functions on the subclass doen't makes sense and even cause errors. Due to this, some programming languages will only allow a subclass to inherit from one class, further restricting the flexibility of a program’s design. Rust is different, it takes a completely different approach by using trait objects instead of inheritance. Defining a common behaviour using trait A trait object points to both: An instance of a type implementing our specified trait A table used to look up trait methods on that type at runtime. Property struct or enum trait Objects in other languages Stores Data Yes No Yes Stores Behaviour No Yes Yes Data and behaviour Seperated by impl blocks. Combined Combined Uses Store same items together Store common behaviour and allow abstraction Store same items and their common behavior An example: Problem: Let's say initially we have components such as Button and Image that may use a common functionality to draw on the screen. It's possible that someday programmers want to introduce one more component named SelectBox. So, what we'll end up with are different types of structures that wants to use a common functionality. Solution: We can invent a common function named draw(), which will have different implementations for different types of components. How to build: We'll initialise a trait that can be shared among various components and a struct that can hold these compoenents. The trait will look like this: // A common functionality shared between multiple components\npub trait Draw { fn draw(&self);\n} We can build a struct that holds the components that implements the Draw: pub struct Screen { // Box will allow to store the components on heap // dyn keyword will add the ability to detect a type that implements Draw on runtime pub components: Vec>,\n} impl Screen { pub fn run(&self) { for component in self.components.iter() { component.draw(); } }\n} The difference with the alternative implementation using trait bounds in struct is that it restricts us to a Screen instance that has a list of components all of type Button or all of type TextField. At compile time, the definitions will be monomorphized. pub struct Screen { pub components: Vec,\n} impl Screen\nwhere T: Draw,\n{ pub fn run(&self) { for component in self.components.iter() { component.draw(); } }\n} Programmers can now create new components like this: use gui::Draw; pub struct Button { // Some fields\n} impl Draw for Button { fn draw(&self) { // code to actually draw something }\n} Users of this library can now use it like this: use gui::{Button, Screen}; fn main() { let screen = Screen { components: vec![ Box::new(SelectBox { width: 75, height: 10, options: vec![ String::from(\"Yes\"), String::from(\"Maybe\"), String::from(\"No\"), ], }), Box::new(Button { width: 50, height: 10, label: String::from(\"OK\"), }), ], }; screen.run();\n} This concept is similar to the concept like duck typing : if it walks like a duck and quacks like a duck, then it must be a duck! Use Cases: Generics with trait bounds: If you’ll only ever have homogeneous collections. For Example, all elements of vector will be of type Button. Box: You can use heterogeneous collections. For Example, elements can be a mix of Button, TextField etc. Static Dispatch vs Dynamic Dispatch: Static Dispatch Dynamic Dispatch Concrete types are decided at compile time. The compiler emits code that at runtime will figure out which method to call. Compiler writes some new code for various concrete types. At runtime, it is decided whether a selected type can follow the requirements. When we use trait bounds on generics, static dispatch happens. When we want to perform dynamic dispatch, we can use the dyn keyword. No runtime cost is added. Some runtime cost is added. The State Pattern The state pattern is an object-oriented design pattern. The current state is stored inside the struct, along with it's value(s). pub struct Post { // Box and dyn are used because the state variable // will have different states during the life of Post state: Option>, content: String,\n} There are state objects , you can create a new object by implementing this trait. trait State { // The first two functions, results in transitions to different states. fn request_review(self: Box) -> Box; fn approve(self: Box) -> Box; // This function, can be called on any state object, // similar to the above two functions, except instead // of causing a state transition, it will return value // as if we conditionally returned output for each state fn content<'a>(&self, _post: &'a Post) -> &'a str { \"\" }\n} The state pattern is built such that, methods defined on state objects will cause changes in the Post, but the methods defined on Post will have no idea what these changes will look like. Hence, state objects will encapsulate behaviour changes from the main struct . You can look at it's complete implementation over here . Some downsides of State Pattern: Extra Modifications: If we add a new state, we'll need to modify other states too. It's due to the reason that one state can only make transitions to another state. Code Duplication: It leads us to write common code inside state objects, as we cannot write directly in trait's default implementation because traits don't know about the concrete type. There's another implementation of state pattern in Rust. It doesn't follow the classic OOP pattern, as we'll require to store the object in new variable, whenever a state transition will happen. Here's the code . // This will cause a state transition from PendingReview to Published\nlet post = post.approve();","breadcrumbs":"Medium Concepts » Object Oriented Programming » OOP (Object Oriented Programming)","id":"55","title":"OOP (Object Oriented Programming)"},"56":{"body":"You'll learn about macros, it is a form of code that writes more code. We'll talk about unsafe rust which is a form of rust which gives you superpowers by removing the rust safety checks. You'll also learn some other advanced forms of traits, types and pattern matching.","breadcrumbs":"Advanced Concepts » Advanced Concepts","id":"56","title":"Advanced Concepts"},"57":{"body":"match Arms match VALUE { PATTERN => EXPRESSION, PATTERN => EXPRESSION, PATTERN => EXPRESSION,\n} Conditional if let statements fn main() { let favorite_color: Option<&str> = None; let is_tuesday = false; let age: Result = \"34\".parse(); if let Some(color) = favorite_color { println!(\"Using your favorite color, {}, as the background\", color); } else if is_tuesday { println!(\"Tuesday is green day!\"); } else if let Ok(age) = age { if age > 30 { println!(\"Using purple as the background color\"); } else { println!(\"Using orange as the background color\"); } } else { println!(\"Using blue as the background color\"); }\n} while let loops let mut stack = Vec::new(); stack.push(1); stack.push(2); stack.push(3); while let Some(top) = stack.pop() { println!(\"{}\", top); } for loops let v = vec!['a', 'b', 'c']; for (index, value) in v.iter().enumerate() { println!(\"{} is at index {}\", value, index); } let statements let (x, y, z) = (1, 2, 3); function parameters fn print_coordinates(&(x, y): &(i32, i32)) { println!(\"Current location: ({}, {})\", x, y);\n} fn main() { let point = (3, 5); print_coordinates(&point);\n} Forms of Pattern Refutable Irrefutable Patterns that can fail to match for some possible value. Patterns that'll match for any possible value. For Example, in if let Some(x) = a_value, the Some(x) can fail to match if a_value is None. For Example, in let x = 5;, the x matches anything and therefore cannot fail to match. The if let and while let expressions accept refutable and irrefutable patterns, but the compiler warns against irrefutable patterns. Function parameters, let statements, and for loops can only accept irrefutable patterns, because the program cannot do anything meaningful when values don’t match. Using a refutable pattern where Rust requires an irrefutable pattern: // FAIL: The code doesn't know what to do with a None value\n// Some(x) is a refutable pattern\n// let requires an irrefutable pattern\nlet Some(x) = some_option_value; Using irrefutable pattern where Rust requires a refutable pattern: // WARN: It doesn’t make sense to use if let with an irrefutable pattern\n// x is an irrefutable pattern\n// if let is a refutable pattern\nif let x = 5 { println!(\"{}\", x);\n}; In match statements, all arms use refutable pattern except the last one that uses _, which uses irrefutable pattern. Pattern Syntax Inside the match expression Each match expression creates a new scope, hence varaibles defined in scope will shadow the variables defined outside. let x = Some(5); let y = 10; match x { Some(50) => println!(\"Got 50\"), Some(y) => println!(\"Matched, y = {:?}\", y), // This y will shadow the y defined outside of this scope _ => println!(\"Default case, x = {:?}\", x), } println!(\"at the end: x = {:?}, y = {:?}\", x, y); // Output => // Matched, y = 5 // at the end: x = Some(5), y = 10 It's possible to use the \"or\" using the | syntax let x = 1; match x { 1 | 2 => println!(\"one or two\"), 3 => println!(\"three\"), _ => println!(\"anything\"), } // Output => // one or two You may also specify ranges in the arm, only numbers and char values are allowed. let x = 5; match x { 1..=5 => println!(\"one through five\"), _ => println!(\"something else\"), } let y = 'c'; match y { 'a'..='j' => println!(\"early ASCII letter\"), 'k'..='z' => println!(\"late ASCII letter\"), _ => println!(\"something else\"), } // Output => // one through five // early ASCII letter Destructuring Destructuring structs struct Point { x: i32, y: i32,\n} fn main() { let p = Point { x: 0, y: 7 }; // It's possible to destructure a struct into variables let Point { x: a, y: b } = p; assert_eq!(0, a); assert_eq!(7, b); // A shorthand, will directly store respective values in x and y let Point { x, y } = p; assert_eq!(0, x); assert_eq!(7, y);\n} Destructring as well as matching the structs fn main() { let p = Point { x: 0, y: 7 }; match p { Point { x, y: 0 } => println!(\"On the x axis at {}\", x), Point { x: 0, y } => println!(\"On the y axis at {}\", y), Point { x, y } => println!(\"On neither axis: ({}, {})\", x, y), }\n} Destructuring enums enum Color { Rgb(i32, i32, i32), Hsv(i32, i32, i32),\n} enum Message { Quit, Move { x: i32, y: i32 }, Write(String), ChangeColor(Color),\n} fn main() { let msg = Message::ChangeColor(Color::Hsv(0, 160, 255)); match msg { Message::Quit => { println!(\"The Quit variant has no data to destructure.\") } Message::Move { x, y } => { println!( \"Move in the x direction {} and in the y direction {}\", x, y ); } Message::Write(text) => println!(\"Text message: {}\", text), Message::ChangeColor(r, g, b) => println!( \"Change the color to red {}, green {}, and blue {}\", r, g, b ), Message::ChangeColor(Color::Rgb(r, g, b)) => println!( \"Change the color to red {}, green {}, and blue {}\", r, g, b ), Message::ChangeColor(Color::Hsv(h, s, v)) => println!( \"Change the color to hue {}, saturation {}, and value {}\", h, s, v ), }\n} We can mix, match, and nest destructuring patterns in even more complex ways let ((feet, inches), Point { x, y }) = ((3, 10), Point { x: 3, y: -10 }); Ignoring Values You may use _ or .. to ignore values: _ : It is used when you want to ignore a warning of unused variable, inside match expression for the remaining values or using a name that starts with underscore. .. : Ignore remaining parts of the value. You may use _ for ignoring an unused variable fn main() { let _x = 5; let y = 10;\n} It's possible to use _ in functions fn foo(_: i32, y: i32) { println!(\"This code only uses the y parameter: {}\", y);\n} fn main() { foo(3, 4);\n} There is a subtle difference between using only _ and using a name that starts with an underscore. The syntax _x still binds the value to the variable. // FAIL: s lost it's ownership to _s, but was attempted to use again for printing\nlet s = Some(String::from(\"Hello!\")); // _s binds the value, the value of s is moved\nif let Some(_s) = s { println!(\"found a string\");\n} println!(\"{:?}\", s); Whereas _ doesn’t bind at all. let s = Some(String::from(\"Hello!\")); // _ never binds the value, hence s stays the owner if let Some(_) = s { println!(\"found a string\"); } println!(\"{:?}\", s); Note: Ignoring a function parameter can be especially useful in some cases, for example, when implementing a trait when you need a certain type signature but the function body in your implementation doesn’t need one of the parameters. The compiler will then not warn about unused function parameters, as it would if you used a name instead. Ignoring remaining parts of struct with .. struct Point { x: i32, y: i32, z: i32,\n} let origin = Point { x: 0, y: 0, z: 0 }; match origin { // It prevents using _ multiple times Point { x, .. } => println!(\"x is {}\", x),\n} Skipping middle values using .. fn main() { let numbers = (2, 4, 8, 16, 32); match numbers { (first, .., last) => { println!(\"Some numbers: {}, {}\", first, last); } }\n} You can only use .. once per tuple fn main() { let numbers = (2, 4, 8, 16, 32); match numbers { (.., second, ..) => { println!(\"Some numbers: {}\", second) }, }\n} Match Guard Match Guard is an additional if condition specified after the pattern in a match arm that must also match along with the pattern matching, for that arm to be chosen . let num = Some(4); match num { Some(x) if x % 2 == 0 => println!(\"The number {} is even\", x), Some(x) => println!(\"The number {} is odd\", x), None => (), } The downside of this additional expressiveness is that the compiler doesn't try to check for exhaustiveness when match guard expressions are involved. Using Match Guard with | operator let x = 4; let y = false; match x { // It works like this => (4 | 5 | 6) if y => ... // And not like this => 4 | 5 | (6 if y) => ... 4 | 5 | 6 if y => println!(\"yes\"), _ => println!(\"no\"), } // Output => // no @ Bindings // The at operator (@) lets us create a variable that holds a value at the same time\n// we’re testing that value to see whether it matches a pattern. enum Message { Hello { id: i32 },\n} let msg = Message::Hello { id: 5 }; match msg { Message::Hello { id: id_variable @ 3..=7, } => println!(\"Found an id in range: {}\", id_variable), // Value of \"id\" is stored in \"id_variable\", hence it was knwon here Message::Hello { id: 10..=12 } => { println!(\"Found an id in another range\") // Range was specified, Value of \"id\" is not stored inside any variable, hence it is unknown here } Message::Hello { id } => println!(\"Found some other id: {}\", id), // Range was not specified, Value of \"id\" is stored inside \"id\", hence it was known here\n}","breadcrumbs":"Advanced Concepts » Advanced Pattern Matching » Pattern Matching","id":"57","title":"Pattern Matching"},"58":{"body":"Rust has a second language hidden inside it that doesn’t enforce the memory safety guarantees: it’s called unsafe Rust and works just like regular Rust, but gives us extra superpowers. Why it exists? It’s better for Rust to reject some valid programs rather than accept some invalid programs. That makes the static analysis of the Rust compiler conservative. Although the code might be okay, if the Rust compiler doesn’t have enough information to be confident, it will reject the code. In these cases, you can use unsafe code to tell the compiler, “Trust me, I know what I’m doing.” Another reason Rust has an unsafe alter ego is that the underlying computer hardware is inherently unsafe. Hence, it'll allow you to write low-level systems code, such as directly interacting with the OS, or even write your own OS. Any Downsides? Use it at your own risk. Problems due to memory unsafety, such as null pointer dereferencing, can occur. Answers to some common misconceptions: It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks: if you use a reference in unsafe code, it will still be checked. Hence, you'll get only the above mentioned features along with some safety. Also, it does not necessarily mean that code inside unsafe is necessarily dangerous or that it will definitely have memory safety problems. It is programmer's responsibilty to ensure that the code is memory safe. How to write code safely using unsafe? Keep unsafe blocks small and it'll be easier to investigate the memory bugs. You can also wrap unsafe code in a safe abstraction. It prevents the uses of unsafe from leaking out in all the other places. What Superpowers can I get? Dereference a raw pointer Call an unsafe function or method Access or modify a mutable static variable Implement an unsafe trait Access fields of unions Dereferencing a Raw Pointer Raw Pointers are meant for unsafe rust and are similar to references. They are of two types: *const T: Immutable Raw Pointer *mut T: Mutable Raw Pointer Here * is not a dereference operator but a part of the type name. Unlike references and Smart Pointers, they break the following rules of Rust's safety: They are allowed to ignore the borrowing rules by having both immutable and mutable pointers or multiple mutable pointers to the same location Aren’t guaranteed to point to valid memory Are allowed to be null Don’t implement any automatic cleanup This is how you can create raw pointers out of a variable. let mut num = 5; let r1 = &num as *const i32;\nlet r2 = &mut num as *mut i32; We can create raw pointers in safe code; we just can’t dereference raw pointers outside an unsafe block. let mut num = 5; // Notice it's possible to create raw pointers inside safe code\nlet r1 = &num as *const i32;\nlet r2 = &mut num as *mut i32; // But to dereference a raw pointer you'll require an unsafe block\nunsafe { println!(\"r1 is: {}\", *r1); println!(\"r2 is: {}\", *r2);\n} We broke the Rust's safety measures, as we are able to use a mutable and immutable reference to a value. Now, as a programmer we made sure that these references are used properly inside the unsafe block. Uses of creating raw pointers: Mostly used when interfacing with C code. Calling an Unsafe Function or Method. Building safe abstractions over unsafe code. Call an unsafe function or method Defining an unsafe function: unsafe fn dangerous() {} Calling an unsafe function: // By calling an unsafe function within an unsafe block,\n// we’re saying that we’ve read this function’s documentation\n// and take responsibility for upholding the function’s contracts.\nunsafe { dangerous();\n} Wrappping unsafe code in safe abstractions We want to create a function that can split a vector into two by index // FAIL: Rust won't allow us to have two immutable borrow of the same vector\n// Only we know that the two immutable borrow aren't overlapping and won't\n// cause any trouble so we would like to silent the compiler by using unsafe\nfn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { let len = slice.len(); assert!(mid <= len); (&mut slice[..mid], &mut slice[mid..])\n} Here is it's implementation using unsafe use std::slice; // Notice the function isn't using unsafe in it's signature, hence unsafe is\n// wrapped in a safe abstraction\nfn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { let len = slice.len(); let ptr = slice.as_mut_ptr(); // Raw pointer assert!(mid <= len); // This is an acceptable use of unsafe // We need unsafe block to call these functions because // we're slicing and adding to the raw pointers, which may // have a chance to become invalid, iff programmer hasn't // written in properly unsafe { ( slice::from_raw_parts_mut(ptr, mid), // It will give the slice of range [ptr, ptr + mid) slice::from_raw_parts_mut(ptr.add(mid), len - mid), ) }\n} If you want to create a raw pointer with unexpected behaviour, you can do this // FAIL: It won't point to a valid i32 value\nuse std::slice; let address = 0x01234usize;\nlet r = address as *mut i32; let slice: &[i32] = unsafe { slice::from_raw_parts_mut(r, 10000) }; Call the code from other languages using extern Rust uses extern keyword to use Foreign Function Interface (FFI) , it is a way for a programming language to define functions and enable a different (foreign) programming language to call those functions. Functions declared within extern blocks are always unsafe to call from Rust code. This is how you can call C code in Rust: // After extern you need to specify ABI (Application Binary Interface)\n// Here we are using extern to use ABI of other languages\nextern \"C\" { fn abs(input: i32) -> i32;\n} fn main() { unsafe { println!(\"Absolute value of -3 according to C: {}\", abs(-3)); }\n} It is possible to write Rust code such that other languages can call. // This code is not unsafe\n#[no_mangle] // This doesn't allows the compiler to rename the functions name\npub extern \"C\" fn call_from_c() { // Here we are using extern to create an ABI for other languages println!(\"Just called a Rust function from C!\");\n} Accessing or Modifying a Mutable Static Variable In Rust, global variables are called static variables . It is problematic as it may cause a data race if two threads are accessing the same mutable global variable. This is how you can create a global or static variable. static HELLO_WORLD: &str = \"Hello, world!\"; fn main() { println!(\"name is: {}\", HELLO_WORLD);\n} The references for static variable is 'static by default. So, we need to specify it's lifetime anywhere. Also, it's completely safe to access an immutable static variable. Constants and Static Variable Constants Static Variable Dynamic address in memory Fixed address in memory Constants duplicate their data whenever used. Using the value will always access the same data. Constants are never mutable. Static variable can be both mutable and immutable, and for modifying mutable static variable, you'll need to use unsafe. Implementing Static Variables This is how you can implement static variables. static mut COUNTER: u32 = 0; fn add_to_count(inc: u32) { unsafe { COUNTER += inc; }\n} fn main() { add_to_count(3); unsafe { println!(\"COUNTER: {}\", COUNTER); }\n} Notice that, it's not causing us any trouble because this code is single threaded, but if we tried to mutate the static variable in multiple threads it could lead to data races. Static Variables ( or Global Variables ) are unsafe. That's because it's difficult to ensure that there are no data races for a global variable. It’s preferable to use the concurrency techniques and thread-safe smart pointers. Implementing an unsafe trait A trait is unsafe when at least one of its methods has some invariant that the compiler can’t verify. Here's an implementation: unsafe trait Foo { // methods go here\n} unsafe impl Foo for i32 { // method implementations go here\n} fn main() {} If we implement a type that contains a type that is not Send or Sync (i.e. doesn't already implements the safe ways of sending a type in multiple threads), such as raw pointers , and we want to mark that type as Send or Sync, we must use unsafe. Accessing Fields of a Union A union is similar to a struct, but only one declared field is used in a particular instance at one time. Unions are primarily used to interface with unions in C code. Accessing union fields is unsafe because Rust can’t guarantee the type of the data currently being stored in the union instance.","breadcrumbs":"Advanced Concepts » Unsafe Rust » Unsafe Rust","id":"58","title":"Unsafe Rust"},"59":{"body":"Associated Types This is how you can create an associate type inside a trait pub trait Iterator { type Item; // You see, this is the associated type fn next(&mut self) -> Option; // Now, this trait can use this type in it's signatures\n} Here's an implementation of this trait on one of our types Counter: impl Iterator for Counter { type Item = u32; fn next(&mut self) -> Option { // --snip-- Now, you might be wondering, can't we do something like this with using traits with generics? pub trait Iterator { fn next(&mut self) -> Option;\n} Here are the differences between Associated Types and Traits with generics? Traits with Associated Types Traits with Generics There will be only one implementation for a type. There can be multiple implementations for a type, using individual concrete type. For Example, impl Iterator for Counter For Example, impl Iterator for Counter, and many more. Using functions of these traits will not require you to provide type annotations. You'll need to provide type annotations to provide which iteration to use. Operator Overloading This is how you can add two types by using the + operator // This library `std::ops` contains all the overloadable operators\nuse std::ops::Add; #[derive(Debug, Copy, Clone, PartialEq)]\nstruct Point { x: i32, y: i32,\n} impl Add for Point { type Output = Point; // associated type will restrict the number of implementations fn add(self, other: Point) -> Point { // This fn will decide how the `+` will behave for the type Point Point { x: self.x + other.x, y: self.y + other.y, } }\n} fn main() { assert_eq!( Point { x: 1, y: 0 } + Point { x: 2, y: 3 }, Point { x: 3, y: 3 } );\n} This is how the trait Add is defined in the Rust's library std::ops // This syntax `` is called \"default parameters\"\n// In case, someone implementing this trait doesn't define the type\n// then the type defined in default parameter will be used everywhere in this trait\ntrait Add { type Output; fn add(self, rhs: Rhs) -> Self::Output; // The \"default parameter\" is used here inside argument `rhs`\n} You can also customize Rhs, that'll mean you'll be adding a value of different type to the main type use std::ops::Add; struct Millimeters(u32);\nstruct Meters(u32); impl Add for Millimeters { // Modified Rhs to Meters, otherwise the default will be Self (or Millimeters) type Output = Millimeters; fn add(self, other: Meters) -> Millimeters { Millimeters(self.0 + (other.0 * 1000)) }\n} You’ll use default type parameters in two main ways: To extend a type without breaking existing code To allow customization in specific cases most users won’t need Function with same name in multiple traits Following things are allowed: Multiple traits to have functions with same name A type implementing all these traits Here's an implementation: trait Pilot { fn fly(&self);\n} trait Wizard { fn fly(&self);\n} struct Human; impl Pilot for Human { fn fly(&self) { println!(\"This is your captain speaking.\"); }\n} impl Wizard for Human { fn fly(&self) { println!(\"Up!\"); }\n} impl Human { fn fly(&self) { println!(\"*waving arms furiously*\"); }\n} fn main() { let person = Human; Pilot::fly(&person); // You'll have to pass the reference to the person, because it takes self as an argument Wizard::fly(&person); // if we had two types that both implement one trait, this self would recognize the correct type person.fly(); // The direct implementation will get called first, instead you can also use Human::fly(&person)\n} Let's see what happens if the associated function of a struct and a trait has same name trait Animal { // Notice, there is no self passed inside, // multiple types can implement this trait, // Calling this function won't be direct, // as the trait won't be able to infer // which type's implementation to call fn baby_name() -> String;\n} struct Dog; impl Dog { // This is an associated function, which can be called // using `Dog::baby_name()`, just like any other // associated fn without self fn baby_name() -> String { String::from(\"Spot\") }\n} impl Animal for Dog { fn baby_name() -> String { String::from(\"puppy\") }\n} fn main() { println!(\"A baby dog is called a {}\", Dog::baby_name()); // The direct implementation will get called println!(\"A baby dog is called a {}\", Animal::baby_name()); // Won't work, this associated fn don't has self, remember? It can't infer the type println!(\"A baby dog is called a {}\", ::baby_name()); // We need to tell Rust that we want to use the implementation of Animal for Dog\n} This is the fully qualified syntax, used for all associated functions (including methods) ::function(receiver_if_method, next_arg, ...); // You don't need to provide all the information that Rust can infer Supertraits Sometimes, you might need one trait to use another trait’s functionality. The traits you would be using to build your own trait is called Supertrait . One important thing is that, now your trait can only be implemented on the types that already implements the Supertrait. Here's an implementation. This OutlinePrint can only be implemented on any trait that implements Display. use std::fmt; trait OutlinePrint: fmt::Display { // It is also like bounding a trait with another trait fn outline_print(&self) { let output = self.to_string(); // It works only because all the types already implements `Display` let len = output.len(); println!(\"{}\", \"*\".repeat(len + 4)); println!(\"*{}*\", \" \".repeat(len + 2)); println!(\"* {} *\", output); println!(\"*{}*\", \" \".repeat(len + 2)); println!(\"{}\", \"*\".repeat(len + 4)); }\n} For reference, you can also implement fmt::Display on your type, like this: struct Point { x: i32, y: i32,\n} use std::fmt; impl fmt::Display for Point { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, \"({}, {})\", self.x, self.y) }\n} Now, we know that Point implements Display, now we can implement OutlinePrint like this: impl OutlinePrint for Point {} The output will look like this for the fn outline_print **********\n* *\n* (1, 3) *\n* *\n********** Newtype Pattern The Orphan Rule states that we’re allowed to implement a trait on a type as long as either the trait or the type are local to our crate. The newtype pattern , helps us to get around this restriction. All we need to do is to create a new type in a tuple struct. Let's say, we want to implement Display on Vec. Both of them are not local to our code, thereby orphan rule will prevent us from implementing it. Now, we can use this newtype pattern for getting a workaround. What we'll be building is a wrapper that will make the Vec local to us. use std::fmt; struct Wrapper(Vec); // A new struct, which is just a wrapper for Vec impl fmt::Display for Wrapper { // Now, we can implement Display on Wrapper, but we can't do directly on Vec fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, \"[{}]\", self.0.join(\", \")) // self.0 is used to take the Vector out }\n} fn main() { // The only disadvantage is that, we'll need to create // a vector inside a wrapper to use the Display trait let w = Wrapper(vec![String::from(\"hello\"), String::from(\"world\")]); println!(\"w = {}\", w);\n} If we wanted the new type to have every method the inner type has, implementing the Deref trait on the Wrapper to return the inner type would be a solution. If we don’t want the Wrapper type to have all the methods of the inner type — for example, to restrict the Wrapper type’s behavior — we would have to implement just the methods we do want manually.","breadcrumbs":"Advanced Concepts » Advanced Traits » Advanced Traits","id":"59","title":"Advanced Traits"},"6":{"body":"By default variables are immutable in Rust. Its advantages includes memory safety and easy concurrency. Example of immutable variable: let x = 5; Example of mutable variable: let mut x = 5;\nx = 6;","breadcrumbs":"Basics of Rust » Variables and Mutability » Variables","id":"6","title":"Variables"},"60":{"body":"Uses of the Newtype Pattern Type Safety : We can wrap u32 values with structs Millimeters and Meters. Now, if a value is stored in Millimeters, it is safe to say that this value can't call functions defined for Meters, and vice versa is true. Abstraction : We could provide a People type to wrap a HashMap that stores a person’s ID associated with their name. Code using People would only interact with the public API we provide, such as a method to add a name string to the People collection; that code wouldn’t need to know that we assign an i32 ID to names internally. Type Aliases This is how you can create a type alias: type Kilometers = i32; How it works? Values with type Kilometers will be treated same as i32. We aren't creating a new type, we're just adding a synonym to i32, called Kilometers Hence, doing something like this is totally fine: let x: i32 = 5;\nlet y: Kilometers = 5; println!(\"x + y = {}\", x + y); // This will work The advantage is that it will give us the flexibility that any function with an argument of i32, we can pass Kilometers value to it. The disadvantage is that we don't get the type checks as we get in the newtype pattern. You can create an alias where you want to prevent naming a complex type. type Thunk = Box; // A type that stores closure let f: Thunk = Box::new(|| println!(\"hi\")); // We don't need to specify the longer type, instead we can say just \"Thunk\" fn takes_long_type(f: Thunk) { // Again, we don't need to specify the longer type, just \"Thunk\" ...\n} Fun Fact: Thunk is a word for code to be evaluated at a later time, so it’s an appropriate name for a closure that gets stored We can also shorten a Result values of I/O operations like this type Result = std::result::Result; Now, Result can be replaced with Result and Result<(), Error> can be replaced with Result<()>. Also, we can use the ? operator, since it's the same type. The never type ! This type never returns. In type theory lingo it is known as the empty type because it has no values. Rust prefers to call it the never type because it stands in the place of the return type when a function will never return. // People read it as, \"the function bar(), returns never\", and are called diverging functions\nfn bar() -> ! { // --snip--\n} Rust never allows a variable to have different possible data types. // FAIL: You can't create a variable \"guess\", that may have either number or string\nlet guess = match guess.trim().parse() { Ok(_) => 5, Err(_) => \"hello\",\n}; But this is possible: let guess: u32 = match guess.trim().parse() { Ok(num) => num, Err(_) => continue, // Wait a minute, how's this even allowed?\n}; The continue has a never type (!), which means it'll never return any value. That is, when Rust computes the type of guess, it looks at both match arms, the former with a value of u32 and the latter with a ! value. Because ! can never have a value, Rust decides that the type of guess is u32. You can remember it this way, the ! can get coerced to any other type. This is the original implementation of unwrap!(). Here, the return type is coerced to a single type T, and that's because panic!() ends the program and has a never type (!). impl Option { pub fn unwrap(self) -> T { match self { Some(val) => val, None => panic!(\"called `Option::unwrap()` on a `None` value\"), } }\n} The value of the expression of loop is also of the type !. print!(\"forever \"); loop { print!(\"and ever \");\n} Dynamically Sized Traits and the Sized trait DSTs or unsized types let us write code using values whose size can only be known at runtime. So, Rust doesn't let us create strings with str (not &str): let s1: str = \"Hello there!\";\nlet s2: str = \"How's it going?\"; Why's that? Rust needs to know a fixed size of a type. Here s1 takes 12 bytes and s2 takes 15 bytes. It's not possible to accomodate all the strings in a single fixed size. What's the solution? &str is the solution. It stores two values: the address of the str and its length. So, that makes &str will only need two usize, one for the address and the other for the length. That's why, we always know the size of a &str, no matter how long the string it refers to is. In general, this is the way in which dynamically sized types are used in Rust. The golden rule of dynamically sized types is that we must always put values of dynamically sized types behind a pointer of some kind. The traits can be Dynamically Sixed too. All we need to do is to put them behind a pointer, such as &dyn Trait or Box. The Sized trait A trait that determines whether or not a type's size is known at compile time. You may create a generic function like this: fn generic(t: T) { // --snip--\n} But, Rust treats it as if it was re-written like this: // This means generic functions will only work on\n// types who's size is known at the compile time\nfn generic(t: T) { // --snip--\n} It's possible to get over with this restriction: // The ?Sized means “T may or may not be Sized”\n// Now, this fn will accept T whose size may or may not be known at compile time\n// The ?Trait syntax with this meaning is only available for Sized, not any other traits.\n// Also, notice, we're using `&T` and not `T`, now we'll use `T` behind some kind of pointer, here it's reference\nfn generic(t: &T) { // --snip--\n}","breadcrumbs":"Advanced Concepts » Advanced Types » Advanced Types","id":"60","title":"Advanced Types"},"61":{"body":"Pass functions to the functions Just like you can pass closures to the functions, you can also pass \"funtions to the functions\". There's a type represented by fn, (don't confuse it with Fn, that is a closure trait). This fn type is called Function Pointer . Here's how you can use it: fn add_one(x: i32) -> i32 { x + 1\n} fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 { f(arg) + f(arg)\n} fn main() { let answer = do_twice(add_one, 5); println!(\"Answer: {}\", answer);\n} Function pointers implement all three of the closure traits (Fn, FnMut, and FnOnce), so you can always pass a function pointer as an argument for a function that expects a closure. So, instead of passing a closure, you can simply enter a function name, and it will work. // You can either do this\nlet list_of_numbers = vec![1, 2, 3];\nlet list_of_strings: Vec = list_of_numbers .iter() .map(|i| i.to_string()) // Provide the closure .collect(); // Or you can simply enter the function name\nlet list_of_numbers = vec![1, 2, 3];\nlet list_of_strings: Vec = list_of_numbers .iter() .map(ToString::to_string) // Enter the function name, wohoo! .collect(); You can use enum variants as an initializer function. Also, we now know we can pass a function inside a function, so here's what we can also do: enum Status { Value(u32), // So, this works as an initializer function too Stop,\n} let list_of_statuses: Vec = (0u32..20).map(Status::Value).collect(); // This will create Status instances of the variant Value You can do the same thing by using closures, it's more of a personal preference. You can use whichever feels more clearer to you. Return Closures First of all, you can't return functions, that's not allowed in rust. Technically, you are not alllowed to use fn (Funciion Pointer) as a return type, but you can return closures. Closures are represented by traits. To return a type that implements a trait, you can do either of the two: Return a concrete type Use dynamic dispatch (it'll allow the function to know concrete type at runtime). Closures don't have the concrete type, you can't send them directly, you'll need to use dynamic dispatch. // FAIL: This will also not work\nfn returns_closure() -> dyn Fn(i32) -> i32 { |x| x + 1\n} Now, Rust needs one more thing, the size of the closure. Remember the Sized trait. The solution to this problem, is to wrap the return type with some sort of pointer, in case of strings we use references. For example, using &str instead of str. Here, we'll use Box to simply store it on the heap. // This is how you can successfully return a closure\nfn returns_closure() -> Box i32> { Box::new(|x| x + 1)\n} In case you want to understand better how you can use traits with dynamic dispatch, you can check here .","breadcrumbs":"Advanced Concepts » Advanced Functions and Closures » Advanced Functions and Closures","id":"61","title":"Advanced Functions and Closures"},"62":{"body":"Rust code that writes more rust code are called Macros . This kind of programming is called metaprogramming. Here are the following things that you can only do with macros and not functions: Macros can take variable number of parameters, unlike functions. You can call println!(\"hello\") with one argument or println!(\"hello {}\", name) with two arguments. Macros are expanded before the compiler interprets the meaning of the code. For example, macros can implement a trait on a given type. Functions can't because it gets called at runtime and a trait needs to be implemented at compile time. Drawbacks of Macros: It's hard to read, write and maintain. You can define functions anywhere, but you need to bring the macros in scope before you can call them. Declarative Macros They are the most widely used types of macros. Also referred to as \"macros by example\", “macro_rules! macros”, or just plain “macros”. They are similar to match statements, except they match on literal rust code, instead of some value. Here is a simple implementation of the vec! macro: #[macro_export]\nmacro_rules! vec { ( $( $x:expr ),* ) => { { let mut temp_vec = Vec::new(); $( temp_vec.push($x); )* temp_vec } };\n} Explanation: #[macro_export] - You can't export the macro without this line. For using this macro, you'll have to bring the crate into scope where this macro is defined. macro_rules! name-of-macro - Then we declare the macro with the macro_rules! along with the name of the macro without the exclamation mark. In our case, vec. ( $( $x:expr ),* ) => - This is the match arm of the macro. In our case, the macro has only one match arm, if such an expression is passed to the macro which doesn't fall into it, it'll fail. Some complex macros will have multiple match arms. ( ) => - A parantheses surrounds the whole pattern. It indicates that this is a match arm. $( ) - Anything inside this parantheses will capture values. $x: expr - This matches any Rust expression and gives the expression the name $x. , - It means that the literal , might appear after the code that matches the code in $(). * - It means that the pattern matches zero or more of whatever precedes the *. $()* - For every time the expression in $() gets matched, the code inside $()* will get called. In Action: So, when we'll write vec![1, 2, 3] it will get compiled into, the following code: { let mut temp_vec = Vec::new(); temp_vec.push(1); temp_vec.push(2); temp_vec.push(3); temp_vec\n} Note: This vector that we created over here can take any number of arguments of any type. The implementation of vec! macro in standard library only accepts data of one type and it also has some extra code for preallocating memory for those types. Procedural Macros They act more like functions and they are a type of procedure. They don't match against a pattern. They simply accept some code, operates on it and produces some new code. There are three kinds of procedural macros: Custom Derive Attribute Like Function Like Custom Derive Macros Using custom derive macros looks like this (it is used over structs or enums): #[derive(HelloMacro)]\nstruct Pancakes; Defining proceudral macros looks like this: use proc_macro; #[some_attribute] // This attribute tells us which kind of procedural macro we are creating\npub fn some_name(input: TokenStream) -> TokenStream { // TokenStream is a type imported from the crate `proc_macro`. It represents a sequence of tokens.\n} An Example of a Custom Derive macro: What we want? We want to print the name of the struct which tries to call the function hello_macro(). use hello_macro::HelloMacro; // A trait which has an associated function hello_macro()\nuse hello_macro_derive::HelloMacro; // A macro that we can use #[derive(HelloMacro)]\nstruct Pancakes; fn main() { Pancakes::hello_macro(); // This will print \"Hello, Macro! My name is Pancakes!\"\n} Part 1: Defining Traits First of all define the trait in different crate, created using cargo new hello_macro --lib: // File: src/lib.rs\npub trait HelloMacro { fn hello_macro();\n} Then implement the trait for every struct (without using macro, this is what it looks like): // File: src/main.rs\nuse hello_macro::HelloMacro; struct Pancakes; impl HelloMacro for Pancakes { fn hello_macro() { println!(\"Hello, Macro! My name is Pancakes!\"); // Programmer will have to implement this fn for each struct. }\n} fn main() { Pancakes::hello_macro();\n} Additionally, we can’t yet provide the hello_macro function with default implementation that will print the name of the type the trait is implemented on: Rust doesn’t have reflection capabilities, so it can’t look up the type’s name at runtime. Part 2: Implementing Procedural Macros At the time of this writing, procedural macros need to be in their own crate. Eventually, this restriction might be lifted. So, first create a new crate using: cargo new hello_macro_derive --lib This trait will work in parallel with the trait defined above. Both the traits are tightly related. Hence we'll have to keep both the crates (hello_macro and hello_macro_derive) in one directory. In case someone wants to use the macro, they'll have to pull both the crates as dependencies. So inside the cargo.toml file of the crate hello_macro_derive, add the following lines: [lib]\nproc-macro = true [dependencies]\nsyn = \"1.0\"\nquote = \"1.0\" Now, we can define the macro inside the src/lib.rs file of the crate hello_macro_derive. The code for most of the procedural macros will be same as the code block below: // Filename: src/lib.rs\nuse proc_macro::TokenStream; // this crate, proc_macro comes with rust, it allows to read and manipulate rust code from our code\nuse quote::quote; // Transforms DeriveInput -> Rust Code\nuse syn; // Transforms Rust Code -> DeriveInput #[proc_macro_derive(HelloMacro)] // This line makes sure that whenever a user specifies #[derive(HelloMacro)] on a type, it calls the below fn\npub fn hello_macro_derive(input: TokenStream) -> TokenStream { // Construct a representation of Rust code as a syntax tree // that we can manipulate let ast = syn::parse(input).unwrap(); // Build the trait implementation impl_hello_macro(&ast)\n} Once the line let ast = syn::parse(input).unwrap(); is executed (let's say for the struct Pancakes {};), it creates a DeriveInput struct, which looks like this: DeriveInput { // --snip-- ident: Ident { ident: \"Pancakes\", span: #0 bytes(95..103) }, data: Struct( DataStruct { struct_token: Struct, fields: Unit, semi_token: Some( Semi ) } )\n} Now, we can convert the DeriveInput into TokenStream using the function impl_hello_macro(&ast): fn impl_hello_macro(ast: &syn::DeriveInput) -> TokenStream { let name = &ast.ident; // type is not &str but &syn::Ident let gen = quote! { // it turns Rust syntax tree data structures into tokens of source code impl HelloMacro for #name { fn hello_macro() { println!(\"Hello, Macro! My name is {}!\", stringify!(#name)); // quote! is used here to replace #name with the value in the variable name } } }; gen.into() // quote! can't directly convert into TokenStream so we call into()\n} The stringify! macro used here is built into Rust. It takes a Rust expression, such as 1 + 2, and at compile time turns the expression into a string literal, such as \"1 + 2\". This is different than format! or println!, macros which evaluate the expression and then turn the result into a String. Now, we can create a crate named pancakes and then use our macro inside of it. cargo new pancakes The file structure should be like this: .\n├── hello_macro\n│ ├── hello_macro_derive\n│ │ └── ..\n│ └── ..\n└── pancakes └── .. Then migrate the code as explained in the starting of this example to src/main.rs, and also add these lines to the dependencies: hello_macro = { path = \"../hello_macro\" }\nhello_macro_derive = { path = \"../hello_macro/hello_macro_derive\" } Attribute Like Macros In Custom Derive Macros, the derive keyword is used and it generates some new code for the struct or enum. Instead of generating new code, Attribute like macros allow you to create new attributes. Unlike Custom Derive Macros, Attribute like macros are not limited to just structs or enums and can be applied to other items, such as functions. Here's an example of how it can be used on a function: #[route(GET, \"/\")]\nfn index() { ..\n} This #[route] attribute would be defined by the framework as a procedural macro. The signature of the macro definition function would look like this: #[proc_macro_attribute]\npub fn route(attr: TokenStream, item: TokenStream) -> TokenStream { // attr: The GET, \"/\" will get stored in this argument // item: The code attached to above macro (fn index() {} in our case) will get stored in this argument ..\n} Other than that, attribute-like macros work the same way as custom derive macros: you create a crate with the proc-macro crate type and implement a function that generates the code you want! Function Like Macros These macros look like function calls but with a !. They're more flexible than functions as they can accept variable number of arguments. In declarative macros (macro_rules ! macro) uses match-like syntax, the Function Like Macros take a TokenStream parameter, similar to the other two procedural macros. Here's an example, here we want to parse SQL code: let sql = sql!(SELECT * FROM posts WHERE id=1); If we tried to build this macro with the macro_rules ! macro, then match-like pattern would've made it hard to implement. With using TokenStream it is a bit easier to implement: #[proc_macro]\npub fn sql(input: TokenStream) -> TokenStream { ..\n} It's implementation is closer to that of custom derive macros.","breadcrumbs":"Advanced Concepts » Macros » Macros","id":"62","title":"Macros"},"63":{"body":"Raw Identifers Identifiers are the names of the functions, variable, structs etc. Keywords are the words reserved by Rust. For example, if, else, match. You're not allowed to use keywords as identifiers, but there's a hack. Raw identifiers are the syntax that lets you use keywords where they wouldn’t normally be allowed. You use a raw identifier by prefixing a keyword with r#. Here's something that you're not allowed to do: // FAIL: match is a keyword, but is used as an identifier\nfn match(needle: &str, haystack: &str) -> bool { haystack.contains(needle)\n} If there's a need to use a keyword as identifier, you may use raw identifiers: fn r#match(needle: &str, haystack: &str) -> bool { haystack.contains(needle)\n} fn main() { assert!(r#match(\"foo\", \"foobar\"));\n} What's the use? Let's say you're integrating some code written in other languages to your Rust project. Now, there are some functions written in other languages whose name are keywords in Rust. So, you may use raw identifiers to overcome Rust's restriction. try isn’t a keyword in the 2015 edition but is in the 2018 edition. If you depend on a library that’s written using the 2015 edition and has a try function, you’ll need to use the raw identifier syntax, r#try in this case, to call that function from your 2018 edition code. Derivable Traits Debug It can used to print elements by using :? within {} placeholders. The Debug trait is required, for example, in use of the assert_eq! macro. This macro prints the values of instances given as arguments if the equality assertion fails so programmers can see why the two instances weren’t equal. PartialEq By deriving this trait you can use == and != operators on structs an enums. It implements the eq method. Eq It's purpose is to check that the annotated types are equal to itself. It can only be implemented by the types that already implements PartialEq. The mathematical difference between Eq and PartialEq is that Eq is reflexive, symmetric and transitive. However,PartialEq only guarantees symmetric and transitive. reflexive: a == a;\nsymmetric: a == b implies b == a; and\ntransitive: a == b and b == c implies a == c. An example of a type that follows PartialEq and doesn't follows Eq is floating point number. The implementation of floating point numbers states that two instances of the not-a-number (NaN) value are not equal to each other. An example of when Eq is required is for keys in a HashMap so the HashMap can tell whether two keys are the same. PartialOrd A type that implements PartialOrd can be used with the <, >, <=, and >= operators. The PartialOrd trait allows you to compare instances of a type for sorting purposes. It implements the partial_cmp method, which returns an Option that will be None when the values given don’t produce an ordering. Since floating point numbers can't compare (or order) the not-a-number (NaN), it doesn't support this trait. When derived on enums, variants declared earlier in the enum definition are considered less than the variants listed later. When derived on structs, it compares two instances by comparing the value in each field in the order in which the fields appear in the struct definition. Ord It implements the cmp method, which returns an Ordering rather than an Option because a valid ordering will always be possible. You can only apply the Ord trait to types that also implement PartialOrd and Eq (and Eq requires PartialEq). When derived on structs and enums, cmp behaves the same way as the derived implementation for partial_cmp does with PartialOrd. An example of when Ord is required is when storing values in a BTreeSet, a data structure that stores data based on the sort order of the values. Clone It allows you to perform a deep copy (copying the data on heap) of a value. When you derive clone on a type, then it is required that the type's fields must also derive the clone. Copy It allows you to copy data on the stack. Copying is a lot faster than cloning but it's undesirable for large items. For Example, String. A type that implements copy must also implement clone. It is trivial because Clone performs the same task as Copy. Hash It allows you to take an instance of a type of arbitrary size and map that instance to a value of fixed size using a hash function. It is required in storing keys in a HashMap to store data efficiently. If a type implements this trait then it's required that all of it fields must also implement this trait. Default It allows you to create a default value of a type. The Default::default function is commonly used in combination with the struct update syntax. You can customize a few fields of a struct and then set and use a default value for the rest of the fields by using ..Default::default(). You can use the method unwrap_or_default() on Option instances. For Example, If the Option is None, the method unwrap_or_default will return the result of Default::default for the type T stored in the Option.","breadcrumbs":"Advanced Concepts » Miscellaneous » Miscellaneous","id":"63","title":"Miscellaneous"},"64":{"body":"You'll learn about the different forms of tests written in Rust. You'll also learn how to do Test Driven Development. Fun Fact: In Rust, each test is run in a new thread, and when the main thread sees that a test thread has died, the test is marked as failed.","breadcrumbs":"Rust Tests » Rust Tests","id":"64","title":"Rust Tests"},"65":{"body":"You can create a boilerplate rust project that automatically has tests using the following commmand: cargo new --lib A test in Rust is a function that’s annotated with the test attribute. The bodies of test functions typically perform these three actions: Set up any needed data or state. Run the code you want to test. Assert the results are what you expect. Two attributes to keep in mind: #[test] - To change a function into a test function, add #[test] on the line before fn. #[should_panic] - To declare before each test function that if this function panics then it is working correctly. After adding the attribute #[test], the rust compiler is ready to run cargo test. When you run the command, behind the scenes Rust builds a test runner binary that runs the functions annotated with the test attribute. You can write the functions that are not tests inside the tests module, for example a helper function. So, the only way for the Rust to know whether a function is a test function is through the #[test] attribute. The tests fail when something in the test function panics. Here is the table for the logging statistics: Statistic Meaning Passed Passing Tests Failed Failing Tests Ignored Tests that were ignored due to #[ignore] attribute. Measured This is for benchmark tests that measure performance. (only in nightly Rust) Filtered Out While running specific tests, the left out tests are called filtered. Here is the table for the macros you mauy use for assertion: Assertion Macro Use Case Argument(s) assert!() If the condition is true then passes else panics. Condition panic!() Panics or fails the test with a message if given. Message assert_eq!() Passes if equal else panics. (==) (actual, expected) assert_ne!() Passes if not equal else panics. (!=) (actual, not_expected) In rust the convention doesn't matter, we can either use actual as first argument or as second. It is the programmer's convention. In case we are writing the tests in a module inside the same file then we'll need to use the super::*; inside the tests module to pull all the outside code of the current file. //Filename: src/lib.rs\nfn do_something() { ...\n} #[cfg(test)]\nmod tests { // The line below will pull all the code of outer module inside. use super::*; #[test] fn test_do_something() { ... }\n} For structs and enums that you define, you’ll need to implement PartialEq to assert that values of those types are equal or not equal. #[derive(PartialEq, Debug)]\nstruct Rectangle { width: u32, height: u32,\n} #[cfg(test)]\nmod tests { use super::*; // This test will only work if we'll add #[derive(PartialEq)] to the struct or enum. #[test] fn rectangle_is_of_same_size() { let rectangle1 = Rectangle { width: 8, height: 7, }; let rectangle2 = Rectangle { width: 8, height: 7, }; assert_eq!(rectangle1, rectangle2); }\n} You’ll need to implement Debug to the struct or enum if you want to see the logs that say (left != right). ---- tests::rectangle_is_of_same_size stdout ----\nthread 'tests::rectangle_is_of_same_size' panicked at 'assertion failed: `(left == right)` left: `Rectangle { width: 8, height: 7 }`, right: `Rectangle { width: 8, height: 8 }`', src/lib.rs:56:9 The assert!() macro also allows the message to show in case the test fails. assert!( result.contains(\"something\"), \"The result doesn't contain something. This was the actual result: {}\", result\n) There is an attribute named #[should_panic], that you can write before any test function to declare that if this function panics then it is working correctly. #[cfg(test)]\nmod tests { use super::*; #[test] #[should_panic] fn greater_than_100() { Guess::new(200); }\n} This is the note that appears in case the function doesn't panics. note: test did not panic as expected To make the ![should_panic] attribute more precise we can add the expected parameter and pass a string to it such that the string is a substring of the relevant panic message. impl Guess { pub fn new(value: i32) -> Guess { if value < 1 { panic!( \"Guess value must be greater than or equal to 1, got {}.\", value ); } else if value > 100 { panic!( \"Guess value must be less than or equal to 100, got {}.\", value ); } Guess { value } }\n} #[cfg(test)]\nmod tests { use super::*; // The below test only passes if both the two conditions satisfies: // 1. Code should panic // 2. The string passed in expected parameter is a substring of the panic message. #[test] #[should_panic(expected = \"Guess value must be less than or equal to 100\")] fn greater_than_100() { Guess::new(200); }\n} There is also an alternative approach possible to use Ok() and Err() inside a test. #[cfg(test)]\nmod tests { #[test] fn it_works() -> Result<(), String> { if 2 + 2 == 4 { Ok(()) } else { Err(String::from(\"two plus two does not equal four\")) } }\n} Pros: The only upside of writing tests such that they return a Result enables you to use the question mark (?) operator in the body of tests, which can be a convenient way to write tests that should fail if any operation within them returns an Err variant. Cons: If we write tests in above manner than we cannot use #[should_panic] attribute because we can use Err().","breadcrumbs":"Rust Tests » Getting Started » Getting Started","id":"65","title":"Getting Started"},"66":{"body":"Command Line Options either go to: cargo test - Run this command for help, cargo test --help The resulting test binary - Run this command for help, cargo test -- --help. In simple terms, if you want to pass something into tests binary you'll have to seperate them with --. Threading while running Tests By default, Rust runs tests in different threads. In case the test depends on each other. For example, tests perform read, write, and assert to a same file. If run concurrently, the file will get corrupt and the tests might fail. To run tests on a single thread, one by one we can do it by: cargo test -- --test-threads=1 This command will prevent parallelism, though the tests will take longer to run but it'll save us from the above problem. Printing while running tests By default, when we run cargo test, the compiler never prints the statements. To display print statements we can run this command: cargo test -- --show-output Running Specific Tests To run specific tests either 1 or more, we can do that by specifying the name of test. For One Test: cargo test For more than one test (e.g. add_two, add_three, then substring add): cargo test When we run specific tests, the remaining tests will fall into the category of filtered out, you may see that in the logs. Also note that the module in which a test appears becomes part of the test’s name, so we can run all the tests in a module by filtering on the module’s name. Ignoring Tests Instead of filtering tests, you may like to ignore the tests by adding #[ignore] attribute above each test that you'd like to ignore. Now, you may use the following commands to run the tests. To run the tests ignoring ones that use #[ignore] attribute: cargo test To run only the ignored tests: cargo test -- --ignored To run both ignored and not ignored tests: cargo test -- --include-ignored","breadcrumbs":"Rust Tests » Controlling Tests » Controlling Tests","id":"66","title":"Controlling Tests"},"67":{"body":"","breadcrumbs":"Rust Tests » Test Organization » Test Organization","id":"67","title":"Test Organization"},"68":{"body":"The Rust community thinks about tests in terms of two main categories Unit Tests and Integration tests . Unit Tests Integration tests Small and Focused Large and Broad Internal External Tests One Module Tests Multiple Modules Can Test Private Interfaces Only Tests Public Interfaces Testing Internally such that external code may not possibly do Testing like some external code would do Lives inside src directory inside each module Lives in tests directory right outside src directory Module named tests inside each module with #[cfg(test)] Different files inside tests directory without #[cfg(test)] Unit Tests This annotation #[cfg(test)] tells Rust to only run this module on cargo test, not when you run cargo build. Thus, the functions following this annotation are never part of compiled result, hereby saving some space. Only used for unit tests, since integration tests are different directory they don't need to use it. An example worth noting: // Both code and unit test lives in the same file. pub fn public_fn() { ...\n} fn private_fn() { ...\n} // cfg stands for configuration\n#[cfg(test)]\nmod tests { // You'll use this line to pull code from outside this module but inside this file. use super::*; // A helper function fn helper() { ... } // Only this fn will be considered test, unlike above fn #[test] fn it_works() { // Can test both private and public functions. ... }\n} Integration tests For integration test, we create a new directory target beside the src directory. Each file in the tests directory is compiled as its own separate crate. Treating each integration test file as its own crate is useful to create separate scopes that are more like the way end users will be using your crate. However, this means files in the tests directory don’t share the same behavior as files in src do. The file structure of integration tests are: rust_project\n├── src\n| └── lib.rs\n├── target\n| ├── ...\n| └── ...\n├── tests\n| ├── common\n| | └── mod.rs // contains helper functions for tests\n| └── integration_test.rs // contains integration tests\n├── Cargo.lock\n└── Cargo.toml The helper functions lives inside file tests/common/mod.rs. This is a naming convention that rust uses to prevent functions inside this file not to appear in output logs of tests. Files in subdirectories of the tests directory don’t get compiled as separate crates or have sections in the test output. It looks something like this: pub fn setup() { // setup code specific to your library's tests would go here\n} The integration_test.rs looks similar to this: // Each file in the tests directory is a separate crate, so we need to bring our library into each test crate’s scope\nuse adder; // Bring the common functions\nmod common; // No need to add `#[cfg(test)]` attribute, since we are in the tests directory. #[test]\nfn it_adds_two() { common::setup(); assert_eq!(4, adder::add_two(2));\n} To run all the tests in a particular integration test file, use: cargo test --test We can't write integration tests for binary crates, the rust projects that only contains a src/main.rs file and doesn’t have a src/lib.rs file. The reason is that we cannot bring functions defined in the src/main.rs file into scope of files in tests directory with a use statement. Only library crates expose functions that other crates can use; binary crates are meant to be run on their own. Though, if a project contains both src/lib.rs and sr/main.rs, we can write integration tests for the important functionality inside src/lib.rs using the use keyword. If the important functionality works, the small amount of code in the src/main.rs file will work as well, and that small amount of code doesn’t need to be tested.","breadcrumbs":"Rust Tests » Test Organization » Test Types","id":"68","title":"Test Types"},"69":{"body":"You can write doc tests above the item, using the Examples with the docs comment /// like this: /// Adds one to the number given.\n///\n/// # Examples\n///\n/// ```\n/// let arg = 5;\n/// let answer = my_crate::add_one(arg);\n///\n/// assert_eq!(6, answer);\n/// ```\npub fn add_one(x: i32) -> i32 { x + 1\n} Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work. Doc-tests my_crate running 1 test\ntest src/lib.rs - add_one (line 5) ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s","breadcrumbs":"Rust Tests » Test Organization » Doc Tests","id":"69","title":"Doc Tests"},"7":{"body":"First, you aren’t allowed to use mut with constants. Constants aren’t just immutable by default—they’re always immutable. Constants can be declared in any scope, including the global scope, which makes them useful for values that many parts of code need to know about. Constants may be set only to a constant expression, not the result of a value that could only be computed at runtime. const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; Rust’s naming convention for constants is to use all uppercase with underscores between words. See the Rust Reference’s section on constant evaluation for more information on what operations can be used when declaring constants.","breadcrumbs":"Basics of Rust » Variables and Mutability » Constants","id":"7","title":"Constants"},"70":{"body":"The output logs section has three parts: Unit Tests Integration Tests Doc Tests","breadcrumbs":"Rust Tests » Test Organization » Tests Output Log","id":"70","title":"Tests Output Log"},"71":{"body":"","breadcrumbs":"Rust Tests » Test Driven Development » Test Driven Development","id":"71","title":"Test Driven Development"},"72":{"body":"Step 1: Don't write any source code, write tests first. Elaboration: It's okay to frame out production data structures and code patterns without tests; but they should contain no valid behavioral code. Use macros like unimplemented!() or todo!() (the latter is prefered) to hold places for code that doesn't exist yet. Step 2 (Red!): Run the test, and see the test getting failed, to prove that some changes in the code are required to pass the test. Elaboration: Always watch a test fail before you make it pass. If you don't see tests fail, it's easy to accidentally test code you're not writing and write code that has very little to do with the tests you're writing. Step 3 (Green!): Now, write code such that the failing test(s) passes. Elaboration: Don't write bad code just for fun, but also don't worry too much about slavishly following best practices in everything in this step, The important thing is to get the tests passing. If you have to commit atrocities to make the tests pass, go ahead and commit them. Step 3.5 (Refactor!): Once you see all the tests passing, refactor your atrocities. Do not add any new functionality to the production code, but rearrange (possibly redesign) it to be more elegant and pretty. As long as you don't add any new functionality, you don't have to worry about accidentally screwing something up: if you break the existing one, a test will fail. Step 4: Once the new code is refactored and beautiful, repeat the process from Step 1. Maxim from Justin Searls : \"Every line of production code must be demanded into existence by a failing test.\" Note: Any code that doesn't drive new code is an overhead and it causes the cost of refactoring. Refer here for more explanation. Postulated by Dan Wiebe","breadcrumbs":"Rust Tests » Test Driven Development » A Step by Step guide","id":"72","title":"A Step by Step guide"},"73":{"body":"This section contains commonly used code snippets that you can use in your projects.","breadcrumbs":"Useful Snippets » Useful Snippets","id":"73","title":"Useful Snippets"},"74":{"body":"Taking Input and performing type conversions // Always import when you want to take input from user\nuse std::io; fn main() { let mut input = String::new(); // read_line() returns io::Result, which is an enum // It acts as a match, either returns Ok() with value or prints error. io::stdin().read_line(&mut input) .expect(\"Failed to read line.\"); // Declaring a variable with same name again is called shadowing, mostly used for type conversions. // Trims whitespaces at start and end, `/n` (newline) and `/r/n` (windows carriage return and a newline) // parse() (returns Result), parses the string to a number, into the defined type let input: u32 = match guess.trim() .parse() .expect(\"Invalid Input\"); println!(\"Your input: {}\", input);\n} Generating Random Numbers (need external crate rand) // The Rng trait defines the functions that we'll use to generate random numbers\nuse rand::Rng; fn main() { // thread_rng() is a random number generator that is local to the current thread of execution and seeded by the operating system. // gen_range() is a function part of Rng and it generates a random number of range [inclusive, exclusive), 1..101 === 1..=100 let random_number = rand::thread_rng().gen_range(1..101);\n} A hack to know type definitions, is to write a wrong definition, and read the error from logs, they'll tell you the correct type. // FAIL: It doesn't have u32 as type, we wrote wrong type,\n// to find the correct one by reading error logs.\nlet f: u32 = File::open(\"hello.txt\"); To read the contents of a file into a string: use std::fs;\nuse std::io; fn read_username_from_file() -> Result { fs::read_to_string(\"hello.txt\")\n} To return the last character of first line in a text. fn last_char_of_first_line(text: &str) -> Option { text.lines() // Converts string slice into iterator of lines .next()? // Returns First element of iterator or None .chars() // Converts string slice into iteratot of characters .last() // Returns last element\n} Read command line arguments and store them into a vector. use std::env; fn main() { let args: Vec = env::args().collect(); println!(\"{:?}\", args);\n}","breadcrumbs":"Useful Snippets » Useful Operations » Useful operations","id":"74","title":"Useful operations"},"75":{"body":"","breadcrumbs":"Useful Snippets » Useful Functions » Useful Functions","id":"75","title":"Useful Functions"},"76":{"body":"If we call unwrap it will make sure that if the result was an error, it will terminate our program, if it is a success it will yield the contents of it’s results. We use it while taking input. io::stdin().read_line(&mut input).unwrap();","breadcrumbs":"Useful Snippets » Useful Functions » unwrap()","id":"76","title":"unwrap()"},"77":{"body":"This function removes all whitespaces from a string. let trimmed_string = input_string.trim();","breadcrumbs":"Useful Snippets » Useful Functions » trim()","id":"77","title":"trim()"},"78":{"body":"This function will parse the variable to different data type. We’ll only have to provide the data type to the variable and the parse() will call the required parsing function. The parse() returns a Result instead of parsed variable since it has a chance of failure. For Example, if we try to convert a string into floats which contains alphabets. So, we use unwrap() along with parse, telling the compiler to stop the execution in case of failure. let weight: f32 = input.trim().parse().unwrap();","breadcrumbs":"Useful Snippets » Useful Functions » parse()","id":"78","title":"parse()"},"79":{"body":"This function is used to handle the result and error variables. If the result is ok, then it will return the unwrapped result, if error happens, it will return the error passed in the or function. There is a question mark in the end, which is a shorthand for match block, if we don’t use question mark, we’ll have to still use the match block with or function. // Traditional Method\nmatch str::from_utf8(buf) { Ok(request) => {}, Err(_) => return Err(ParseError::InvalidEncoding)\n} // Using or function\nstr::from_utf8(buf).or(Err(ParseError::InvalidEncoding))?;","breadcrumbs":"Useful Snippets » Useful Functions » or()","id":"79","title":"or()"},"8":{"body":"You can declare a new variable with the same name as a previous variable, it's called shadowing . fn main() { let x = 5; // Binding x to value 5 let x = x + 1; // Declaring a variable named x again, thereby performing shadowing { let x = x * 2; // Shadowing x again, but within the scope println!(\"The value of x in the inner scope is: {}\", x); } println!(\"The value of x is: {}\", x);\n} // Output:\n// The value of x in the inner scope is: 12\n// The value of x is: 6 In shadowing, we can make a few transformations on a value but have the variable be immutable, unlike let mut. You can perform type conversions and still keep the same name. // Shadowing compiles without errors\nlet spaces = \" \";\nlet spaces = spaces.len(); // It's not possible to change type of a mutable Variables\nlet mut spaces = \" \";\nspaces = spaces.len(); // This line won't compile","breadcrumbs":"Basics of Rust » Variables and Mutability » Shadowing","id":"8","title":"Shadowing"},"80":{"body":"","breadcrumbs":"Useful Snippets » Useful Macros » Useful Macros","id":"80","title":"Useful Macros"},"81":{"body":"Indicates unfinished code. This can be useful if you are prototyping and are just looking to have your code typecheck. fn untested_function() { // let's not worry about implementing untested_function() for now todo!();\n}","breadcrumbs":"Useful Snippets » Useful Macros » todo!()","id":"81","title":"todo!()"},"82":{"body":"This is a debug macro, we can pass any variable inside it to see debug logs in console. let my_variable = 12.0;\ndbg!(my_variable)","breadcrumbs":"Useful Snippets » Useful Macros » dbg!()","id":"82","title":"dbg!()"},"83":{"body":"This section contains the tools that are not the part of official Rust and are created by the dev team at MASQ for the development of the project.","breadcrumbs":"MASQ Rust Tools » MASQ Rust Tools","id":"83","title":"MASQ Rust Tools"},"84":{"body":"The following sections contain reference material you may find useful in your Rust journey.","breadcrumbs":"Appendix » Appendix","id":"84","title":"Appendix"},"85":{"body":"For Linux and macOS: Download the rustup and install it using: curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh You may need to install C compiler, because it'll give you a linker and also because some common Rust packages depend on C code: For macOS: xcode-select --install For Linux: Linux users should generally install GCC or Clang, according to their distribution’s documentation. For example, if you use Ubuntu, you can install the build-essential package. For Windows: People should follow these instructions to install Rust. Also, install Build Tools for Visual Studio 2019 .","breadcrumbs":"Appendix » Installaiton » Installation","id":"85","title":"Installation"},"86":{"body":"To check version or to verify that Rust is installed properly: rustc --version Update Rust: rustup update Uninstall Rust and rustup: rustup self uninstall Open Rust Docs locally on browser: rustup doc List the rustup toolchain rustup toolchain list Install rustup toolchain rustup toolchain install nightly-x86_64-unknown-linux-gnu Use nightly on a specific project (after this all the rustc and cargo commands will use nightly): cd ~/projects/needs-nightly\nrustup override set nightly","breadcrumbs":"Appendix » Basic Rust Commands » Basic Rust Commands","id":"86","title":"Basic Rust Commands"},"87":{"body":"Rust code uses snake case as the conventional style for function and variable names, in which all letters are lowercase and underscores separate words. Rust style is to indent with four spaces, not a tab. Naming convention for constants is to use all uppercase with underscores between words. const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; The names of static variables are in SCREAMING_SNAKE_CASE by convention. The names of a type in rust uses CamelCase. For example, consider T in Result. Documentation Comments use ///, and is converted to HTML, unlike simple comments //. So simply add the documentation above the items. Learn more .","breadcrumbs":"Appendix » Conventions in Rust » Conventions in Rust","id":"87","title":"Conventions in Rust"},"88":{"body":"Always remember that, programmers are interested in knowing how to use your crate as opposed to how your crate is implemented . You'll be using /// for documentation. Notice that you'll need to add docs comment above your item, not inside the {}. Using this///, we're documenting the item that follows it. /// Adds one to the number given.\n///\n/// # Examples\n///\n/// ```\n/// let arg = 5;\n/// let answer = my_crate::add_one(arg);\n///\n/// assert_eq!(6, answer);\n/// ```\npub fn add_one(x: i32) -> i32 { x + 1\n} You can use cargo doc to generate the docs as HTML, and can open it through target/doc directory or by running the command cargo doc --open. Just like Examples as shown in the above code, you can use other sections too. Here are other commonly used sections . Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work. Doc-tests my_crate running 1 test\ntest src/lib.rs - add_one (line 5) ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s To document a whole crate, //! is used in the crate root file (src/lib.rs). Using this //!, we’re documenting the item that contains this comment. //! # My Crate\n//!\n//! `my_crate` is a collection of utilities to make performing certain\n//! calculations more convenient.","breadcrumbs":"Appendix » Documentation » Documentation","id":"88","title":"Documentation"},"89":{"body":"It is the package manager for rust. It does the following things: Manages Rust Projects Download packages or dependencies Build both your code and it's dependencies Check Cargo Installation or Version: cargo --version Create New Boilerplate Project: cargo new {project-name} Create Boilerplate Binary Project (only main.rs): cargo new {project-name} --bin Create Boilerplate Library Project (for writing tests, contains lib.rs): cargo new {project-name} --lib Help for Cargo new: cargo new --help Build a Project (Installing Dependencies and Compiling): cargo build Run a Project (build + run): cargo run Running through executable binary: ./target/debug/hello_cargo # or .\\target\\debug\\hello_cargo.exe on Windows Compile but don't generate executable (it's just faster than cargo build): cargo check Build for releases (it's optimized and binaries lives in target/release): cargo build --release To generate docs, you can access them through target/doc: cargo doc To generate docs of all dependencies of your project and run them in browser: cargo doc --open We can install cargo-expand to use cargo libraries system wide. cargo install cargo-expand The cargo expand command cargo expand To install a package from crates.io into your system, you may use this command (only binary crates can be installed and ensure that $HOME/.cargo/bin is in your $PATH): cargo install To list out custom cargo commands: cargo --list To automatically format code: cargo fmt To automatically fix warnings (fixable by compiler): cargo fix To Lint your code: cargo clippy The opt-level The opt-level setting controls the number of optimizations Rust will apply to your code, with a range of 0 to 3. // Filename: Cargo.toml\n[profile.dev]\nopt-level = 0 // Less Optimization, less compiling time [profile.release]\nopt-level = 3 // More Optimizations, more compiling time You can override any default setting by adding a different value for it in Cargo.toml. To override, you can add these two lines below the above lines. // Filename: Cargo.toml\n[profile.dev]\nopt-level = 1 To learn more about customizing profiles, you can read the docs here . For more information about Cargo, check out its documentation .","breadcrumbs":"Appendix » Cargo » Cargo","id":"89","title":"Cargo"},"9":{"body":"Shadowing Mutable Variables Transform a variable but still keep it as immutable. We only make transformations after making variable mutable. We need to declare variable with let everytime we perform shadowing. We need to declare variable with only let mut once. It is possible to change the type of variable and keep the same name. It is not possible to change the type of mutable variable.","breadcrumbs":"Basics of Rust » Variables and Mutability » Shadowing Vs Mutable Variables","id":"9","title":"Shadowing Vs Mutable Variables"},"90":{"body":"When you use, cargo new, Rust adds a bit of metadata to your cargo.toml about edition under [package]. edition = \"2021\" Here are the details about editions: Edition Description 2015 If no edition is specified, your project is using this edition. 2018 The Rust Book is written using this edition. 2021 This is the latest release at the moment. Rust has a 6-week release cycle. Rust releases small changes very often rather than big changes less often. Every 2-3 years, Rust team releases a new edition. Rust supports backward compatibility, it means even if you update your Rust software your old code will still compile. Here are the following cases you may consider: Edition Dependency Will Compile? 2015 2018 :white_check_mark: 2018 2015 :white_check_mark: For more details, the Edition Guide is a complete book about editions that enumerates the differences between editions and explains how to automatically upgrade your code to a new edition via cargo fix.","breadcrumbs":"Appendix » Editions in Rust » Editions in Rust","id":"90","title":"Editions in Rust"}},"length":91,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"1":{"0":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"=":{"9":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":1,"docs":{"44":{"tf":1.0}}},"2":{"7":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"6":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"8":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"8":{".":{"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"1":{"1":{"1":{"1":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"57":{"tf":2.8284271247461903},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"o":{"7":{"7":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{".":{".":{"2":{"0":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"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":{"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":{}},"x":{"0":{"1":{"2":{"3":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"1":{",":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"1":{"0":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"4":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":2,"docs":{"12":{"tf":1.0},"54":{"tf":1.7320508075688772}}},"=":{"1":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"5":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{".":{"=":{"1":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"df":9,"docs":{"19":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":2.8284271247461903},"44":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"1":{"df":2,"docs":{"44":{"tf":1.0},"50":{"tf":1.0}}},"2":{".":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}},"df":0,"docs":{}},"7":{".":{"0":{".":{"0":{".":{"1":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":4,"docs":{"35":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"60":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"3":{"5":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":1,"docs":{"52":{"tf":1.0}}},"4":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.7320508075688772},"60":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"5":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}},"8":{"df":1,"docs":{"14":{"tf":1.0}}},"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"7":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"9":{",":{"2":{"3":{"4":{",":{"9":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"0":{",":{"3":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":28,"docs":{"11":{"tf":2.449489742783178},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"37":{"tf":2.449489742783178},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"52":{"tf":3.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"2":{",":{"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"5":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"8":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"9":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"19":{"tf":1.0},"52":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"14":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"57":{"tf":1.0}}},"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}}},"df":22,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"3":{",":{"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"=":{"7":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"11":{"tf":1.0}}},"5":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"57":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951}}},"4":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.6457513110645907},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"4":{",":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"48":{"tf":2.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":14,"docs":{"11":{"tf":1.0},"12":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"57":{"tf":2.6457513110645907},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0}}},"5":{",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"0":{"0":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":7,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":2.6457513110645907},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}}},"7":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":22,"docs":{"12":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"48":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"57":{"tf":3.1622776601683795},"58":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"69":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}},"6":{".":{"4":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"11":{"tf":1.0}}},"4":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"5":{"7":{",":{"2":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"49":{"tf":1.0}}},"df":10,"docs":{"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"35":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"6":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"5":{"df":1,"docs":{"55":{"tf":1.0}}},"df":5,"docs":{"37":{"tf":1.7320508075688772},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"8":{"df":7,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}},"9":{"1":{"5":{",":{"7":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"37":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":4,"docs":{"37":{"tf":2.449489742783178},"40":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.872983346207417}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}},"e":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"x":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"a":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"j":{"df":1,"docs":{"57":{"tf":1.0}}}},"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{".":{".":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"58":{"tf":1.0}},"i":{"df":1,"docs":{"58":{"tf":1.7320508075688772}},"l":{"df":2,"docs":{"30":{"tf":1.0},"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"v":{"df":17,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"2":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"52":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":11,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"2":{"tf":1.7320508075688772},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":3.605551275463989},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":2.8284271247461903},"89":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"d":{"df":4,"docs":{"11":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":3,"docs":{"2":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}},"/":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":2.6457513110645907},"69":{"tf":1.0},"88":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"61":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"44":{"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":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.23606797749979},"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":26,"docs":{"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"(":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"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":2.8284271247461903},"68":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"46":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"df":12,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"13":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"53":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}}}},"df":1,"docs":{"57":{"tf":1.7320508075688772}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"49":{"tf":2.0}}}}}},"o":{"df":1,"docs":{"50":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"3":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"b":{"a":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"a":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}}},"o":{"c":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"53":{"tf":2.0}}},"df":0,"docs":{},"w":{"df":23,"docs":{"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":3.7416573867739413},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.8284271247461903},"65":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"37":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}},"n":{"df":6,"docs":{"3":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":15,"docs":{"11":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"35":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"51":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},">":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":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":{"59":{"tf":1.7320508075688772}}}},"n":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"t":{"df":8,"docs":{"25":{"tf":1.4142135623730951},"39":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"46":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"29":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"58":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"84":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.0},"50":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.0},"42":{"tf":1.7320508075688772},"55":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"60":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"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":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"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":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.7320508075688772},"48":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":5,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"g":{"df":5,"docs":{"52":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.4142135623730951},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"65":{"tf":1.0}}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"m":{"df":6,"docs":{"18":{"tf":1.4142135623730951},"37":{"tf":2.0},"57":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"12":{"tf":3.0},"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"k":{"df":6,"docs":{"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"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":{},"q":{"!":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"68":{"tf":1.0}}},"6":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"7":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"1":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"63":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"34":{"tf":3.4641016151377544},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"59":{"tf":3.3166247903554},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"23":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"52":{"tf":1.0}}}}},"t":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"62":{"tf":1.0}}},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"33":{"tf":1.0},"34":{"tf":2.0},"62":{"tf":2.8284271247461903},"65":{"tf":3.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"b":{"'":{"a":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"72":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"37":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"26":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"86":{"tf":1.0}}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":7,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"57":{"tf":2.6457513110645907},"63":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0}}}}},"df":6,"docs":{"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":13,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":3,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"30":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.7320508075688772},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}},"w":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":2.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"52":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"72":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":15,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"30":{"tf":1.0},"90":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"89":{"tf":2.0}}}}},"d":{"df":2,"docs":{"57":{"tf":2.23606797749979},"8":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"t":{"df":5,"docs":{"11":{"tf":2.23606797749979},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"62":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"3":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.7320508075688772}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"54":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"l":{"df":7,"docs":{"11":{"tf":1.0},"18":{"tf":1.4142135623730951},"25":{"tf":1.0},"34":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":12,"docs":{"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":2.23606797749979},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"58":{"tf":2.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"12":{"tf":1.0},"49":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":1,"docs":{"60":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":2,"docs":{"53":{"tf":3.0},"61":{"tf":1.0}}}},"df":2,"docs":{"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"51":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"19":{"tf":3.1622776601683795},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"g":{"df":4,"docs":{"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.6457513110645907}}},"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":1.0},"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":2.449489742783178}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"50":{"tf":1.0},"60":{"tf":1.4142135623730951}},"s":{"(":{"9":{"5":{".":{".":{"1":{"0":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"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":0,"docs":{},"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":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"/":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"44":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"|":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"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":0,"docs":{},"s":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"s":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"52":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":34,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":3.3166247903554},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":3.1622776601683795},"53":{"tf":3.7416573867739413},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"58":{"tf":3.7416573867739413},"59":{"tf":3.1622776601683795},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":3.1622776601683795},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":13,"docs":{"12":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"68":{"tf":1.0}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":11,"docs":{"16":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"c":{"df":2,"docs":{"13":{"tf":1.0},"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":3.3166247903554},"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"46":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0}}}}}}},"df":14,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.23606797749979},"46":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":3.3166247903554},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":5.291502622129181},"90":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":3.3166247903554},"39":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"52":{"tf":1.4142135623730951},"53":{"tf":3.1622776601683795},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.0},"68":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"14":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"58":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":12,"docs":{"14":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":3.605551275463989},"57":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"35":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":2.23606797749979}}}}}}},"df":1,"docs":{"68":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":17,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"65":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":3.0},"19":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"57":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"46":{"tf":2.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"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":{"2":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":2.23606797749979},"26":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}},"r":{"df":2,"docs":{"14":{"tf":1.0},"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"24":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"47":{"tf":1.0},"52":{"tf":6.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":3.7416573867739413}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":41,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":4.69041575982343},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":3.605551275463989},"48":{"tf":1.7320508075688772},"49":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"51":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.0},"54":{"tf":2.449489742783178},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":4.58257569495584},"59":{"tf":1.4142135623730951},"60":{"tf":2.0},"62":{"tf":5.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":3.7416573867739413},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"37":{"tf":3.4641016151377544}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"14":{"tf":2.23606797749979},"20":{"tf":1.0},"38":{"tf":2.0},"40":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"df":1,"docs":{"34":{"tf":1.0}}},"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"57":{"tf":3.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"21":{"tf":1.0},"26":{"tf":2.6457513110645907},"53":{"tf":1.0},"62":{"tf":1.0}}},"m":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"74":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":8,"docs":{"35":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"4":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":3.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.0},"63":{"tf":2.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"44":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":32,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"31":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":2.449489742783178},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":3.4641016151377544},"52":{"tf":1.4142135623730951},"53":{"tf":3.605551275463989},"55":{"tf":2.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"90":{"tf":1.0}}},"x":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":2,"docs":{"42":{"tf":1.0},"55":{"tf":3.7416573867739413}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"7":{"tf":1.0}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"35":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0}},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"2":{"tf":1.0},"54":{"tf":3.0},"58":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"4":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"s":{"(":{"1":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"53":{"tf":1.0}}},"_":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"4":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"82":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":2.0},"7":{"tf":3.0},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"20":{"tf":1.0},"50":{"tf":1.0}}}}}}},"df":3,"docs":{"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"87":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"62":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":25,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":2.0},"55":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"s":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":3,"docs":{"19":{"tf":1.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"17":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":5,"docs":{"42":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":2.0}}}},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"t":{"df":8,"docs":{"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"23":{"tf":4.123105625617661},"24":{"tf":1.7320508075688772},"25":{"tf":2.8284271247461903},"26":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"63":{"tf":2.6457513110645907}}},"y":{">":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"37":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":4.69041575982343},"54":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":2.6457513110645907},"58":{"tf":1.7320508075688772},"59":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"47":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":10,"docs":{"41":{"tf":1.0},"42":{"tf":5.196152422706632},"44":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":3.605551275463989},"68":{"tf":3.0},"74":{"tf":1.0},"88":{"tf":2.23606797749979},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"’":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":31,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.0},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":7,"docs":{"33":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"89":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":3.605551275463989}}}}}}}}}},"df":0,"docs":{}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.8284271247461903},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.7320508075688772}}}},"l":{"df":3,"docs":{"31":{"tf":2.8284271247461903},"32":{"tf":1.0},"50":{"tf":2.23606797749979}}}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"a":{"df":35,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":2.6457513110645907},"23":{"tf":2.449489742783178},"24":{"tf":2.23606797749979},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":2.6457513110645907},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"35":{"tf":2.8284271247461903},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":5.477225575051661},"54":{"tf":3.0},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"58":{"tf":2.449489742783178},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":2.0},"57":{"tf":1.0}}}},"b":{"df":0,"docs":{},"g":{"!":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"3":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"34":{"tf":1.7320508075688772},"82":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"42":{"tf":1.0},"50":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"34":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":15,"docs":{"12":{"tf":2.6457513110645907},"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}},"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":{"63":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.4142135623730951},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":2.6457513110645907},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"89":{"tf":1.0}},"—":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"42":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":3.4641016151377544},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"65":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"28":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":2.23606797749979},"52":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"14":{"tf":1.0},"53":{"tf":4.58257569495584},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"34":{"tf":1.7320508075688772},"62":{"tf":3.0},"63":{"tf":2.8284271247461903}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":2.23606797749979}}}}}}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"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":{"53":{"tf":1.7320508075688772}}}},"r":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":1,"docs":{"12":{"tf":1.0}},"r":{"df":2,"docs":{"12":{"tf":1.0},"57":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"40":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"v":{"df":5,"docs":{"0":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"50":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":2,"docs":{"27":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"2":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"42":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"44":{"tf":2.6457513110645907},"62":{"tf":1.0},"68":{"tf":3.605551275463989},"88":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}},"d":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"55":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"51":{"tf":1.7320508075688772},"59":{"tf":2.449489742783178},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"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":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"42":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"60":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"df":5,"docs":{"69":{"tf":2.23606797749979},"70":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.23606797749979}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"54":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":1.0}}}}}}}},"df":3,"docs":{"27":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}}},"g":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.8284271247461903}}},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":15,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.449489742783178},"89":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":6,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"34":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":4,"docs":{"20":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"n":{"df":2,"docs":{"64":{"tf":1.0},"71":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":4.69041575982343},"54":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"48":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772}}}},"df":3,"docs":{"55":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":20,"docs":{"14":{"tf":2.0},"22":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.449489742783178}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":3,"docs":{"31":{"tf":1.0},"6":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"y":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":2.0},"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":2.0},"90":{"tf":3.7416573867739413}}}}},"df":3,"docs":{"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"58":{"tf":1.0}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"49":{"tf":1.0},"60":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"d":{"df":5,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"35":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"46":{"tf":1.0}}}}}}},"d":{"df":16,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"27":{"tf":1.0},"30":{"tf":1.0},"39":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":16,"docs":{"34":{"tf":1.0},"35":{"tf":5.0990195135927845},"37":{"tf":2.6457513110645907},"39":{"tf":1.7320508075688772},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"53":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"35":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}}},"v":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"74":{"tf":1.0}}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":2.8284271247461903}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}}},"q":{"df":1,"docs":{"63":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":5,"docs":{"12":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":2.0},"65":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"_":{"df":2,"docs":{"60":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":2,"docs":{"46":{"tf":3.1622776601683795},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"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":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"65":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"31":{"tf":1.0}}},"r":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":17,"docs":{"14":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"46":{"tf":5.291502622129181},"50":{"tf":1.7320508075688772},"53":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}},"t":{"c":{"df":5,"docs":{"34":{"tf":1.0},"4":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":15,"docs":{"18":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":34,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":2.6457513110645907},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"(":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"52":{"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":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":4,"docs":{"19":{"tf":1.0},"2":{"tf":1.0},"54":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":2.0}}},"df":0,"docs":{}}},"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":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"61":{"tf":1.0},"65":{"tf":2.23606797749979}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"90":{"tf":1.0}}}},"n":{"df":3,"docs":{"52":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"62":{"tf":1.0}}}},"s":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":3.1622776601683795},"18":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":3.4641016151377544},"46":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":3.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"7":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":2.449489742783178},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}},"f":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"3":{"2":{"df":3,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":27,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"74":{"tf":1.0},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"78":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"37":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":5,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":2.0},"57":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":4,"docs":{"46":{"tf":3.872983346207417},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"w":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":10,"docs":{"33":{"tf":1.0},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{":":{"/":{"/":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"d":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}}},"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"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":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"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":{},"e":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"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":{"46":{"tf":1.0}}}}},"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"?":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":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":{"46":{"tf":2.449489742783178},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"46":{"tf":4.0},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":4.242640687119285},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"3":{"tf":1.0},"44":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":2.0}}}}}}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"n":{"d":{"df":9,"docs":{"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"48":{"tf":1.0},"60":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"(":{"&":{"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"29":{"tf":1.4142135623730951},"50":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"<":{"'":{"a":{">":{"(":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":24,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"21":{"tf":1.0},"37":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}}},"x":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"13":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"6":{"4":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":5,"docs":{"11":{"tf":2.0},"25":{"tf":1.0},"48":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}},"w":{"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":2.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":{},"t":{"df":1,"docs":{"59":{"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":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":38,"docs":{"14":{"tf":2.0},"15":{"tf":3.0},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":3.0},"28":{"tf":2.23606797749979},"29":{"tf":1.7320508075688772},"3":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":3.605551275463989},"35":{"tf":2.23606797749979},"37":{"tf":3.7416573867739413},"42":{"tf":3.605551275463989},"44":{"tf":2.449489742783178},"46":{"tf":3.7416573867739413},"48":{"tf":2.6457513110645907},"49":{"tf":4.47213595499958},"50":{"tf":3.605551275463989},"51":{"tf":1.0},"52":{"tf":4.358898943540674},"53":{"tf":5.291502622129181},"54":{"tf":3.0},"55":{"tf":2.8284271247461903},"57":{"tf":3.3166247903554},"58":{"tf":3.1622776601683795},"59":{"tf":5.0},"60":{"tf":2.8284271247461903},"61":{"tf":3.1622776601683795},"62":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772},"65":{"tf":2.8284271247461903},"68":{"tf":2.8284271247461903},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":2.23606797749979},"61":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"52":{"tf":2.0},"61":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":31,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"(":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"_":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"r":{"c":{"df":2,"docs":{"52":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"62":{"tf":1.0},"89":{"tf":1.0}}}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":3,"docs":{"35":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"26":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"42":{"tf":2.6457513110645907},"44":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"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":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"14":{"tf":1.0},"31":{"tf":1.0}}},"1":{"df":1,"docs":{"42":{"tf":1.0}}},"2":{"df":1,"docs":{"42":{"tf":1.0}}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":47,"docs":{"13":{"tf":1.0},"15":{"tf":4.0},"16":{"tf":2.23606797749979},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":3.1622776601683795},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"34":{"tf":4.242640687119285},"35":{"tf":2.449489742783178},"37":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"45":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":2.6457513110645907},"50":{"tf":3.4641016151377544},"51":{"tf":1.0},"52":{"tf":4.358898943540674},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.449489742783178},"58":{"tf":3.872983346207417},"59":{"tf":2.8284271247461903},"60":{"tf":2.6457513110645907},"61":{"tf":4.242640687119285},"62":{"tf":4.242640687119285},"63":{"tf":2.449489742783178},"65":{"tf":3.872983346207417},"68":{"tf":3.3166247903554},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"87":{"tf":1.0},"88":{"tf":1.0}},"’":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"3":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"57":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"35":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.4641016151377544},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":2.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"74":{"tf":2.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":11,"docs":{"3":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}},"n":{"df":7,"docs":{"32":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"26":{"tf":2.0}}}}}}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"58":{"tf":2.23606797749979},"7":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"86":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":11,"docs":{"23":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":9,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0}}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"32":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"_":{"1":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":2,"docs":{"12":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"34":{"tf":1.0},"57":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"33":{"tf":1.0},"42":{"tf":1.4142135623730951}}}},"w":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"54":{"tf":1.0},"57":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"60":{"tf":2.23606797749979},"65":{"tf":2.449489742783178}}}}},"i":{":":{":":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"45":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"d":{"df":4,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.0}}},"l":{"df":7,"docs":{"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":3.0},"54":{"tf":2.8284271247461903},"79":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":2.23606797749979},"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":2,"docs":{"40":{"tf":1.0},"63":{"tf":1.7320508075688772}}}},"df":2,"docs":{"40":{"tf":3.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"3":{"tf":1.0},"35":{"tf":2.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"c":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":3.1622776601683795},"23":{"tf":2.23606797749979},"24":{"tf":2.0},"26":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":2.6457513110645907},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}},"v":{"df":0,"docs":{},"y":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":3.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":3.3166247903554},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"(":{"&":{"(":{"*":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"[":{"0":{".":{".":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"14":{"tf":2.8284271247461903},"29":{"tf":1.0},"3":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"66":{"tf":2.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":2.0}}}}}},"n":{"c":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":27,"docs":{"14":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"30":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":4.69041575982343}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"df":8,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.8284271247461903},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.449489742783178},"44":{"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":{}}}}}},"w":{"'":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{",":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}},"s":{":":{"/":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"i":{".":{"df":1,"docs":{"58":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":2.0},"15":{"tf":2.8284271247461903},"19":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":4.0},"39":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":3.3166247903554},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":4.0},"58":{"tf":4.0},"59":{"tf":2.0},"60":{"tf":2.449489742783178},"61":{"tf":2.6457513110645907},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"11":{"tf":1.0},"35":{"tf":1.7320508075688772}}},"d":{"=":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":2,"docs":{"57":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951}},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"63":{"tf":1.0}},"i":{"df":4,"docs":{"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":3.0}}}}}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":2.6457513110645907},"58":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.3166247903554},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"55":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"39":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":4.123105625617661},"54":{"tf":1.0},"58":{"tf":2.6457513110645907},"6":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"(":{"&":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":12,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"48":{"tf":2.23606797749979},"49":{"tf":3.4641016151377544},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"62":{"tf":1.4142135623730951},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"14":{"tf":1.0},"25":{"tf":2.23606797749979},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":5.385164807134504},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.3166247903554},"53":{"tf":3.605551275463989},"54":{"tf":2.6457513110645907},"55":{"tf":3.1622776601683795},"57":{"tf":1.4142135623730951},"58":{"tf":3.1622776601683795},"59":{"tf":5.291502622129181},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":3.7416573867739413},"63":{"tf":3.605551275463989},"65":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"39":{"tf":1.0}}}}}}},"df":2,"docs":{"23":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0}}}},"s":{"df":1,"docs":{"52":{"tf":1.0}},"s":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}}},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}},"h":{"df":1,"docs":{"57":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"d":{"df":11,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"23":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"53":{"tf":2.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"54":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":3.0}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"19":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"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":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":4,"docs":{"14":{"tf":1.0},"50":{"tf":2.0},"74":{"tf":2.8284271247461903},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":26,"docs":{"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":2.0},"59":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":2.23606797749979},"68":{"tf":2.8284271247461903},"82":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"3":{"tf":1.4142135623730951},"85":{"tf":2.8284271247461903},"86":{"tf":1.7320508075688772},"89":{"tf":2.6457513110645907}}},"n":{"c":{"df":8,"docs":{"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":2.8284271247461903}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":17,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":8,"docs":{"11":{"tf":2.6457513110645907},"13":{"tf":1.0},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"63":{"tf":1.0},"68":{"tf":3.4641016151377544},"70":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}},"f":{"a":{"c":{"df":5,"docs":{"42":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"58":{"tf":2.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}}}},"n":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"1":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"23":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}}}}},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"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":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":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":{"42":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"v":{"4":{"(":{"1":{"2":{"7":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{":":{":":{"1":{"df":1,"docs":{"35":{"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":2,"docs":{"35":{"tf":2.449489742783178},"46":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":3.1622776601683795}}}}}}}},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"11":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"63":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"'":{"df":26,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":2.6457513110645907},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"l":{"df":18,"docs":{"12":{"tf":1.0},"14":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"_":{"a":{"d":{"d":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"68":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"7":{"5":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"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":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":15,"docs":{"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":3.3166247903554},"46":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"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":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":5.744562646538029},"54":{"tf":1.0},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}}}},"’":{"df":14,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.0},"76":{"tf":1.0}}}},"’":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}},"s":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}},"k":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"z":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"40":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":9,"docs":{"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"63":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"15":{"tf":1.4142135623730951},"28":{"tf":1.0},"42":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.8284271247461903},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":2.23606797749979}}}}}}},"n":{"d":{"df":9,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"10":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"60":{"tf":2.23606797749979}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":20,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"23":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"&":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":3,"docs":{"35":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":3.0}}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"74":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}},"r":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"21":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"k":{"df":3,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"58":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"1":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0}}}},"v":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"65":{"tf":2.0}}}},"n":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"60":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"21":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"t":{"'":{"df":10,"docs":{"14":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0}}},"df":6,"docs":{"33":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"57":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"12":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.7320508075688772},"58":{"tf":1.0},"89":{"tf":2.23606797749979}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"68":{"tf":1.0},"89":{"tf":1.0}}}},"df":3,"docs":{"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"89":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"y":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"55":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"30":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":2.0},"47":{"tf":1.0},"50":{"tf":8.246211251235321},"51":{"tf":2.0},"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"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":{"(":{"8":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"27":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":15,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.0},"8":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"k":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}}},"t":{"df":1,"docs":{"89":{"tf":1.0}}},"u":{"df":0,"docs":{},"x":{"df":3,"docs":{"3":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"61":{"tf":2.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":9,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"55":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":2.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"50":{"tf":3.0},"52":{"tf":1.0},"68":{"tf":2.0},"89":{"tf":1.0}}}}},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"74":{"tf":1.0},"86":{"tf":1.0}}},"t":{"df":7,"docs":{"2":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"2":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"50":{"tf":2.8284271247461903},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":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":{"50":{"tf":2.0},"51":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"df":13,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"19":{"tf":4.58257569495584},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"w":{"df":3,"docs":{"12":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}}}}}},"m":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"o":{"df":2,"docs":{"3":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}}}},"df":12,"docs":{"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":8.12403840463596},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"3":{"tf":2.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":34,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":2.0},"31":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":3.1622776601683795},"48":{"tf":2.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":4.123105625617661},"54":{"tf":5.291502622129181},"55":{"tf":1.4142135623730951},"57":{"tf":3.0},"58":{"tf":2.0},"59":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.7320508075688772},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"e":{"df":31,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":2.6457513110645907},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"76":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"3":{"tf":1.0},"54":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"65":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"31":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"|":{"(":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"0":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":5,"docs":{"38":{"tf":1.0},"40":{"tf":2.23606797749979},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":6,"docs":{"3":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"q":{"df":2,"docs":{"0":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":16,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":5.0990195135927845},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"46":{"tf":3.3166247903554},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":6.0},"60":{"tf":2.0},"62":{"tf":3.605551275463989},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"84":{"tf":1.0}}}}},"h":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"x":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"33":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":3,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}},"i":{"df":18,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"2":{"tf":2.6457513110645907},"20":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.7320508075688772},"26":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":3.4641016151377544},"54":{"tf":2.23606797749979},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"62":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"31":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"58":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"65":{"tf":2.23606797749979}},"e":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"1":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"b":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.1622776601683795}}}}}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"34":{"tf":4.0},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":3.1622776601683795},"50":{"tf":2.6457513110645907},"52":{"tf":2.23606797749979},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"58":{"tf":2.449489742783178},"59":{"tf":2.0},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"79":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"58":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":2.0},"60":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"54":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"60":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"(":{"c":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"42":{"tf":3.0},"44":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"df":4,"docs":{"53":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":6,"docs":{"41":{"tf":1.0},"42":{"tf":5.0990195135927845},"44":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"46":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":3.605551275463989},"24":{"tf":1.0},"26":{"tf":3.4641016151377544},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":3.1622776601683795},"54":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":17,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"62":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":16,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":2.449489742783178},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":4.47213595499958},"54":{"tf":1.0},"58":{"tf":3.1622776601683795},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"34":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0}}}},"df":24,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":3.3166247903554},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.6457513110645907},"42":{"tf":1.0},"46":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.8284271247461903},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":4.123105625617661},"59":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"r":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"53":{"tf":1.4142135623730951}}}}},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":30,"docs":{"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":1.7320508075688772},"42":{"tf":3.7416573867739413},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772},"62":{"tf":3.872983346207417},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.7320508075688772},"87":{"tf":2.0},"89":{"tf":2.0},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"52":{"tf":1.0},"74":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":31,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.449489742783178},"52":{"tf":3.1622776601683795},"53":{"tf":2.449489742783178},"54":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.0},"7":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"57":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"23":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":3.1622776601683795},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}},"x":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":28,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.0},"8":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"21":{"tf":1.0},"39":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"86":{"tf":2.23606797749979}}}}}}},"l":{"df":1,"docs":{"53":{"tf":4.242640687119285}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}},"e":{"df":13,"docs":{"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"57":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"14":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"h":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0}}},"i":{"c":{"df":7,"docs":{"44":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"'":{".":{"'":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":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":{"50":{"tf":1.0}}}}},"w":{"df":21,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0}}}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":2.0},"35":{"tf":3.1622776601683795},"37":{"tf":1.0},"58":{"tf":1.4142135623730951}},"’":{"df":1,"docs":{"35":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":4.123105625617661},"19":{"tf":2.449489742783178},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":5.291502622129181},"57":{"tf":3.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":6,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":2.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.449489742783178},"60":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"55":{"tf":1.0}}},".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}}},"df":4,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":4.358898943540674}},"’":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"c":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"2":{"tf":1.0},"30":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"55":{"tf":2.23606797749979}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":2,"docs":{"46":{"tf":1.0},"60":{"tf":1.0}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.7320508075688772}},"f":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}},"t":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"48":{"tf":1.0}}}},"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"26":{"tf":1.0},"58":{"tf":1.0},"72":{"tf":1.0}}}},"df":6,"docs":{"46":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"74":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"l":{"d":{"df":4,"docs":{"39":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.4142135623730951},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":11,"docs":{"12":{"tf":1.4142135623730951},"18":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":35,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":2.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903},"53":{"tf":3.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":2.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"66":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":2.23606797749979},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"r":{"df":21,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":3.4641016151377544},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"89":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":1.0},"89":{"tf":2.0}}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"63":{"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":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":6,"docs":{"35":{"tf":2.449489742783178},"37":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"16":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"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":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}}},"d":{"df":1,"docs":{"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":2.23606797749979},"37":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"i":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"34":{"tf":1.0},"59":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"46":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":4,"docs":{"19":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"65":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"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":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.0}}}}}}}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":15,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"59":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"27":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":14,"docs":{"14":{"tf":2.0},"21":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"52":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":3,"docs":{"49":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"53":{"tf":3.0},"57":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":13,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":2.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"4":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":3.0},"54":{"tf":2.6457513110645907},"57":{"tf":1.0}}}}}}}}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"1":{")":{".":{"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":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"48":{"tf":1.0}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":1,"docs":{"48":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":3.3166247903554},"44":{"tf":2.23606797749979},"55":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":2,"docs":{"34":{"tf":1.0},"52":{"tf":1.0}}}},"n":{"c":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":3.3166247903554}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":5.0990195135927845},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":3.872983346207417},"69":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":4.242640687119285},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"57":{"tf":2.449489742783178},"59":{"tf":2.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"35":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"s":{"df":3,"docs":{"62":{"tf":1.0},"74":{"tf":1.7320508075688772},"78":{"tf":2.6457513110645907}}},"t":{"df":21,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.23606797749979},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"49":{"tf":2.0},"63":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"28":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":27,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"79":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":4.0},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"36":{"tf":1.0},"37":{"tf":3.0},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":5.0990195135927845},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"72":{"tf":1.0}}}}}}}},"df":3,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":2.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"19":{"tf":1.0},"57":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":15,"docs":{"16":{"tf":1.0},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0}},"’":{"df":1,"docs":{"60":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":9,"docs":{"21":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"65":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"37":{"tf":1.0}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"x":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":1,"docs":{"48":{"tf":2.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":13,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":3.1622776601683795},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":3.7416573867739413},"58":{"tf":1.4142135623730951},"59":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":2.0},"21":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"53":{"tf":4.898979485566356},"54":{"tf":1.0},"58":{"tf":4.47213595499958},"60":{"tf":1.7320508075688772},"61":{"tf":2.23606797749979}}}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":2.0}}}}}}}}},"p":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":3.3166247903554},"37":{"tf":2.6457513110645907},"39":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":2.449489742783178},"62":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"50":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"13":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"19":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"&":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"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":12,"docs":{"14":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"f":{"(":{"\"":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"*":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"49":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"b":{"df":1,"docs":{"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"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":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"15":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"i":{"df":2,"docs":{"54":{"tf":2.449489742783178},"60":{"tf":1.0}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"54":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}},"o":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"18":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":2.23606797749979}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"3":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"s":{"1":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"h":{"df":15,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"49":{"tf":2.0},"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"i":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}},"s":{"df":1,"docs":{"57":{"tf":2.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"59":{"tf":1.0}}},"x":{"df":2,"docs":{"57":{"tf":1.0},"60":{"tf":1.0}}},"y":{"df":1,"docs":{"57":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":3.0},"59":{"tf":2.23606797749979},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":2.449489742783178},"68":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":13,"docs":{"23":{"tf":1.7320508075688772},"30":{"tf":3.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0}}}}}},"c":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":3.0}}}}},"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"u":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":1,"docs":{"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}},"e":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"14":{"tf":1.0},"54":{"tf":1.0}}},"df":20,"docs":{"1":{"tf":1.0},"20":{"tf":2.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.6457513110645907},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}},"m":{"df":10,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},"df":12,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":3.1622776601683795},"90":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"85":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"81":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.7320508075688772},"2":{"tf":2.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"u":{"b":{"df":13,"docs":{"42":{"tf":4.358898943540674},"44":{"tf":3.7416573867739413},"49":{"tf":4.242640687119285},"53":{"tf":2.0},"55":{"tf":3.1622776601683795},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":3.1622776601683795},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"49":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"21":{"tf":2.0},"23":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}}},"t":{"df":5,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"42":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"49":{"tf":1.0}},"u":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"df":1,"docs":{"37":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"62":{"tf":2.0}},"e":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}},"1":{"df":2,"docs":{"30":{"tf":3.3166247903554},"58":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"30":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"30":{"tf":2.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"2":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"d":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"1":{".":{".":{"1":{"0":{"1":{"df":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":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":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":1,"docs":{"74":{"tf":2.0}}}}},"df":1,"docs":{"54":{"tf":1.4142135623730951}},"g":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":2,"docs":{"58":{"tf":3.872983346207417},"63":{"tf":2.449489742783178}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":2.0}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"o":{"d":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"53":{"tf":3.605551275463989},"54":{"tf":2.8284271247461903}}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"df":4,"docs":{"50":{"tf":2.6457513110645907},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0}},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":16,"docs":{"11":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":2.23606797749979},"89":{"tf":1.0}},"i":{"df":2,"docs":{"46":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"29":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"68":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":4,"docs":{"13":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":3.1622776601683795}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.23606797749979}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":2.6457513110645907}}},"2":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":5.196152422706632},"65":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{"df":1,"docs":{"65":{"tf":1.0}}},"2":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"3":{"df":1,"docs":{"34":{"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":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"d":{"df":4,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"53":{"tf":1.0},"60":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":2.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":2,"docs":{"53":{"tf":3.1622776601683795},"54":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":30,"docs":{"13":{"tf":1.0},"14":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":3.7416573867739413},"29":{"tf":1.4142135623730951},"30":{"tf":2.8284271247461903},"31":{"tf":3.3166247903554},"32":{"tf":2.0},"34":{"tf":2.6457513110645907},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":5.477225575051661},"52":{"tf":1.4142135623730951},"53":{"tf":6.324555320336759},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"’":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":2.6457513110645907}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":2.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.7320508075688772},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":6,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":2.0}}}}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":5,"docs":{"14":{"tf":1.0},"40":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":10,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"19":{"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":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"df":15,"docs":{"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.6457513110645907},"69":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"34":{"tf":1.0},"53":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"18":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"49":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"c":{"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":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}},"t":{",":{"df":1,"docs":{"48":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}},"u":{"8":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":26,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":3.3166247903554},"52":{"tf":2.0},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"n":{"df":30,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.8284271247461903},"16":{"tf":2.0},"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":3.4641016151377544},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":2.8284271247461903},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.0},"79":{"tf":1.7320508075688772}},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"19":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"g":{"b":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"h":{"df":1,"docs":{"59":{"tf":2.23606797749979}},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":1,"docs":{"54":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}},"t":{"df":2,"docs":{"42":{"tf":3.0},"88":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.0}}},"6":{"df":1,"docs":{"35":{"tf":1.0}}},"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":1,"docs":{"39":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"20":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":4.242640687119285},"68":{"tf":2.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":2.23606797749979}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":10,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":9,"docs":{"15":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0}}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"46":{"tf":1.0}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":3,"docs":{"3":{"tf":1.0},"42":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"df":56,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":3.0},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":2.8284271247461903},"37":{"tf":2.23606797749979},"39":{"tf":1.0},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":1.7320508075688772},"53":{"tf":4.47213595499958},"54":{"tf":2.8284271247461903},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":4.123105625617661},"59":{"tf":1.4142135623730951},"6":{"tf":1.0},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":3.605551275463989},"63":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":2.6457513110645907},"66":{"tf":1.0},"68":{"tf":2.0},"7":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.23606797749979},"87":{"tf":2.0},"89":{"tf":1.7320508075688772},"90":{"tf":2.8284271247461903}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":3.0}}}},"’":{"df":7,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}}}},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"54":{"tf":2.0}}}},"s":{"'":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},".":{"a":{"df":0,"docs":{},"s":{"_":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}}},"1":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"24":{"tf":1.0}}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"23":{"tf":3.4641016151377544},"24":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}},"2":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"23":{"tf":3.3166247903554},"24":{"tf":2.0},"26":{"tf":2.449489742783178},"60":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"14":{"tf":2.0},"26":{"tf":1.7320508075688772}}},"[":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{".":{"1":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":6,"docs":{"2":{"tf":1.0},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"58":{"tf":3.3166247903554},"60":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"2":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.449489742783178},"6":{"tf":1.0},"60":{"tf":1.0}}}}}},"l":{"a":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"23":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":2.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":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":21,"docs":{"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"40":{"tf":3.0}},"s":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":2.6457513110645907}}}},"w":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":3.4641016151377544},"26":{"tf":2.0},"27":{"tf":2.0},"28":{"tf":1.7320508075688772},"30":{"tf":4.123105625617661},"31":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":3.3166247903554}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"21":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":12,"docs":{"26":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.7320508075688772},"82":{"tf":1.0}},"m":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":2,"docs":{"55":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":2,"docs":{"53":{"tf":1.0},"59":{"tf":1.0}}},"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{")":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"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":{},"m":{"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":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.0}}}}}}}},"i":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"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":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"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":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"x":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{")":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"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":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"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":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":3.3166247903554},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"59":{"tf":3.0},"60":{"tf":1.0},"86":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}}},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":8,"docs":{"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":2.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0}}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":8,"docs":{"15":{"tf":1.0},"20":{"tf":1.4142135623730951},"44":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"57":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":2.6457513110645907},"55":{"tf":2.449489742783178},"68":{"tf":1.0}}}}},"df":1,"docs":{"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"57":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":2.23606797749979}},"i":{"c":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"n":{"df":2,"docs":{"50":{"tf":1.0},"88":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951}}}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"50":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"37":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"i":{"df":3,"docs":{"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"18":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"60":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"d":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":2.449489742783178},"60":{"tf":4.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"52":{"tf":1.0},"57":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"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":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":8,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":4.0},"29":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"45":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":3.872983346207417},"54":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":8,"docs":{"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"v":{"df":3,"docs":{"23":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"\"":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"&":{"1":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"39":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"4":{"df":1,"docs":{"57":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":3,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"_":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"35":{"tf":1.0},"48":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"x":{"df":1,"docs":{"57":{"tf":2.449489742783178}}}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"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":{},"t":{"df":1,"docs":{"49":{"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":{},"g":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":2.6457513110645907},"35":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":15,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"37":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"37":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"42":{"tf":1.0}}},"r":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":2.0},"87":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"68":{"tf":1.0},"86":{"tf":1.0}},"i":{"df":14,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"34":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"1":{"0":{".":{"1":{"2":{"df":1,"docs":{"39":{"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":{"(":{"3":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"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":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"q":{"df":1,"docs":{"34":{"tf":1.0}},"l":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"s":{":":{"5":{"6":{":":{"9":{"df":1,"docs":{"65":{"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":3,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}},"s":{":":{"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"6":{":":{"7":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"1":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"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":2.0},"68":{"tf":2.23606797749979}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"85":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"2":{"df":1,"docs":{"57":{"tf":1.0}}},"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":3.1622776601683795},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"63":{"tf":1.0}},"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":{"52":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"r":{"d":{"df":6,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"54":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"21":{"tf":1.0},"37":{"tf":2.0},"46":{"tf":2.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":5.196152422706632},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":3.872983346207417},"18":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0},"57":{"tf":2.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}}},"i":{"c":{"df":6,"docs":{"10":{"tf":1.0},"50":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"58":{"tf":4.242640687119285},"60":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"u":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{"df":2,"docs":{"40":{"tf":2.449489742783178},"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"49":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"d":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"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":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"h":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.7320508075688772},"3":{"tf":1.0},"42":{"tf":1.0},"72":{"tf":3.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":26,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":2.6457513110645907},"19":{"tf":1.0},"21":{"tf":3.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"74":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":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":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":15,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":3.605551275463989},"29":{"tf":2.8284271247461903},"34":{"tf":2.23606797749979},"46":{"tf":1.0},"50":{"tf":4.123105625617661},"51":{"tf":1.7320508075688772},"53":{"tf":3.4641016151377544},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"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":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"o":{"b":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"34":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}},"h":{"df":1,"docs":{"54":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"y":{"df":2,"docs":{"54":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"49":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"14":{"tf":1.0},"46":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}},"df":0,"docs":{}},"[":{".":{".":{"1":{"2":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{".":{"3":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"1":{"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"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":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"13":{"tf":2.23606797749979},"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"`":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":34,"docs":{"11":{"tf":1.0},"13":{"tf":4.242640687119285},"14":{"tf":7.14142842854285},"18":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":3.0},"31":{"tf":1.0},"34":{"tf":2.6457513110645907},"35":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":3.7416573867739413},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"53":{"tf":3.1622776601683795},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.0},"74":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}},"y":{"!":{"(":{"#":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"e":{"df":1,"docs":{"35":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}},"u":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":17,"docs":{"33":{"tf":2.449489742783178},"34":{"tf":5.385164807134504},"35":{"tf":4.123105625617661},"42":{"tf":2.6457513110645907},"48":{"tf":2.8284271247461903},"49":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"52":{"tf":2.23606797749979},"53":{"tf":3.4641016151377544},"55":{"tf":3.4641016151377544},"57":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"60":{"tf":1.0},"62":{"tf":3.605551275463989},"63":{"tf":2.6457513110645907},"65":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":15,"docs":{"12":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"85":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":2.0}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"u":{"b":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":16,"docs":{"25":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0}}},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"m":{"df":2,"docs":{"35":{"tf":1.0},"52":{"tf":1.7320508075688772}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"49":{"tf":4.123105625617661}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"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":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"63":{"tf":1.0},"90":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"37":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"n":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"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":{"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":2,"docs":{"54":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"x":{"df":12,"docs":{"13":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":2.449489742783178},"37":{"tf":2.0},"49":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}}}}},"t":{"a":{"b":{"df":1,"docs":{"87":{"tf":1.0}},"l":{"df":3,"docs":{"21":{"tf":2.449489742783178},"55":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":18,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"26":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":2.6457513110645907},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"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":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":1,"docs":{"26":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"41":{"tf":1.0},"47":{"tf":1.4142135623730951},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"c":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"\\":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"\\":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"89":{"tf":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":{"44":{"tf":2.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"63":{"tf":1.0}}}}},"df":13,"docs":{"35":{"tf":2.23606797749979},"37":{"tf":1.0},"48":{"tf":2.8284271247461903},"49":{"tf":3.605551275463989},"51":{"tf":2.449489742783178},"52":{"tf":3.0},"53":{"tf":4.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":3.1622776601683795},"63":{"tf":1.0},"87":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"0":{"tf":1.0},"40":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"37":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"$":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"62":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"23":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"72":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":18,"docs":{"42":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"57":{"tf":1.0},"64":{"tf":2.449489742783178},"65":{"tf":6.928203230275509},"66":{"tf":6.48074069840786},"67":{"tf":1.0},"68":{"tf":7.0710678118654755},"69":{"tf":3.0},"70":{"tf":2.0},"71":{"tf":1.0},"72":{"tf":3.7416573867739413},"88":{"tf":2.6457513110645907},"89":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"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":{"66":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"40":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"’":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"i":{"df":3,"docs":{"52":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"57":{"tf":1.0}}}}},"’":{"df":3,"docs":{"23":{"tf":1.0},"30":{"tf":1.0},"54":{"tf":1.0}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"72":{"tf":1.0},"89":{"tf":1.0}}},"k":{"df":5,"docs":{"21":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"d":{"df":4,"docs":{"20":{"tf":1.0},"39":{"tf":2.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":13,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"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":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"52":{"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":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":9,"docs":{"2":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":9.0},"58":{"tf":2.23606797749979},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"s":{"=":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"’":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":13,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":14,"docs":{"15":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"w":{"df":5,"docs":{"14":{"tf":1.0},"31":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"u":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":1.0}},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":2.449489742783178}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":19,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.1622776601683795},"54":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"1":{".":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"72":{"tf":1.0},"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"33":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"62":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":3.872983346207417}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"83":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"p":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"54":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"49":{"tf":1.0},"55":{"tf":1.0}}},">":{":":{":":{"df":0,"docs":{},"f":{"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":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":21,"docs":{"14":{"tf":1.0},"25":{"tf":2.0},"34":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":5.830951894845301},"51":{"tf":1.7320508075688772},"52":{"tf":3.1622776601683795},"53":{"tf":3.872983346207417},"54":{"tf":2.449489742783178},"55":{"tf":4.123105625617661},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":6.082762530298219},"60":{"tf":3.0},"61":{"tf":2.449489742783178},"62":{"tf":3.4641016151377544},"63":{"tf":2.8284271247461903},"74":{"tf":1.0}},"’":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"62":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}},"i":{"df":13,"docs":{"14":{"tf":1.0},"23":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"78":{"tf":1.0}},"m":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.0},"18":{"tf":2.0},"25":{"tf":1.0},"34":{"tf":1.7320508075688772},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"l":{"df":12,"docs":{"12":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"53":{"tf":2.449489742783178}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"49":{"tf":3.7416573867739413}}}}},"o":{"df":29,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"89":{"tf":1.0}}}},"x":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"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":1,"docs":{"54":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":4,"docs":{"54":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":42,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.0},"12":{"tf":2.6457513110645907},"13":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"25":{"tf":3.4641016151377544},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":4.242640687119285},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.449489742783178},"46":{"tf":3.605551275463989},"48":{"tf":3.3166247903554},"49":{"tf":5.291502622129181},"50":{"tf":1.7320508075688772},"51":{"tf":2.6457513110645907},"52":{"tf":3.1622776601683795},"53":{"tf":3.4641016151377544},"54":{"tf":3.1622776601683795},"55":{"tf":4.47213595499958},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.6457513110645907},"59":{"tf":6.557438524302},"60":{"tf":6.082762530298219},"61":{"tf":2.8284271247461903},"62":{"tf":3.3166247903554},"63":{"tf":3.4641016151377544},"65":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"59":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":11,"docs":{"25":{"tf":1.0},"34":{"tf":3.1622776601683795},"46":{"tf":1.0},"52":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.7320508075688772},"87":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772}}},">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"85":{"tf":1.0}}}}}}},"df":4,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"57":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"14":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"58":{"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":{"81":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":2.6457513110645907}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":10,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":2.23606797749979},"70":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":1.0},"86":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"26":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":11,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":7.0710678118654755}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"z":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"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":{"63":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"46":{"tf":3.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":2.0},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"62":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":63,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"19":{"tf":1.7320508075688772},"2":{"tf":2.6457513110645907},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":5.0},"35":{"tf":3.605551275463989},"37":{"tf":3.3166247903554},"39":{"tf":2.23606797749979},"40":{"tf":3.1622776601683795},"42":{"tf":6.928203230275509},"44":{"tf":4.58257569495584},"46":{"tf":6.928203230275509},"48":{"tf":3.1622776601683795},"49":{"tf":3.7416573867739413},"50":{"tf":3.0},"51":{"tf":1.0},"52":{"tf":5.385164807134504},"53":{"tf":6.782329983125268},"54":{"tf":6.164414002968976},"55":{"tf":4.795831523312719},"57":{"tf":4.795831523312719},"58":{"tf":5.291502622129181},"59":{"tf":4.795831523312719},"60":{"tf":2.6457513110645907},"61":{"tf":3.3166247903554},"62":{"tf":4.898979485566356},"63":{"tf":4.47213595499958},"65":{"tf":3.605551275463989},"66":{"tf":1.4142135623730951},"68":{"tf":3.605551275463989},"69":{"tf":1.0},"7":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":2.8284271247461903},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"r":{"1":{".":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"34":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"<":{"'":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":2.8284271247461903},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":3.1622776601683795},"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"f":{"df":3,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}},"v":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"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":{"57":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"5":{"df":1,"docs":{"39":{"tf":1.0}}},"6":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"0":{".":{"1":{".":{"0":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"4":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"u":{"8":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"[":{"0":{"df":1,"docs":{"39":{"tf":1.0}}},"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"52":{"tf":3.0},"54":{"tf":2.6457513110645907},"60":{"tf":1.0}},"i":{"d":{"df":13,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":2.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":44,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":3.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":4.58257569495584},"37":{"tf":3.3166247903554},"38":{"tf":1.0},"39":{"tf":2.6457513110645907},"40":{"tf":3.7416573867739413},"46":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"52":{"tf":4.898979485566356},"53":{"tf":5.744562646538029},"54":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":4.898979485566356},"58":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":4.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":3.1622776601683795},"65":{"tf":3.0},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.449489742783178},"89":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"55":{"tf":1.0}},"u":{"3":{"2":{"df":1,"docs":{"61":{"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":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":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":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":34,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"30":{"tf":1.7320508075688772},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":4.358898943540674},"6":{"tf":2.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":2.23606797749979},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"9":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"35":{"tf":3.3166247903554},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"38":{"tf":1.0},"55":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":7,"docs":{"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"40":{"tf":1.7320508075688772},"52":{"tf":2.0},"54":{"tf":2.8284271247461903},"57":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}},"e":{"c":{"!":{"[":{"'":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}},"0":{"df":1,"docs":{"52":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":1,"docs":{"40":{"tf":1.0}}},"df":5,"docs":{"39":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"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":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"39":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":4,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":6,"docs":{"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":5,"docs":{"39":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"62":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":14,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":4.358898943540674},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"23":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}}}}},"s":{"a":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":3,"docs":{"40":{"tf":1.0},"42":{"tf":1.0},"90":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"9":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":25,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":2.0},"89":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"53":{"tf":1.7320508075688772},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":18,"docs":{"14":{"tf":2.23606797749979},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":6,"docs":{"44":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":1,"docs":{"53":{"tf":3.605551275463989}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"’":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":6,"docs":{"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"88":{"tf":1.0}}},"v":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":6,"docs":{"27":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"11":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"14":{"tf":1.0},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"3":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":16,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}}},"—":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"z":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":14,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"40":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"’":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"r":{"d":{"df":10,"docs":{"14":{"tf":2.0},"29":{"tf":2.449489742783178},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"27":{"tf":1.0},"30":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":27,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"35":{"tf":1.0},"72":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"68":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"p":{"df":1,"docs":{"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"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":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":2.8284271247461903}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}}},"df":23,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":2.6457513110645907},"74":{"tf":1.0},"89":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"0":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"90":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":1.0}}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}},"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"df":24,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":2.8284271247461903},"19":{"tf":1.7320508075688772},"23":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"35":{"tf":3.1622776601683795},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":3.7416573867739413},"49":{"tf":1.7320508075688772},"50":{"tf":3.1622776601683795},"51":{"tf":1.4142135623730951},"52":{"tf":4.898979485566356},"57":{"tf":6.782329983125268},"59":{"tf":2.449489742783178},"6":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"69":{"tf":1.0},"8":{"tf":3.7416573867739413},"88":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":2.0}}},"2":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":2.8284271247461903},"23":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"48":{"tf":3.7416573867739413},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"57":{"tf":6.557438524302},"59":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"55":{"tf":2.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":1.0},"44":{"tf":2.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"52":{"tf":1.7320508075688772},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"4":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"’":{"d":{"df":2,"docs":{"42":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0}}},"v":{"df":3,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}}}},"z":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"52":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"18":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"(":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"1":{"0":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"=":{"9":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":1,"docs":{"44":{"tf":1.0}}},"2":{"7":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"6":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"8":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"8":{".":{"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"1":{"1":{"1":{"1":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"57":{"tf":2.8284271247461903},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"o":{"7":{"7":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{".":{".":{"2":{"0":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"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":{"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":{}},"x":{"0":{"1":{"2":{"3":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"1":{",":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"1":{"0":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"4":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":2,"docs":{"12":{"tf":1.0},"54":{"tf":1.7320508075688772}}},"=":{"1":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"5":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{".":{"=":{"1":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"df":9,"docs":{"19":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":2.8284271247461903},"44":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"1":{"df":2,"docs":{"44":{"tf":1.0},"50":{"tf":1.0}}},"2":{".":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}},"df":0,"docs":{}},"7":{".":{"0":{".":{"0":{".":{"1":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":4,"docs":{"35":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"60":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"3":{"5":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":1,"docs":{"52":{"tf":1.0}}},"4":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.7320508075688772},"60":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"5":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}},"8":{"df":1,"docs":{"14":{"tf":1.0}}},"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"7":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"9":{",":{"2":{"3":{"4":{",":{"9":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"0":{",":{"3":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":28,"docs":{"11":{"tf":2.449489742783178},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"37":{"tf":2.449489742783178},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"52":{"tf":3.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"2":{",":{"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"5":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"8":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"9":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"19":{"tf":1.0},"52":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"14":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"57":{"tf":1.0}}},"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}}},"df":22,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"3":{",":{"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"=":{"7":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"11":{"tf":1.0}}},"5":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"57":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951}}},"4":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.6457513110645907},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"4":{",":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"48":{"tf":2.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":14,"docs":{"11":{"tf":1.0},"12":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"57":{"tf":2.6457513110645907},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0}}},"5":{",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"0":{"0":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":7,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":2.6457513110645907},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}}},"7":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":22,"docs":{"12":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"48":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"57":{"tf":3.1622776601683795},"58":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"69":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}},"6":{".":{"4":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"11":{"tf":1.0}}},"4":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"5":{"7":{",":{"2":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"49":{"tf":1.0}}},"df":10,"docs":{"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"35":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"6":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"5":{"df":1,"docs":{"55":{"tf":1.0}}},"df":5,"docs":{"37":{"tf":1.7320508075688772},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"8":{"df":7,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}},"9":{"1":{"5":{",":{"7":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"37":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":4,"docs":{"37":{"tf":2.449489742783178},"40":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.872983346207417}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}},"e":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"x":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"a":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"j":{"df":1,"docs":{"57":{"tf":1.0}}}},"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{".":{".":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"58":{"tf":1.0}},"i":{"df":1,"docs":{"58":{"tf":1.7320508075688772}},"l":{"df":2,"docs":{"30":{"tf":1.0},"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"v":{"df":17,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"2":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"52":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":11,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"2":{"tf":1.7320508075688772},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":3.605551275463989},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":2.8284271247461903},"89":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"d":{"df":4,"docs":{"11":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":3,"docs":{"2":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}},"/":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":2.6457513110645907},"69":{"tf":1.0},"88":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"61":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"44":{"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":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.23606797749979},"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":26,"docs":{"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"(":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"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":2.8284271247461903},"68":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"46":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"df":12,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":10,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":2.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"53":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}}}},"df":1,"docs":{"57":{"tf":1.7320508075688772}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"49":{"tf":2.0}}}}}},"o":{"df":1,"docs":{"50":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"3":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"b":{"a":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"a":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}}},"o":{"c":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"53":{"tf":2.0}}},"df":0,"docs":{},"w":{"df":23,"docs":{"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":3.7416573867739413},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.8284271247461903},"65":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"37":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}},"n":{"df":6,"docs":{"3":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":15,"docs":{"11":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"35":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"51":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},">":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":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":{"59":{"tf":1.7320508075688772}}}},"n":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"t":{"df":8,"docs":{"25":{"tf":1.4142135623730951},"39":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"46":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"29":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"58":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":7,"docs":{"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.0},"50":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.0},"42":{"tf":1.7320508075688772},"55":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"60":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"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":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"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":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.7320508075688772},"48":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":5,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"g":{"df":5,"docs":{"52":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.4142135623730951},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"65":{"tf":1.0}}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"m":{"df":6,"docs":{"18":{"tf":1.4142135623730951},"37":{"tf":2.0},"57":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"12":{"tf":3.0},"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"k":{"df":6,"docs":{"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"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":{},"q":{"!":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"68":{"tf":1.0}}},"6":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"7":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"1":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"63":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"34":{"tf":3.605551275463989},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"59":{"tf":3.3166247903554},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"23":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"52":{"tf":1.0}}}}},"t":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"62":{"tf":1.0}}},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"33":{"tf":1.0},"34":{"tf":2.0},"62":{"tf":2.8284271247461903},"65":{"tf":3.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"b":{"'":{"a":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"72":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"37":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"i":{"c":{"df":35,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"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},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"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},"4":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":7,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"57":{"tf":2.6457513110645907},"63":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0}}}}},"df":6,"docs":{"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":13,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":3,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"30":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.7320508075688772},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}},"w":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":2.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"52":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.7320508075688772},"42":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"72":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":15,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"30":{"tf":1.0},"90":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"89":{"tf":2.0}}}}},"d":{"df":2,"docs":{"57":{"tf":2.23606797749979},"8":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"t":{"df":5,"docs":{"11":{"tf":2.23606797749979},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"62":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"3":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.7320508075688772}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"54":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"l":{"df":7,"docs":{"11":{"tf":1.0},"18":{"tf":1.4142135623730951},"25":{"tf":1.0},"34":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":2.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":2.23606797749979},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"58":{"tf":2.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"12":{"tf":1.0},"49":{"tf":2.23606797749979},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":1,"docs":{"60":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":2,"docs":{"53":{"tf":3.0},"61":{"tf":1.0}}}},"df":2,"docs":{"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"51":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"19":{"tf":3.1622776601683795},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"g":{"df":4,"docs":{"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.6457513110645907}}},"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":1.0},"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":2.449489742783178}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"50":{"tf":1.0},"60":{"tf":1.4142135623730951}},"s":{"(":{"9":{"5":{".":{".":{"1":{"0":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"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":0,"docs":{},"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":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"/":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"44":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"|":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"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":0,"docs":{},"s":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"s":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"52":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":34,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":3.3166247903554},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":3.1622776601683795},"53":{"tf":3.7416573867739413},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"58":{"tf":3.7416573867739413},"59":{"tf":3.1622776601683795},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":3.1622776601683795},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":13,"docs":{"12":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"68":{"tf":1.0}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":11,"docs":{"16":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"c":{"df":2,"docs":{"13":{"tf":1.0},"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":3.3166247903554},"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"46":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0}}}}}}},"df":14,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.23606797749979},"46":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":3.3166247903554},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":5.477225575051661},"90":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":3.3166247903554},"39":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"52":{"tf":1.4142135623730951},"53":{"tf":3.1622776601683795},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.0},"68":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"14":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"58":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":12,"docs":{"14":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":3.605551275463989},"57":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"35":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":2.23606797749979}}}}}}},"df":1,"docs":{"68":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":17,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"65":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":3.0},"19":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"57":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"46":{"tf":2.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"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":{"2":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":2.23606797749979},"26":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}},"r":{"df":2,"docs":{"14":{"tf":1.0},"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"24":{"tf":2.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"47":{"tf":1.0},"52":{"tf":6.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":4.0}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":41,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":4.69041575982343},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":3.605551275463989},"48":{"tf":1.7320508075688772},"49":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"51":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.0},"54":{"tf":2.449489742783178},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":4.58257569495584},"59":{"tf":1.4142135623730951},"60":{"tf":2.0},"62":{"tf":5.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":3.7416573867739413},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"37":{"tf":3.4641016151377544}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":2.23606797749979},"20":{"tf":1.0},"38":{"tf":2.449489742783178},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"df":1,"docs":{"34":{"tf":1.0}}},"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"57":{"tf":3.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"21":{"tf":1.0},"26":{"tf":2.6457513110645907},"53":{"tf":1.0},"62":{"tf":1.0}}},"m":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"74":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"35":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":3.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.0},"63":{"tf":2.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"44":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":32,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"31":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":2.449489742783178},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":3.4641016151377544},"52":{"tf":1.4142135623730951},"53":{"tf":3.605551275463989},"55":{"tf":2.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"90":{"tf":1.0}}},"x":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":2,"docs":{"42":{"tf":1.0},"55":{"tf":3.7416573867739413}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"7":{"tf":1.0}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":19,"docs":{"35":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"2":{"tf":1.0},"54":{"tf":3.3166247903554},"58":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"4":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"s":{"(":{"1":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"53":{"tf":1.0}}},"_":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"4":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"82":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":2.0},"7":{"tf":3.1622776601683795},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"20":{"tf":1.0},"50":{"tf":1.0}}}}}}},"df":3,"docs":{"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"87":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"62":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":25,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":2.0},"55":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"s":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":3,"docs":{"19":{"tf":1.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":5,"docs":{"42":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":2.449489742783178}}}},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"t":{"df":8,"docs":{"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"23":{"tf":4.123105625617661},"24":{"tf":1.7320508075688772},"25":{"tf":3.0},"26":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"63":{"tf":2.6457513110645907}}},"y":{">":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"37":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":4.69041575982343},"54":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":2.6457513110645907},"58":{"tf":1.7320508075688772},"59":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"47":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":10,"docs":{"41":{"tf":1.0},"42":{"tf":5.196152422706632},"44":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":3.605551275463989},"68":{"tf":3.0},"74":{"tf":1.0},"88":{"tf":2.23606797749979},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"’":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":31,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.0},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":7,"docs":{"33":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"89":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":3.605551275463989}}}}}}}}}},"df":0,"docs":{}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.8284271247461903},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.7320508075688772}}}},"l":{"df":3,"docs":{"31":{"tf":3.0},"32":{"tf":1.0},"50":{"tf":2.23606797749979}}}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"a":{"df":35,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.0},"12":{"tf":2.6457513110645907},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":2.6457513110645907},"23":{"tf":2.449489742783178},"24":{"tf":2.23606797749979},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"35":{"tf":2.8284271247461903},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":5.477225575051661},"54":{"tf":3.0},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"58":{"tf":2.449489742783178},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":2.0},"57":{"tf":1.0}}}},"b":{"df":0,"docs":{},"g":{"!":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"3":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"34":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"42":{"tf":1.0},"50":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"34":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":15,"docs":{"12":{"tf":2.6457513110645907},"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}},"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":{"63":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.4142135623730951},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":2.6457513110645907},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"89":{"tf":1.0}},"—":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"42":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":3.4641016151377544},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"65":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"28":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":2.23606797749979},"52":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"14":{"tf":1.0},"53":{"tf":4.58257569495584},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"34":{"tf":1.7320508075688772},"62":{"tf":3.0},"63":{"tf":2.8284271247461903}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":2.23606797749979}}}}}}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"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":{"53":{"tf":1.7320508075688772}}}},"r":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":1,"docs":{"12":{"tf":1.0}},"r":{"df":2,"docs":{"12":{"tf":1.0},"57":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"40":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"v":{"df":5,"docs":{"0":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"50":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":2,"docs":{"27":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"2":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"42":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"44":{"tf":2.6457513110645907},"62":{"tf":1.0},"68":{"tf":3.605551275463989},"88":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}},"d":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"55":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"51":{"tf":1.7320508075688772},"59":{"tf":2.449489742783178},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"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":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"42":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"60":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"df":5,"docs":{"69":{"tf":2.449489742783178},"70":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.23606797749979}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"54":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":2.8284271247461903},"89":{"tf":1.0}}}}}}}},"df":3,"docs":{"27":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}}},"g":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.8284271247461903}}},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":15,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.449489742783178},"89":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":6,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"34":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":4,"docs":{"20":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"n":{"df":3,"docs":{"64":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":4.69041575982343},"54":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"48":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772}}}},"df":3,"docs":{"55":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":20,"docs":{"14":{"tf":2.0},"22":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.449489742783178}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":3,"docs":{"31":{"tf":1.0},"6":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"y":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":2.0},"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":2.0},"90":{"tf":4.0}}}}},"df":3,"docs":{"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"58":{"tf":1.0}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"49":{"tf":1.0},"60":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"d":{"df":5,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"35":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"46":{"tf":1.0}}}}}}},"d":{"df":16,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"27":{"tf":1.0},"30":{"tf":1.0},"39":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":16,"docs":{"34":{"tf":1.0},"35":{"tf":5.291502622129181},"37":{"tf":2.6457513110645907},"39":{"tf":1.7320508075688772},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"53":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"35":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}}},"v":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"74":{"tf":1.0}}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":2.8284271247461903}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}}},"q":{"df":1,"docs":{"63":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":5,"docs":{"12":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":2.0},"65":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"_":{"df":2,"docs":{"60":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":2,"docs":{"46":{"tf":3.1622776601683795},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"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":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"65":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"31":{"tf":1.0}}},"r":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":21,"docs":{"14":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":2.23606797749979},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":5.5677643628300215},"50":{"tf":1.7320508075688772},"53":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}},"t":{"c":{"df":5,"docs":{"34":{"tf":1.0},"4":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":15,"docs":{"18":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":34,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":2.6457513110645907},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"(":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"52":{"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":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":4,"docs":{"19":{"tf":1.0},"2":{"tf":1.0},"54":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":2.0}}},"df":0,"docs":{}}},"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":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"61":{"tf":1.0},"65":{"tf":2.23606797749979}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"90":{"tf":1.0}}}},"n":{"df":3,"docs":{"52":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"62":{"tf":1.0}}}},"s":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":3.4641016151377544},"46":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":3.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"7":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":2.449489742783178},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}},"f":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"3":{"2":{"df":3,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":27,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"74":{"tf":1.0},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"78":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"37":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":5,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":2.0},"57":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":4,"docs":{"46":{"tf":3.872983346207417},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"w":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":10,"docs":{"33":{"tf":1.0},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{":":{"/":{"/":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"d":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}}},"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"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":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"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":{},"e":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"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":{"46":{"tf":1.0}}}}},"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"?":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":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":{"46":{"tf":2.449489742783178},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":2.449489742783178},"44":{"tf":2.8284271247461903},"46":{"tf":4.0},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":4.242640687119285},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"3":{"tf":1.0},"44":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":2.0}}}}}}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"n":{"d":{"df":9,"docs":{"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"48":{"tf":1.0},"60":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"(":{"&":{"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"29":{"tf":1.4142135623730951},"50":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"<":{"'":{"a":{">":{"(":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":24,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"21":{"tf":1.0},"37":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}}},"x":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"13":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"6":{"4":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":5,"docs":{"11":{"tf":2.0},"25":{"tf":1.0},"48":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}},"w":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"37":{"tf":1.4142135623730951}}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":2.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":{},"t":{"df":1,"docs":{"59":{"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":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":38,"docs":{"14":{"tf":2.0},"15":{"tf":3.0},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":3.0},"28":{"tf":2.23606797749979},"29":{"tf":1.7320508075688772},"3":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":3.605551275463989},"35":{"tf":2.23606797749979},"37":{"tf":3.7416573867739413},"42":{"tf":3.605551275463989},"44":{"tf":2.449489742783178},"46":{"tf":3.7416573867739413},"48":{"tf":2.6457513110645907},"49":{"tf":4.47213595499958},"50":{"tf":3.605551275463989},"51":{"tf":1.0},"52":{"tf":4.358898943540674},"53":{"tf":5.291502622129181},"54":{"tf":3.0},"55":{"tf":2.8284271247461903},"57":{"tf":3.3166247903554},"58":{"tf":3.1622776601683795},"59":{"tf":5.0},"60":{"tf":2.8284271247461903},"61":{"tf":3.1622776601683795},"62":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772},"65":{"tf":2.8284271247461903},"68":{"tf":2.8284271247461903},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":2.23606797749979},"61":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"52":{"tf":2.0},"61":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":31,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"(":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"_":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"r":{"c":{"df":2,"docs":{"52":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"62":{"tf":1.0},"89":{"tf":1.0}}}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":3,"docs":{"35":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"26":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"42":{"tf":2.6457513110645907},"44":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"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":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"14":{"tf":1.0},"31":{"tf":1.0}}},"1":{"df":1,"docs":{"42":{"tf":1.0}}},"2":{"df":1,"docs":{"42":{"tf":1.0}}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":48,"docs":{"13":{"tf":1.0},"15":{"tf":4.242640687119285},"16":{"tf":2.449489742783178},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":3.3166247903554},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"34":{"tf":4.358898943540674},"35":{"tf":2.449489742783178},"37":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"45":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":2.6457513110645907},"50":{"tf":3.4641016151377544},"51":{"tf":1.0},"52":{"tf":4.58257569495584},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.449489742783178},"58":{"tf":3.872983346207417},"59":{"tf":2.8284271247461903},"60":{"tf":2.6457513110645907},"61":{"tf":4.47213595499958},"62":{"tf":4.242640687119285},"63":{"tf":2.449489742783178},"65":{"tf":3.872983346207417},"68":{"tf":3.3166247903554},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.0}},"’":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"3":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"57":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"35":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.7416573867739413},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"74":{"tf":2.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":11,"docs":{"3":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}},"n":{"df":7,"docs":{"32":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"26":{"tf":2.0}}}}}}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"58":{"tf":2.23606797749979},"7":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"86":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":11,"docs":{"23":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":9,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0}}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"32":{"tf":1.4142135623730951},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"_":{"1":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":2,"docs":{"12":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"34":{"tf":1.0},"57":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"33":{"tf":1.0},"42":{"tf":1.4142135623730951}}}},"w":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"54":{"tf":1.0},"57":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"60":{"tf":2.23606797749979},"65":{"tf":2.449489742783178}}}}},"i":{":":{":":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"d":{"df":4,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.0}}},"l":{"df":10,"docs":{"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":3.4641016151377544},"54":{"tf":2.8284271247461903},"79":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":2.23606797749979},"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":2,"docs":{"40":{"tf":1.0},"63":{"tf":1.7320508075688772}}}},"df":2,"docs":{"40":{"tf":3.3166247903554},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"3":{"tf":1.0},"35":{"tf":2.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"c":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":3.3166247903554},"23":{"tf":2.23606797749979},"24":{"tf":2.0},"26":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":2.6457513110645907},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}},"v":{"df":0,"docs":{},"y":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":3.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":3.3166247903554},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"(":{"&":{"(":{"*":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"[":{"0":{".":{".":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"14":{"tf":2.8284271247461903},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"66":{"tf":2.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":2.0}}}}}},"n":{"c":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":27,"docs":{"14":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"30":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":4.69041575982343}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"df":8,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.8284271247461903},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.449489742783178},"44":{"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":{}}}}}},"w":{"'":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{",":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}},"s":{":":{"/":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"i":{".":{"df":1,"docs":{"58":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":2.0},"15":{"tf":2.8284271247461903},"19":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":4.0},"39":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":3.3166247903554},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":4.0},"58":{"tf":4.0},"59":{"tf":2.0},"60":{"tf":2.449489742783178},"61":{"tf":2.6457513110645907},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"11":{"tf":1.0},"35":{"tf":1.7320508075688772}}},"d":{"=":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":2,"docs":{"57":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951}},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"63":{"tf":1.0}},"i":{"df":4,"docs":{"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":3.0}}}}}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":2.6457513110645907},"58":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.3166247903554},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"55":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"39":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":4.123105625617661},"54":{"tf":1.0},"58":{"tf":2.6457513110645907},"6":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"(":{"&":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":12,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"48":{"tf":2.23606797749979},"49":{"tf":3.4641016151377544},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"62":{"tf":1.4142135623730951},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"14":{"tf":1.0},"25":{"tf":2.23606797749979},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":5.385164807134504},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.3166247903554},"53":{"tf":3.605551275463989},"54":{"tf":2.6457513110645907},"55":{"tf":3.1622776601683795},"57":{"tf":1.4142135623730951},"58":{"tf":3.1622776601683795},"59":{"tf":5.291502622129181},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":3.7416573867739413},"63":{"tf":3.605551275463989},"65":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"39":{"tf":1.0}}}}}}},"df":2,"docs":{"23":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0}}}},"s":{"df":1,"docs":{"52":{"tf":1.0}},"s":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}}},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}},"h":{"df":1,"docs":{"57":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"d":{"df":11,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"23":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"53":{"tf":2.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"54":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":3.0}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"19":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"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":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":4,"docs":{"14":{"tf":1.0},"50":{"tf":2.0},"74":{"tf":2.8284271247461903},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":26,"docs":{"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":2.0},"59":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":2.23606797749979},"68":{"tf":2.8284271247461903},"82":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"3":{"tf":1.4142135623730951},"85":{"tf":3.0},"86":{"tf":1.7320508075688772},"89":{"tf":2.6457513110645907}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"85":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"c":{"df":8,"docs":{"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":2.8284271247461903}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":17,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":8,"docs":{"11":{"tf":2.6457513110645907},"13":{"tf":1.0},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"63":{"tf":1.0},"68":{"tf":3.4641016151377544},"70":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}},"f":{"a":{"c":{"df":5,"docs":{"42":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"58":{"tf":2.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}}}},"n":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"1":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}},"t":{"df":3,"docs":{"1":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"23":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}}}}},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"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":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":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":{"42":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"v":{"4":{"(":{"1":{"2":{"7":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{":":{":":{"1":{"df":1,"docs":{"35":{"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":2,"docs":{"35":{"tf":2.449489742783178},"46":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":3.1622776601683795}}}}}}}},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"11":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"63":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"'":{"df":26,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":2.6457513110645907},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"l":{"df":18,"docs":{"12":{"tf":1.0},"14":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"_":{"a":{"d":{"d":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"68":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"7":{"5":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"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":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":15,"docs":{"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":3.3166247903554},"46":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"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":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":5.744562646538029},"54":{"tf":1.0},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}}}},"’":{"df":14,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.0},"76":{"tf":1.0}}}},"’":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}},"s":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}},"k":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"z":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"40":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":9,"docs":{"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"63":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"15":{"tf":1.4142135623730951},"28":{"tf":1.0},"42":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.8284271247461903},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":2.23606797749979}}}}}}},"n":{"d":{"df":9,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"10":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"60":{"tf":2.23606797749979}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":20,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"23":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":2.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"&":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":3,"docs":{"35":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":3.0}}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"74":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}},"r":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"21":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"k":{"df":3,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"58":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"1":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0}}}},"v":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"65":{"tf":2.0}}}},"n":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"60":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"21":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"t":{"'":{"df":10,"docs":{"14":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0}}},"df":6,"docs":{"33":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"57":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"12":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.7320508075688772},"58":{"tf":1.0},"89":{"tf":2.23606797749979}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"68":{"tf":1.0},"89":{"tf":1.0}}}},"df":3,"docs":{"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"89":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"y":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"55":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"30":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":2.0},"47":{"tf":1.0},"50":{"tf":8.366600265340756},"51":{"tf":2.449489742783178},"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"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":{"(":{"8":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"27":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":15,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.0},"8":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"k":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}}},"t":{"df":1,"docs":{"89":{"tf":1.0}}},"u":{"df":0,"docs":{},"x":{"df":3,"docs":{"3":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"61":{"tf":2.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":9,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"55":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":2.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"50":{"tf":3.0},"52":{"tf":1.0},"68":{"tf":2.0},"89":{"tf":1.0}}}}},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"74":{"tf":1.0},"86":{"tf":1.0}}},"t":{"df":7,"docs":{"2":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"2":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"50":{"tf":2.8284271247461903},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":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":{"50":{"tf":2.0},"51":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"df":13,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"19":{"tf":4.795831523312719},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"w":{"df":3,"docs":{"12":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}}}}}},"m":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"o":{"df":2,"docs":{"3":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}}}},"df":13,"docs":{"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":8.246211251235321},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"3":{"tf":2.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":34,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":2.0},"31":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":3.1622776601683795},"48":{"tf":2.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":4.123105625617661},"54":{"tf":5.291502622129181},"55":{"tf":1.4142135623730951},"57":{"tf":3.0},"58":{"tf":2.0},"59":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.7320508075688772},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"e":{"df":31,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":2.6457513110645907},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"76":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"3":{"tf":1.0},"54":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"65":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"31":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"|":{"(":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"0":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":5,"docs":{"38":{"tf":1.0},"40":{"tf":2.23606797749979},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":6,"docs":{"3":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"q":{"df":2,"docs":{"0":{"tf":1.0},"83":{"tf":2.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":16,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.7320508075688772},"37":{"tf":5.291502622129181},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"46":{"tf":3.3166247903554},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":6.164414002968976},"60":{"tf":2.0},"62":{"tf":3.605551275463989},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"84":{"tf":1.0}}}}},"h":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"x":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"33":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":3,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":9,"docs":{"47":{"tf":1.7320508075688772},"48":{"tf":1.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.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}},"i":{"df":18,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"2":{"tf":2.6457513110645907},"20":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.7320508075688772},"26":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":3.4641016151377544},"54":{"tf":2.23606797749979},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"62":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"31":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"58":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"65":{"tf":2.23606797749979}},"e":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"1":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"b":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.1622776601683795}}}}}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"34":{"tf":4.123105625617661},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":3.1622776601683795},"50":{"tf":2.6457513110645907},"52":{"tf":2.23606797749979},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"58":{"tf":2.449489742783178},"59":{"tf":2.0},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"79":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"58":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":2.0},"60":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"54":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"60":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"(":{"c":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"42":{"tf":3.0},"44":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"df":4,"docs":{"53":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0}}}},"df":6,"docs":{"41":{"tf":1.0},"42":{"tf":5.0990195135927845},"44":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"46":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":3.7416573867739413},"24":{"tf":1.0},"26":{"tf":3.4641016151377544},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":3.1622776601683795},"54":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":17,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"62":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":17,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":2.449489742783178},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":4.47213595499958},"54":{"tf":1.0},"58":{"tf":3.1622776601683795},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.449489742783178}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"34":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0}}}},"df":24,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":3.3166247903554},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.6457513110645907},"42":{"tf":1.0},"46":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.8284271247461903},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":4.123105625617661},"59":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"r":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"53":{"tf":1.4142135623730951}}}}},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":30,"docs":{"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":1.7320508075688772},"42":{"tf":3.7416573867739413},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772},"62":{"tf":3.872983346207417},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.7320508075688772},"87":{"tf":2.0},"89":{"tf":2.0},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"52":{"tf":1.0},"74":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":31,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.449489742783178},"52":{"tf":3.1622776601683795},"53":{"tf":2.449489742783178},"54":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.0},"7":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"57":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"23":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":3.1622776601683795},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}},"x":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":28,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.0},"8":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"21":{"tf":1.0},"39":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"86":{"tf":2.23606797749979}}}}}}},"l":{"df":1,"docs":{"53":{"tf":4.242640687119285}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}},"e":{"df":13,"docs":{"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"57":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"14":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"h":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0}}},"i":{"c":{"df":7,"docs":{"44":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"'":{".":{"'":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":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":{"50":{"tf":1.0}}}}},"w":{"df":21,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0}}}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":2.0},"35":{"tf":3.1622776601683795},"37":{"tf":1.0},"58":{"tf":1.4142135623730951}},"’":{"df":1,"docs":{"35":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":4.123105625617661},"19":{"tf":2.449489742783178},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":5.291502622129181},"57":{"tf":3.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":6,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":2.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.449489742783178},"60":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"55":{"tf":1.0}}},".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}}},"df":4,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":4.58257569495584}},"’":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"c":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"2":{"tf":1.0},"30":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"55":{"tf":2.23606797749979}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":2,"docs":{"46":{"tf":1.0},"60":{"tf":1.0}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.7320508075688772}},"f":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}},"t":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"48":{"tf":1.0}}}},"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"26":{"tf":1.0},"58":{"tf":1.0},"72":{"tf":1.0}}}},"df":6,"docs":{"46":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"74":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"l":{"d":{"df":4,"docs":{"39":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.4142135623730951},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":11,"docs":{"12":{"tf":1.4142135623730951},"18":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":35,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":2.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903},"53":{"tf":3.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":2.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"66":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":2.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":2.23606797749979},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"r":{"df":21,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":3.4641016151377544},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":2.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"89":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":1.0},"89":{"tf":2.0}}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"63":{"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":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":6,"docs":{"35":{"tf":2.449489742783178},"37":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"16":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"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":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}}},"d":{"df":1,"docs":{"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":2.23606797749979},"37":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":2.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"i":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"34":{"tf":1.0},"59":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"46":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":4,"docs":{"19":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"65":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"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":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.0}}}}}}}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":15,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"59":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"27":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":14,"docs":{"14":{"tf":2.0},"21":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"52":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":3,"docs":{"49":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"53":{"tf":3.0},"57":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":17,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"4":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":3.0},"54":{"tf":2.6457513110645907},"57":{"tf":1.0}}}}}}}}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"1":{")":{".":{"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":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"48":{"tf":1.0}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":1,"docs":{"48":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":3.3166247903554},"44":{"tf":2.23606797749979},"55":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":2,"docs":{"34":{"tf":1.0},"52":{"tf":1.0}}}},"n":{"c":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":3.3166247903554}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":5.0990195135927845},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":3.872983346207417},"69":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":4.242640687119285},"51":{"tf":2.0},"52":{"tf":1.4142135623730951},"57":{"tf":2.449489742783178},"59":{"tf":2.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"35":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"s":{"df":3,"docs":{"62":{"tf":1.0},"74":{"tf":1.7320508075688772},"78":{"tf":2.8284271247461903}}},"t":{"df":21,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.23606797749979},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"49":{"tf":2.0},"63":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"28":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":27,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"79":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":4.0},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"36":{"tf":1.7320508075688772},"37":{"tf":3.1622776601683795},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":5.291502622129181},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"72":{"tf":1.0}}}}}}}},"df":3,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":2.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"19":{"tf":1.0},"57":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":15,"docs":{"16":{"tf":1.0},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0}},"’":{"df":1,"docs":{"60":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":9,"docs":{"21":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"65":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"37":{"tf":1.0}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"x":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":1,"docs":{"48":{"tf":2.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":13,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":3.1622776601683795},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":3.7416573867739413},"58":{"tf":1.4142135623730951},"59":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":2.0},"21":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"53":{"tf":5.0990195135927845},"54":{"tf":1.0},"58":{"tf":4.47213595499958},"60":{"tf":1.7320508075688772},"61":{"tf":2.23606797749979}}}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":2.0}}}}}}}}},"p":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":3.3166247903554},"37":{"tf":2.6457513110645907},"39":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":2.449489742783178},"62":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"50":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"13":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"19":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"&":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"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":12,"docs":{"14":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"f":{"(":{"\"":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"*":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"49":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"b":{"df":1,"docs":{"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"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":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"15":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"i":{"df":2,"docs":{"54":{"tf":2.449489742783178},"60":{"tf":1.0}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"54":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}},"o":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"18":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":2.23606797749979}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"3":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"s":{"1":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"h":{"df":15,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"49":{"tf":2.0},"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"i":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}},"s":{"df":1,"docs":{"57":{"tf":2.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"59":{"tf":1.0}}},"x":{"df":2,"docs":{"57":{"tf":1.0},"60":{"tf":1.0}}},"y":{"df":1,"docs":{"57":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":3.0},"59":{"tf":2.23606797749979},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":2.449489742783178},"68":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":13,"docs":{"23":{"tf":1.7320508075688772},"30":{"tf":3.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0}}}}}},"c":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":3.0}}}}},"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"u":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":1,"docs":{"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}},"e":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"14":{"tf":1.0},"54":{"tf":1.0}}},"df":20,"docs":{"1":{"tf":1.0},"20":{"tf":2.0},"3":{"tf":2.23606797749979},"33":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.6457513110645907},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}},"m":{"df":10,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},"df":16,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":3.1622776601683795},"90":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"85":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"81":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.7320508075688772},"2":{"tf":2.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"u":{"b":{"df":13,"docs":{"42":{"tf":4.358898943540674},"44":{"tf":3.7416573867739413},"49":{"tf":4.242640687119285},"53":{"tf":2.0},"55":{"tf":3.1622776601683795},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":3.1622776601683795},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"49":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"21":{"tf":2.0},"23":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}}},"t":{"df":5,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"42":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"49":{"tf":1.0}},"u":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"df":1,"docs":{"37":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"62":{"tf":2.0}},"e":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}},"1":{"df":2,"docs":{"30":{"tf":3.3166247903554},"58":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"30":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"30":{"tf":2.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"2":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"d":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"1":{".":{".":{"1":{"0":{"1":{"df":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":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":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":1,"docs":{"74":{"tf":2.0}}}}},"df":1,"docs":{"54":{"tf":1.4142135623730951}},"g":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":2,"docs":{"58":{"tf":3.872983346207417},"63":{"tf":2.449489742783178}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":2.0}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"o":{"d":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"53":{"tf":3.605551275463989},"54":{"tf":2.8284271247461903}}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"df":4,"docs":{"50":{"tf":2.6457513110645907},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0}},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":16,"docs":{"11":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":2.23606797749979},"89":{"tf":1.0}},"i":{"df":2,"docs":{"46":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"29":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"68":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":4,"docs":{"13":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":3.1622776601683795}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.23606797749979}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":2.6457513110645907}}},"2":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":5.196152422706632},"65":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{"df":1,"docs":{"65":{"tf":1.0}}},"2":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"3":{"df":1,"docs":{"34":{"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":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"d":{"df":4,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"53":{"tf":1.0},"60":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"55":{"tf":1.0},"72":{"tf":2.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":2,"docs":{"53":{"tf":3.1622776601683795},"54":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":30,"docs":{"13":{"tf":1.0},"14":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":3.872983346207417},"29":{"tf":1.4142135623730951},"30":{"tf":2.8284271247461903},"31":{"tf":3.4641016151377544},"32":{"tf":2.0},"34":{"tf":2.6457513110645907},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":5.477225575051661},"52":{"tf":1.4142135623730951},"53":{"tf":6.324555320336759},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"54":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"’":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":2.6457513110645907}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":2.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.7320508075688772},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":6,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":2.0}}}}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":5,"docs":{"14":{"tf":1.0},"40":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":10,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"19":{"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":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"df":15,"docs":{"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.6457513110645907},"69":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"34":{"tf":1.0},"53":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"18":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"49":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"c":{"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":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}},"t":{",":{"df":1,"docs":{"48":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}},"u":{"8":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":26,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":3.3166247903554},"52":{"tf":2.0},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"n":{"df":30,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.8284271247461903},"16":{"tf":2.0},"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":3.4641016151377544},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":2.8284271247461903},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.0},"79":{"tf":1.7320508075688772}},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"19":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"g":{"b":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"h":{"df":1,"docs":{"59":{"tf":2.23606797749979}},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":1,"docs":{"54":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}},"t":{"df":2,"docs":{"42":{"tf":3.0},"88":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.0}}},"6":{"df":1,"docs":{"35":{"tf":1.0}}},"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":1,"docs":{"39":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"20":{"tf":1.7320508075688772},"22":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":4.242640687119285},"68":{"tf":2.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":2.23606797749979}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":10,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":9,"docs":{"15":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0}}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"46":{"tf":1.0}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":3,"docs":{"3":{"tf":1.0},"42":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"df":74,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.23606797749979},"14":{"tf":2.449489742783178},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":2.6457513110645907},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":3.1622776601683795},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":3.0},"36":{"tf":1.0},"37":{"tf":2.449489742783178},"39":{"tf":1.0},"4":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":1.7320508075688772},"53":{"tf":4.47213595499958},"54":{"tf":2.8284271247461903},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":4.358898943540674},"59":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":3.605551275463989},"63":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"65":{"tf":2.8284271247461903},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.6457513110645907},"87":{"tf":2.449489742783178},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"90":{"tf":3.1622776601683795}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":3.0}}}},"’":{"df":7,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}}}},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"54":{"tf":2.0}}}},"s":{"'":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},".":{"a":{"df":0,"docs":{},"s":{"_":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}}},"1":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"24":{"tf":1.0}}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"23":{"tf":3.4641016151377544},"24":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}},"2":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"23":{"tf":3.3166247903554},"24":{"tf":2.0},"26":{"tf":2.449489742783178},"60":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"14":{"tf":2.0},"26":{"tf":1.7320508075688772}}},"[":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{".":{"1":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":6,"docs":{"2":{"tf":1.0},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"58":{"tf":3.3166247903554},"60":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"2":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.449489742783178},"6":{"tf":1.0},"60":{"tf":1.0}}}}}},"l":{"a":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"23":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":2.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":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":21,"docs":{"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"40":{"tf":3.0}},"s":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":2.6457513110645907}}}},"w":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":3.4641016151377544},"26":{"tf":2.0},"27":{"tf":2.0},"28":{"tf":1.7320508075688772},"30":{"tf":4.123105625617661},"31":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":3.3166247903554}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"21":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":12,"docs":{"26":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.7320508075688772},"82":{"tf":1.0}},"m":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":2,"docs":{"55":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":2,"docs":{"53":{"tf":1.0},"59":{"tf":1.0}}},"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{")":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"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":{},"m":{"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":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.0}}}}}}}},"i":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"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":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"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":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"x":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{")":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"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":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"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":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":3.3166247903554},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"59":{"tf":3.0},"60":{"tf":1.0},"86":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}}},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":8,"docs":{"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":2.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0}}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":8,"docs":{"15":{"tf":1.0},"20":{"tf":1.4142135623730951},"44":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"57":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":2.6457513110645907},"55":{"tf":2.449489742783178},"68":{"tf":1.0}}}}},"df":1,"docs":{"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"57":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":2.23606797749979}},"i":{"c":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"n":{"df":2,"docs":{"50":{"tf":1.0},"88":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951}}}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"50":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"37":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"i":{"df":3,"docs":{"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"18":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"60":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"d":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":2.449489742783178},"60":{"tf":4.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"52":{"tf":1.0},"57":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"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":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":8,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":4.123105625617661},"29":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"45":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":4.123105625617661},"54":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":8,"docs":{"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":10,"docs":{"73":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"v":{"df":3,"docs":{"23":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"\"":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"&":{"1":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"39":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"4":{"df":1,"docs":{"57":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":3,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"_":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"35":{"tf":1.0},"48":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"x":{"df":1,"docs":{"57":{"tf":2.449489742783178}}}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"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":{},"t":{"df":1,"docs":{"49":{"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":{},"g":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":2.6457513110645907},"35":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":15,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"37":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"37":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"42":{"tf":1.0}}},"r":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":2.0},"87":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"68":{"tf":1.0},"86":{"tf":1.0}},"i":{"df":14,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"34":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"1":{"0":{".":{"1":{"2":{"df":1,"docs":{"39":{"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":{"(":{"3":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"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":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"q":{"df":1,"docs":{"34":{"tf":1.0}},"l":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"s":{":":{"5":{"6":{":":{"9":{"df":1,"docs":{"65":{"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":3,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}},"s":{":":{"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"6":{":":{"7":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"1":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"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":2.0},"68":{"tf":2.23606797749979}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"85":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"2":{"df":1,"docs":{"57":{"tf":1.0}}},"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":3.3166247903554},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"63":{"tf":1.0}},"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":{"52":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"r":{"d":{"df":6,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"54":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.7320508075688772},"74":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"21":{"tf":1.0},"37":{"tf":2.0},"46":{"tf":2.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":5.196152422706632},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":4.0},"18":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0},"57":{"tf":2.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}}},"i":{"c":{"df":6,"docs":{"10":{"tf":1.0},"50":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"58":{"tf":4.242640687119285},"60":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"u":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{"df":2,"docs":{"40":{"tf":2.449489742783178},"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"49":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"d":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"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":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"h":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.7320508075688772},"3":{"tf":1.0},"42":{"tf":1.0},"72":{"tf":3.3166247903554}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":26,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":2.6457513110645907},"19":{"tf":1.0},"21":{"tf":3.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"74":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":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":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":15,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":3.605551275463989},"29":{"tf":2.8284271247461903},"34":{"tf":2.23606797749979},"46":{"tf":1.0},"50":{"tf":4.123105625617661},"51":{"tf":1.7320508075688772},"53":{"tf":3.4641016151377544},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"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":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"o":{"b":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"34":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}},"h":{"df":1,"docs":{"54":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"y":{"df":2,"docs":{"54":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"49":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"14":{"tf":1.0},"46":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}},"df":0,"docs":{}},"[":{".":{".":{"1":{"2":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{".":{"3":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"1":{"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"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":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"13":{"tf":2.23606797749979},"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"`":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":34,"docs":{"11":{"tf":1.0},"13":{"tf":4.242640687119285},"14":{"tf":7.211102550927978},"18":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":3.1622776601683795},"31":{"tf":1.0},"34":{"tf":2.6457513110645907},"35":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":3.7416573867739413},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"53":{"tf":3.1622776601683795},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.0},"74":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}},"y":{"!":{"(":{"#":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"e":{"df":1,"docs":{"35":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}},"u":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":17,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":5.477225575051661},"35":{"tf":4.123105625617661},"42":{"tf":2.6457513110645907},"48":{"tf":2.8284271247461903},"49":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"52":{"tf":2.23606797749979},"53":{"tf":3.4641016151377544},"55":{"tf":3.4641016151377544},"57":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"60":{"tf":1.0},"62":{"tf":3.605551275463989},"63":{"tf":2.6457513110645907},"65":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"12":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":2.0},"42":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"85":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":2.0}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"u":{"b":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":16,"docs":{"25":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0}}},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"m":{"df":2,"docs":{"35":{"tf":1.0},"52":{"tf":1.7320508075688772}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"49":{"tf":4.123105625617661}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"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":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"63":{"tf":1.0},"90":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"37":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"n":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"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":{"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":2,"docs":{"54":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"x":{"df":12,"docs":{"13":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":2.449489742783178},"37":{"tf":2.0},"49":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}}}}},"t":{"a":{"b":{"df":1,"docs":{"87":{"tf":1.0}},"l":{"df":3,"docs":{"21":{"tf":2.449489742783178},"55":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":18,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"26":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":2.6457513110645907},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"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":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":1,"docs":{"26":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"41":{"tf":1.0},"47":{"tf":1.4142135623730951},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"c":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"\\":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"\\":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"89":{"tf":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":{"44":{"tf":2.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"63":{"tf":1.0}}}}},"df":13,"docs":{"35":{"tf":2.23606797749979},"37":{"tf":1.0},"48":{"tf":2.8284271247461903},"49":{"tf":3.605551275463989},"51":{"tf":2.449489742783178},"52":{"tf":3.0},"53":{"tf":4.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":3.1622776601683795},"63":{"tf":1.0},"87":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"0":{"tf":1.0},"40":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"37":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"$":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"62":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"23":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"72":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":18,"docs":{"42":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"57":{"tf":1.0},"64":{"tf":2.8284271247461903},"65":{"tf":7.0},"66":{"tf":6.708203932499369},"67":{"tf":2.0},"68":{"tf":7.280109889280518},"69":{"tf":3.4641016151377544},"70":{"tf":2.6457513110645907},"71":{"tf":2.0},"72":{"tf":4.0},"88":{"tf":2.6457513110645907},"89":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"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":{"66":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"40":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"’":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"i":{"df":3,"docs":{"52":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"57":{"tf":1.0}}}}},"’":{"df":3,"docs":{"23":{"tf":1.0},"30":{"tf":1.0},"54":{"tf":1.0}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"72":{"tf":1.0},"89":{"tf":1.0}}},"k":{"df":5,"docs":{"21":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"d":{"df":4,"docs":{"20":{"tf":1.0},"39":{"tf":2.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":13,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"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":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"52":{"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":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":9,"docs":{"2":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":9.0},"58":{"tf":2.23606797749979},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"s":{"=":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"’":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":13,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":14,"docs":{"15":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"w":{"df":5,"docs":{"14":{"tf":1.0},"31":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"u":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":1.0}},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":2.449489742783178}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":19,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.1622776601683795},"54":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"1":{".":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"72":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"33":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"62":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":3.872983346207417}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"83":{"tf":2.0},"85":{"tf":1.0}}}},"p":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"54":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"49":{"tf":1.0},"55":{"tf":1.0}}},">":{":":{":":{"df":0,"docs":{},"f":{"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":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":21,"docs":{"14":{"tf":1.0},"25":{"tf":2.23606797749979},"34":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":6.0},"51":{"tf":2.0},"52":{"tf":3.1622776601683795},"53":{"tf":3.872983346207417},"54":{"tf":2.449489742783178},"55":{"tf":4.123105625617661},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":6.244997998398398},"60":{"tf":3.0},"61":{"tf":2.449489742783178},"62":{"tf":3.4641016151377544},"63":{"tf":2.8284271247461903},"74":{"tf":1.0}},"’":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"62":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}},"i":{"df":13,"docs":{"14":{"tf":1.0},"23":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"78":{"tf":1.0}},"m":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.0},"18":{"tf":2.0},"25":{"tf":1.0},"34":{"tf":1.7320508075688772},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"l":{"df":12,"docs":{"12":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"53":{"tf":2.449489742783178}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"49":{"tf":3.7416573867739413}}}}},"o":{"df":29,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"89":{"tf":1.0}}}},"x":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"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":1,"docs":{"54":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":4,"docs":{"54":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":42,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.449489742783178},"12":{"tf":3.0},"13":{"tf":2.0},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"25":{"tf":3.4641016151377544},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":4.242640687119285},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.449489742783178},"46":{"tf":3.605551275463989},"48":{"tf":3.3166247903554},"49":{"tf":5.291502622129181},"50":{"tf":1.7320508075688772},"51":{"tf":2.8284271247461903},"52":{"tf":3.1622776601683795},"53":{"tf":3.4641016151377544},"54":{"tf":3.1622776601683795},"55":{"tf":4.47213595499958},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.6457513110645907},"59":{"tf":6.557438524302},"60":{"tf":6.244997998398398},"61":{"tf":2.8284271247461903},"62":{"tf":3.3166247903554},"63":{"tf":3.4641016151377544},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"59":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":11,"docs":{"25":{"tf":1.0},"34":{"tf":3.1622776601683795},"46":{"tf":1.0},"52":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.7320508075688772},"87":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772}}},">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"85":{"tf":1.0}}}}}}},"df":4,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"57":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"14":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"58":{"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":{"81":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":2.6457513110645907}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":10,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":2.23606797749979},"70":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":1.0},"86":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"26":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":11,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":7.211102550927978}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"z":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"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":{"63":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"46":{"tf":3.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":2.0},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"62":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":65,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"19":{"tf":1.7320508075688772},"2":{"tf":3.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":5.0},"35":{"tf":3.605551275463989},"37":{"tf":3.3166247903554},"39":{"tf":2.23606797749979},"40":{"tf":3.1622776601683795},"42":{"tf":6.928203230275509},"44":{"tf":4.58257569495584},"46":{"tf":6.928203230275509},"48":{"tf":3.1622776601683795},"49":{"tf":3.7416573867739413},"50":{"tf":3.0},"51":{"tf":1.0},"52":{"tf":5.385164807134504},"53":{"tf":6.782329983125268},"54":{"tf":6.164414002968976},"55":{"tf":4.795831523312719},"57":{"tf":4.795831523312719},"58":{"tf":5.291502622129181},"59":{"tf":4.795831523312719},"60":{"tf":2.6457513110645907},"61":{"tf":3.3166247903554},"62":{"tf":4.898979485566356},"63":{"tf":4.47213595499958},"65":{"tf":3.605551275463989},"66":{"tf":1.4142135623730951},"68":{"tf":3.605551275463989},"69":{"tf":1.0},"7":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.3166247903554},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":2.449489742783178},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"r":{"1":{".":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"34":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"<":{"'":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":2.8284271247461903},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":3.1622776601683795},"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"f":{"df":3,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}},"v":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"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":{"57":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"5":{"df":1,"docs":{"39":{"tf":1.0}}},"6":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"0":{".":{"1":{".":{"0":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"4":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"u":{"8":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"[":{"0":{"df":1,"docs":{"39":{"tf":1.0}}},"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"52":{"tf":3.0},"54":{"tf":2.6457513110645907},"60":{"tf":1.0}},"i":{"d":{"df":13,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":2.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":44,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":3.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":4.58257569495584},"37":{"tf":3.3166247903554},"38":{"tf":1.0},"39":{"tf":2.6457513110645907},"40":{"tf":3.7416573867739413},"46":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"52":{"tf":4.898979485566356},"53":{"tf":5.744562646538029},"54":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":4.898979485566356},"58":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":4.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":3.1622776601683795},"65":{"tf":3.0},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.449489742783178},"89":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"55":{"tf":1.0}},"u":{"3":{"2":{"df":1,"docs":{"61":{"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":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":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":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":35,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"30":{"tf":1.7320508075688772},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":4.358898943540674},"6":{"tf":2.449489742783178},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":2.449489742783178},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"9":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"35":{"tf":3.3166247903554},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"38":{"tf":1.0},"55":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":7,"docs":{"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"40":{"tf":1.7320508075688772},"52":{"tf":2.0},"54":{"tf":2.8284271247461903},"57":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}},"e":{"c":{"!":{"[":{"'":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}},"0":{"df":1,"docs":{"52":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":1,"docs":{"40":{"tf":1.0}}},"df":5,"docs":{"39":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"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":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"39":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":4,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":6,"docs":{"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":5,"docs":{"39":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"62":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":14,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":4.58257569495584},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"23":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}}}}},"s":{"a":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":3,"docs":{"40":{"tf":1.0},"42":{"tf":1.0},"90":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":25,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":2.0},"89":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"53":{"tf":1.7320508075688772},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":18,"docs":{"14":{"tf":2.23606797749979},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":6,"docs":{"44":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":1,"docs":{"53":{"tf":3.605551275463989}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"’":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":6,"docs":{"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"88":{"tf":1.0}}},"v":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":6,"docs":{"27":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"11":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"14":{"tf":1.0},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"3":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":16,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}}},"—":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"z":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":14,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"40":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"’":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"r":{"d":{"df":10,"docs":{"14":{"tf":2.0},"29":{"tf":2.449489742783178},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"27":{"tf":1.0},"30":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":27,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"35":{"tf":1.0},"72":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"68":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"p":{"df":1,"docs":{"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"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":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":2.8284271247461903}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}}},"df":23,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":2.6457513110645907},"74":{"tf":1.0},"89":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"0":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"90":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":1.0}}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}},"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"df":24,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":2.8284271247461903},"19":{"tf":1.7320508075688772},"23":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"35":{"tf":3.1622776601683795},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":3.7416573867739413},"49":{"tf":1.7320508075688772},"50":{"tf":3.1622776601683795},"51":{"tf":1.4142135623730951},"52":{"tf":4.898979485566356},"57":{"tf":6.782329983125268},"59":{"tf":2.449489742783178},"6":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"69":{"tf":1.0},"8":{"tf":3.7416573867739413},"88":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":2.0}}},"2":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":2.8284271247461903},"23":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"48":{"tf":3.7416573867739413},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"57":{"tf":6.557438524302},"59":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"55":{"tf":2.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":1.0},"44":{"tf":2.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"52":{"tf":1.7320508075688772},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"4":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"’":{"d":{"df":2,"docs":{"42":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0}}},"v":{"df":3,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}}}},"z":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"52":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"18":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"(":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"title":{"root":{"a":{"d":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"13":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"84":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"4":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"24":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"56":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"66":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"87":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"a":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"30":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"g":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"35":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"17":{"tf":1.0},"37":{"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":6,"docs":{"15":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"75":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}}}},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"45":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"70":{"tf":1.0}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"62":{"tf":1.0},"80":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":1,"docs":{"83":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"36":{"tf":1.0},"37":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"23":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.0},"74":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"36":{"tf":1.0},"57":{"tf":1.0}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"3":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"31":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"29":{"tf":1.0},"32":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"22":{"tf":1.0},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"29":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"25":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"51":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":5,"docs":{"2":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"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/docs/searchindex.json b/docs/searchindex.json new file mode 100644 index 0000000..a08d021 --- /dev/null +++ b/docs/searchindex.json @@ -0,0 +1 @@ +{"doc_urls":["index.html#welcome","ch-01-introduction/main.html#introduction","ch-01-introduction/pg-01-benefits-of-using-rust.html#benefits-of-using-rust","ch-01-introduction/pg-02-the-hello-world-program.html#the-hello-world-program","ch-02-basics-of-rust/main.html#basics-of-rust","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#variables-and-mutability","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#variables","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#constants","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#shadowing","ch-02-basics-of-rust/pg-01-variables-and-mutability.html#shadowing-vs-mutable-variables","ch-02-basics-of-rust/pg-02-data-types.html#data-types","ch-02-basics-of-rust/pg-02-data-types.html#scalar-data-types","ch-02-basics-of-rust/pg-02-data-types.html#compound-data-types","ch-02-basics-of-rust/pg-03-advanced-data-types.html#advanced-data-types","ch-02-basics-of-rust/pg-03-advanced-data-types.html#string-slicing","ch-02-basics-of-rust/pg-04-functions.html#functions","ch-02-basics-of-rust/pg-04-functions.html#statements-and-expressions","ch-02-basics-of-rust/pg-05-control-flow.html#control-flow","ch-02-basics-of-rust/pg-05-control-flow.html#if-expressions","ch-02-basics-of-rust/pg-06-loops.html#loops","ch-02-basics-of-rust/pg-07-ownership.html#ownership","ch-02-basics-of-rust/pg-07-ownership.html#the-stack-and-the-heap","ch-02-basics-of-rust/pg-07-ownership.html#ownership-rules","ch-02-basics-of-rust/pg-07-ownership.html#what-is-moved","ch-02-basics-of-rust/pg-07-ownership.html#clone","ch-02-basics-of-rust/pg-07-ownership.html#the-copy-and-drop-trait","ch-02-basics-of-rust/pg-07-ownership.html#ownership-and-functions","ch-02-basics-of-rust/pg-08-borrowing.html#borrowing","ch-02-basics-of-rust/pg-08-borrowing.html#references","ch-02-basics-of-rust/pg-08-borrowing.html#referencing-for-strings","ch-02-basics-of-rust/pg-08-borrowing.html#data-race","ch-02-basics-of-rust/pg-08-borrowing.html#dangling-references","ch-02-basics-of-rust/pg-08-borrowing.html#golden-rules-of-referencing","ch-02-basics-of-rust/pg-09-structs.html#structs","ch-02-basics-of-rust/pg-09-structs.html#associated-functions-and-methods","ch-02-basics-of-rust/pg-10-enums.html#enums","ch-02-basics-of-rust/pg-11-pattern-matching.html#pattern-matching","ch-02-basics-of-rust/pg-11-pattern-matching.html#the-match-conftrol-flow-operator","ch-03-common-collections/main.html#common-collections","ch-03-common-collections/pg-01-vector.html#vector","ch-03-common-collections/pg-02-hashmaps.html#hashmaps","ch-04-project-structuring-and-error-handling/main.html#project-structuring-and-error-handling","ch-04-project-structuring-and-error-handling/pg-01-project-structuring.html#project-structuring","ch-04-project-structuring-and-error-handling/pg-02-modularizing.html#modularizing","ch-04-project-structuring-and-error-handling/pg-02-modularizing.html#modularizing-in-different-files","ch-04-project-structuring-and-error-handling/pg-02-modularizing.html#refactoring-guides","ch-04-project-structuring-and-error-handling/pg-03-error-handling.html#error-handling","ch-05-medium-concepts/main.html#medium-concepts","ch-05-medium-concepts/pg-01-generics.html#generics","ch-05-medium-concepts/pg-02-traits.html#traits","ch-05-medium-concepts/pg-03-lifetimes.html#lifetimes","ch-05-medium-concepts/pg-03-lifetimes.html#generic-type-parameters-trait-bounds-and-lifetimes-together","ch-05-medium-concepts/pg-04-functional-language-features.html#functional-language-features","ch-05-medium-concepts/pg-05-smart-pointers.html#smart-pointers","ch-05-medium-concepts/pg-06-concurrency.html#concurrency","ch-05-medium-concepts/pg-07-object-oriented-programming.html#oop-object-oriented-programming","ch-06-advanced-concepts/main.html#advanced-concepts","ch-06-advanced-concepts/pg-01-advanced-pattern-matching.html#pattern-matching","ch-06-advanced-concepts/pg-02-unsafe-rust.html#unsafe-rust","ch-06-advanced-concepts/pg-03-advanced-traits.html#advanced-traits","ch-06-advanced-concepts/pg-04-advanced-types.html#advanced-types","ch-06-advanced-concepts/pg-05-advanced-functions-and-closures.html#advanced-functions-and-closures","ch-06-advanced-concepts/pg-06-macros.html#macros","ch-06-advanced-concepts/pg-07-miscellaneous.html#miscellaneous","ch-07-rust-tests/main.html#rust-tests","ch-07-rust-tests/pg-01-getting-started.html#getting-started","ch-07-rust-tests/pg-02-controlling-tests.html#controlling-tests","ch-07-rust-tests/pg-03-test-organization.html#test-organization","ch-07-rust-tests/pg-03-test-organization.html#test-types","ch-07-rust-tests/pg-03-test-organization.html#doc-tests","ch-07-rust-tests/pg-03-test-organization.html#tests-output-log","ch-07-rust-tests/pg-04-test-driven-development.html#test-driven-development","ch-07-rust-tests/pg-04-test-driven-development.html#a-step-by-step-guide","ch-08-useful-snippets/main.html#useful-snippets","ch-08-useful-snippets/pg-01-useful-operations.html#useful-operations","ch-08-useful-snippets/pg-02-useful-functions.html#useful-functions","ch-08-useful-snippets/pg-02-useful-functions.html#unwrap","ch-08-useful-snippets/pg-02-useful-functions.html#trim","ch-08-useful-snippets/pg-02-useful-functions.html#parse","ch-08-useful-snippets/pg-02-useful-functions.html#or","ch-08-useful-snippets/pg-03-useful-macros.html#useful-macros","ch-08-useful-snippets/pg-03-useful-macros.html#todo","ch-08-useful-snippets/pg-03-useful-macros.html#dbg","ch-09-masq-rust-tools/main.html#masq-rust-tools","ch-10-appendix/main.html#appendix","ch-10-appendix/pg-01-installation.html#installation","ch-10-appendix/pg-02-basic-rust-commands.html#basic-rust-commands","ch-10-appendix/pg-03-conventions-in-rust.html#conventions-in-rust","ch-10-appendix/pg-04-documentation.html#documentation","ch-10-appendix/pg-05-cargo.html#cargo","ch-10-appendix/pg-06-editions-in-rust.html#editions-in-rust"],"index":{"documentStore":{"docInfo":{"0":{"body":6,"breadcrumbs":2,"title":1},"1":{"body":9,"breadcrumbs":2,"title":1},"10":{"body":25,"breadcrumbs":6,"title":2},"11":{"body":152,"breadcrumbs":7,"title":3},"12":{"body":173,"breadcrumbs":7,"title":3},"13":{"body":137,"breadcrumbs":8,"title":3},"14":{"body":526,"breadcrumbs":7,"title":2},"15":{"body":122,"breadcrumbs":4,"title":1},"16":{"body":157,"breadcrumbs":5,"title":2},"17":{"body":0,"breadcrumbs":6,"title":2},"18":{"body":121,"breadcrumbs":5,"title":1},"19":{"body":146,"breadcrumbs":4,"title":1},"2":{"body":106,"breadcrumbs":7,"title":3},"20":{"body":50,"breadcrumbs":4,"title":1},"21":{"body":184,"breadcrumbs":5,"title":2},"22":{"body":20,"breadcrumbs":5,"title":2},"23":{"body":191,"breadcrumbs":4,"title":1},"24":{"body":41,"breadcrumbs":4,"title":1},"25":{"body":77,"breadcrumbs":6,"title":3},"26":{"body":240,"breadcrumbs":5,"title":2},"27":{"body":63,"breadcrumbs":4,"title":1},"28":{"body":120,"breadcrumbs":4,"title":1},"29":{"body":90,"breadcrumbs":5,"title":2},"3":{"body":82,"breadcrumbs":7,"title":3},"30":{"body":173,"breadcrumbs":5,"title":2},"31":{"body":82,"breadcrumbs":5,"title":2},"32":{"body":15,"breadcrumbs":6,"title":3},"33":{"body":34,"breadcrumbs":4,"title":1},"34":{"body":777,"breadcrumbs":6,"title":3},"35":{"body":586,"breadcrumbs":4,"title":1},"36":{"body":0,"breadcrumbs":6,"title":2},"37":{"body":456,"breadcrumbs":8,"title":4},"38":{"body":24,"breadcrumbs":4,"title":2},"39":{"body":247,"breadcrumbs":4,"title":1},"4":{"body":17,"breadcrumbs":4,"title":2},"40":{"body":234,"breadcrumbs":4,"title":1},"41":{"body":24,"breadcrumbs":8,"title":4},"42":{"body":750,"breadcrumbs":8,"title":2},"43":{"body":0,"breadcrumbs":6,"title":1},"44":{"body":347,"breadcrumbs":8,"title":3},"45":{"body":33,"breadcrumbs":7,"title":2},"46":{"body":847,"breadcrumbs":8,"title":2},"47":{"body":21,"breadcrumbs":4,"title":2},"48":{"body":255,"breadcrumbs":4,"title":1},"49":{"body":624,"breadcrumbs":4,"title":1},"5":{"body":0,"breadcrumbs":6,"title":2},"50":{"body":777,"breadcrumbs":4,"title":1},"51":{"body":61,"breadcrumbs":10,"title":7},"52":{"body":999,"breadcrumbs":8,"title":3},"53":{"body":1826,"breadcrumbs":6,"title":2},"54":{"body":1060,"breadcrumbs":4,"title":1},"55":{"body":730,"breadcrumbs":9,"title":4},"56":{"body":28,"breadcrumbs":4,"title":2},"57":{"body":874,"breadcrumbs":7,"title":2},"58":{"body":869,"breadcrumbs":6,"title":2},"59":{"body":699,"breadcrumbs":6,"title":2},"6":{"body":23,"breadcrumbs":5,"title":1},"60":{"body":523,"breadcrumbs":6,"title":2},"61":{"body":260,"breadcrumbs":8,"title":3},"62":{"body":859,"breadcrumbs":4,"title":1},"63":{"body":462,"breadcrumbs":4,"title":1},"64":{"body":29,"breadcrumbs":4,"title":2},"65":{"body":500,"breadcrumbs":6,"title":2},"66":{"body":199,"breadcrumbs":6,"title":2},"67":{"body":0,"breadcrumbs":6,"title":2},"68":{"body":377,"breadcrumbs":6,"title":2},"69":{"body":74,"breadcrumbs":6,"title":2},"7":{"body":61,"breadcrumbs":5,"title":1},"70":{"body":11,"breadcrumbs":7,"title":3},"71":{"body":0,"breadcrumbs":8,"title":3},"72":{"body":188,"breadcrumbs":8,"title":3},"73":{"body":8,"breadcrumbs":4,"title":2},"74":{"body":209,"breadcrumbs":6,"title":2},"75":{"body":0,"breadcrumbs":6,"title":2},"76":{"body":18,"breadcrumbs":5,"title":1},"77":{"body":6,"breadcrumbs":5,"title":1},"78":{"body":44,"breadcrumbs":5,"title":1},"79":{"body":44,"breadcrumbs":4,"title":0},"8":{"body":92,"breadcrumbs":5,"title":1},"80":{"body":0,"breadcrumbs":6,"title":2},"81":{"body":16,"breadcrumbs":5,"title":1},"82":{"body":12,"breadcrumbs":5,"title":1},"83":{"body":12,"breadcrumbs":6,"title":3},"84":{"body":9,"breadcrumbs":2,"title":1},"85":{"body":59,"breadcrumbs":3,"title":1},"86":{"body":58,"breadcrumbs":7,"title":3},"87":{"body":64,"breadcrumbs":5,"title":2},"88":{"body":141,"breadcrumbs":3,"title":1},"89":{"body":238,"breadcrumbs":3,"title":1},"9":{"body":36,"breadcrumbs":8,"title":4},"90":{"body":101,"breadcrumbs":5,"title":2}},"docs":{"0":{"body":"This book is written by the Rust Dev Team at MASQ.","breadcrumbs":"Welcome! » Welcome","id":"0","title":"Welcome"},"1":{"body":"This section will introduce you with the benefits of using rust and will tell you why you should learn this programming language.","breadcrumbs":"Introduction » Introduction","id":"1","title":"Introduction"},"10":{"body":"Every value in Rust is of a certain data type , that makes Rust a statically typed language . It means Rust needs to know the type of all variables at compile time. Rust data types has two subsets: Scalar Compound","breadcrumbs":"Basics of Rust » Data Types » Data Types","id":"10","title":"Data Types"},"11":{"body":"Booleans Represented by bool, has two values true and false. Characters Represented by char, it always has space of 4 bytes or 32 bits instead of 1 byte. Characters are UTF-8 encoded, thus supports 'z', 'ℤ', '😻'. Characters use single quotes and string uses double quotes. Integers u means unsigned (only positive), i means signed (both positive & negative) The size ranges from 8 bits to 128 bits. Range of Unsigned Integers is: $$ [0, 2^n - 1] $$ Range of Signed Integer is: $$ [- 2^{n-1}, 2^{n-1} - 1]$$ Examples, u8, i8, u128, i128 Rust also supports, usize and isize which means that it will take up space according to the architecture whether it is 32 bit or 64 bit. You may also represent integer literals in the below forms: Number literals Example Integer Decimal 98_222 98222 Hex 0xff 255 Octal 0o77 63 Binary 0b1111_0000 240 Byte (u8 only) b'A' 65 Integer types default to i32. To read how Interger Overflow works in Rust, please follow this link . Division of integers gives floored value, 3 / 2 == 1. Floats It has f32 and f64, two floating data types for size 32 and 64. Floating types default to f64. Division of floats give fractional result, 3.0 / 2. 0 = 1.5.","breadcrumbs":"Basics of Rust » Data Types » Scalar Data Types","id":"11","title":"Scalar Data Types"},"12":{"body":"There are two compound data types in Rust: Tuples Arrays Tuples They can store number of values with different data types. They can't grow or shrink once declared. Tuples can be declared as follows: let tup_with_types: (i32, f64, u8) = (500, 6.4, 1);\nlet tup = (500, 6.4, 1); // Destructuring Tuples\nlet (x, y, z) = tup; // Destructuing Tuples using .\nlet x: (i32, f64, u8) = (500, 6.4, 1);\nlet five_hundred = x.0;\nlet six_point_four = x.1;\nlet one = x.2; // Unit type tuple with unit value\nlet unit_tup = (); Array They can store number of values with same data type. They can't grow or shrink once declared as their memory is allocated on stack. If you want a similar data structure that can grow or shrink then use Vectors. If you access an index of array that is greater than it's length, it'll result in 'index out of bounds'. In other low level languages, this check is not done and they return an invalid memory. Arrays can be declared as follows: // Simple array declaration\nlet a = [1, 2, 3, 4, 5]; // Declaring array with type and size\nlet a: [i32; 5] = [1, 2, 3, 4, 5]; // Declaring same value 3 for 5 elements\nlet a = [3; 5]; // Accessing Values of array\nlet a = [1, 2, 3, 4, 5];\nlet first = a[0];\nlet second = a[1]; Slicing an array It is possible to slice an array in Rust. let a = [1, 2, 3, 4, 5]; let slice = &a[1..3]; // It is of type &[i32] Ranges You can create a range with .. operator. The following are equal: 1..5 ~ 1..=4 0..4 ~ ..4 1..len ~ 1.. 0..len ~ ..","breadcrumbs":"Basics of Rust » Data Types » Compound Data Types","id":"12","title":"Compound Data Types"},"13":{"body":"Strings They are represented in three types: String - A smart pointer. &String - Reference to a String. &str - String Slice Defining a String let string = String::new(\"127.0.0.1:8080\"); // It can grow and shrink\nlet string_literal = \"1234\"; // It's memory is fixed at runtime Slicing a string let string = String::from(\"127.0.0.1:8080\");\nlet string_slice = &string[10..14]; // We can also use &string[10..] // We can also use\nlet string_slice = &string[10..]; // Give me everything after 10th byte not character\nlet string_slice = &string[..12]; // Give me everything upto 12th byte not character Rust uses UTF-8 encoding. So, prefer not to not pass integer values for slicing, as the slice function slices on the basis of bytes instead of characters. let string = String::from(\"😀😃😄😁\");\nlet string_slice = &string[..4]; For this slice instead of returning 4 emojis, the rust will return 1 emoji because it takes 4 bytes to store an emoji. string_slice = \"😀\" Strings in rust can dynamically grow or shrink. We can borrow an entire string by using this syntax let string = String::from(\"127.0.0.1:8080\");\nlet string_borrow: &str = &string; This is how let s1 = String::from(\"hello\"); is stored in Rust: Left - Parts of String that are stored on the stack: Pointer: Points to the memory that holds the contents of the string. Length: How much memory, in bytes, the contents of the String is currently using. Capacity: The total amount of memory, in bytes, that the String has received from the allocator. Right - The memory on the heap that holds the contents. Image","breadcrumbs":"Basics of Rust » Advanced Data Types » Advanced Data Types","id":"13","title":"Advanced Data Types"},"14":{"body":"Slices let you reference a contiguous sequence of elements in a collection rather than the whole collection. A slice is a kind of reference, so it does not have ownership. Slices are represented by &str and are immutable . let s = String::from(\"hello world\"); let hello = &s[0..5]; // or you can use &s[..5] let world = &s[6..11]; This will throw compile-time error: // FAIL: You cannot clear the memory, to which some reference already exists\nfn main() { let mut s = String::from(\"hello world\"); let word = first_word(&s); // Returns a &str, which is a referenc to s s.clear(); // error! println!(\"the first word is: {}\", word);\n} Thus, String Slices helps us write secure code by protecting the references to a string. Also string literals let string_literal = \"hello\";, are string slices &str, and are immutable. Note: It is expected that the String only contains ASCII characters, because in case of UTF-8, if we try to slice between a multibyte character, it'll cause an error. The correct way to use referencing is discussed int the section, \"Which is better &String or &str?\" . Difference between String, String Literal, String Slice Property String String Literal String Slice Reference to String Definition let string = String::from(\"some_string\"); let string_literal = \"1234\"; let string_slice = &string[1..3] let string_reference = &string Representation String &str &str &String Mutable :white_check_mark: :x: :x: :x: Memory Management Heap (but deallocates when out of scope) Heap (Points to binary) Heap (Points to Binary) Heap Use Cases Taking Input, or any String Manipulation Defining Constant Strings Slicing and Borrowing Borrowing Strings and UTF-8 encoding Characters are represented by single inverted commas, and has 4 bytes of storage. For Example, '😀'. String is not a collection of characters but collections of bytes. Rust has only one string type in the core language, which is the string slice str that is usually seen in its borrowed form &str. String Slices are the references to some UTF-8 data stored somewhere else. String Literals are string slices when stored in program's binary. The String type, which is provided by Rust’s standard library rather than coded into the core language, is a growable, mutable, owned, UTF-8 encoded string type. When Rustaceans, call \"string in rust\", they collectively mean: String &str Both String and &str are UTF-8 encoded. Creating the String type: let mut s = String::new(); To create a String from some starting string: let s = \"initial contents\".to_string(); // This fn can be used on any type that implements Display trait\nlet s = String::from(\"initial contents\"); It is possible to store any properly encoded data: let hello = String::from(\"नमस्ते\");\nlet hello = String::from(\"안녕하세요\");\nlet hello = String::from(\"Здравствуйте\"); Updating the String: let mut s = String::from(\"foo\");\ns.push_str(\"bar\"); // It takes string slice, hence doesn't takes ownership\ns.push('!'); // This fn only takes character as argument.\n// s will become \"foobar!\" Concatenating two strings with the + operator: // '+' is a replacement of - fn add(self, s: &str) -> String {\nlet s1 = String::from(\"Hello, \");\nlet s2 = String::from(\"world!\");\nlet s3 = s1 + &s2; // note s1 has been moved here and can no longer be used Note: In Rust, if we provide &str, as a function's argument, it can accept both &String and &str. Rust uses a deref coercion, which here turns &s2 into &s2[..]. Combining multiple strings or formatting them: let s1 = String::from(\"tic\");\nlet s2 = String::from(\"tac\");\nlet s3 = String::from(\"toe\"); // Method 1\nlet s = s1 + \"-\" + &s2 + \"-\" + &s3; // Method 2\nlet s = format!(\"{}-{}-{}\", s1, s2, s3); // It works like println!() but returns String Indexing into Strings is not possible and results in error: // FAIL: Strings can be indexed in Rust\nlet s1 = String::from(\"hello\");\nlet h = s1[0]; // Won't work How values are stored in string. String is just a wrapper over Vec, this means 1 byte of space for each element in the vector. Hence, if we want to save special charcters, then it may take more than one element to store the values. Let's consider following examples: let hello = String::from(\"Hola\"); // Each character will take 1 byte of storage\nlet hello = String::from(\"Здравствуйте\"); // Each character will take 2 bytes of storage Let's understand using the Hindi word “नमस्ते”: As Bytes (the way String does using u8 which ranges from 0 to 255): [224, 164, 168, 224, 164, 174, 224, 164, 184, 224, 165, 141, 224, 164, 164,\n224, 165, 135] As Unicode Scalar Values (the way char does): ['न', 'म', 'स', '्', 'त', 'े'] As Grapheme Clusters (the way a Hindi speaker might do): [\"न\", \"म\", \"स्\", \"ते\"] Slicing Strings: You need to provide the range of bytes to be sliced out of String. Again, not characters but bytes. let hello = \"Здравствуйте\"; // Each character here is composed of 2 bytes let s = &hello[0..4]; // It'll save first 4 bytes, `Зд` let will_panic = &hello[0..1]; // It'll panic, as if invalid index was accessed in the vector. Iterating over strings: You can iterate over the unicode scalar values or what chars might store: for c in \"नमस्ते\".chars() { println!(\"{}\", c);\n} // This is what it'll print\nन\nम\nस\n्\nत\nे You can iterate over bytes also, the way String is stored in Vec format: for b in \"नमस्ते\".bytes() { println!(\"{}\", b);\n} // The output will be like\n224\n164\n// --snip--\n165\n135","breadcrumbs":"Basics of Rust » Advanced Data Types » String Slicing","id":"14","title":"String Slicing"},"15":{"body":"We define a function in Rust by entering fn followed by a function name and a set of parentheses. The curly brackets tell the compiler where the function body begins and ends. The entry function to a rust's code is the main function. Rust doesn’t care where you define your functions, only that they’re defined somewhere. Here's an example of functions in rust: fn main() { println!(\"Hello, world!\"); another_function();\n} fn another_function() { println!(\"Another function.\");\n} // Function with Parameter (or argument)\nfn function_with_parameters(x: i32) { println!(\"The value of x is: {}\", x);\n} // Function with two parameters\nfn print_labeled_measurement(value: i32, unit_label: char) { println!(\"The measurement is: {}{}\", value, unit_label);\n} // Functions with a return value\n// In rust, functions return last expression implicitly\nfn five() -> i32 { 5 // An Expression\n} // Functions returning through classical return keyword\n// We use return keyword when we need to return early from a function\nfn five() -> i32 { return 5; // A statement\n} // This will also work\nfn plus_one(x: i32) -> i32 { x + 1\n} // Fail: Statement means, this function returns anything, expressed by (), a unit type\nfn plus_one(x: i32) -> i32 { x + 1;\n}","breadcrumbs":"Basics of Rust » Functions » Functions","id":"15","title":"Functions"},"16":{"body":"In Rust, function bodies are made up of a series of statements optionally ending in an expression. Statements They are instructions that perform some action and do not return a value. They are just a standalone unit of execution. Creating a variable and assigning itself a value is a statement. let y = 6; Function definitions are also statements; the entire function is a statement in itself. fn main() { let y = 6;\n} Statements do not return values. Therefore, you can’t assign a let statement to another variable: fn main() { let x = (let y = 6); // FAIL : Statements doesn't return anything\n} In some languages, you can write x = y = 6 and have both x and y have the value 6; that is not the case in Rust. Expressions They do not end with a semicolon, unlike statements. They evaluate into a resulting value. They are a combination of values and functions that are combined by the compiler to create a new value. The following things are considered as an expression: A simple math operation Calling a function Calling a macro A new scope block created with curly brackets A simple math operation is an expression: 5 + 6 In the below statement the standalone 6 is an expression. let x = 6; // A statement containing an expression A scope block is an expression: { let x = 3; x + 1\n} The above scope block will return 4 and can now become a part of a statement. fn main() { // The below statement contains the computed value of an expression let y = { let x = 3; // Statements end with a semicolon x + 1 // Expressions do not end with semicolon }; println!(\"The value of y is: {}\", y);\n}","breadcrumbs":"Basics of Rust » Functions » Statements and Expressions","id":"16","title":"Statements and Expressions"},"17":{"body":"","breadcrumbs":"Basics of Rust » Control Flow » Control Flow","id":"17","title":"Control Flow"},"18":{"body":"The code inside an if block is called an arm, similar to match. fn main() { let number = 3; if number < 5 { println!(\"condition was true\"); // An arm } else { println!(\"condition was false\"); }\n} You can only pass a bool to the if expression // FAIL: number is of type integer and not bool\nfn main() { let number = 3; if number { println!(\"number was three\"); }\n} // This works since it's a condition\nfn main() { let number = 3; if number != 0 { println!(\"number was something other than zero\"); }\n} Rust only executes the block for the first true condition, and once it finds one, it doesn't even check the rest: fn main() { let number = 6; if number % 4 == 0 { println!(\"number is divisible by 4\"); } else if number % 3 == 0 { println!(\"number is divisible by 3\"); // Only this statement will run } else if number % 2 == 0 { println!(\"number is divisible by 2\"); } else { println!(\"number is not divisible by 4, 3, or 2\"); }\n} Conditionals in Single Line: // This Works\nfn main() { let condition = true; let number = if condition { 5 } else { 6 }; println!(\"The value of number is: {}\", number);\n} // FAIL: Different data types integer and string\nfn main() { let condition = true; let number = if condition { 5 } else { \"six\" }; println!(\"The value of number is: {}\", number);\n}","breadcrumbs":"Basics of Rust » Control Flow » if expressions","id":"18","title":"if expressions"},"19":{"body":"Rust has three kinds of loops: loop - Infinite Loop, uses break and continue while - Breaks when the condition doesn't meet. for - Faster and easier to use for iterators and classical for loops. Simple Infinite Loop: loop { // Do something iteratively\n} Named Loop 'outer:loop { loop { break 'outer; }\n} Named Loop with different breaks: 'oulter_loop: loop { loop { if condition { break 'oulter_loop; // Breaks Outer Loop } if some_other_condition { break; // Breaks Inner Loop } }\n} Returning values in loops: fn main() { let mut counter = 0; let result = loop { counter += 1; if counter == 10 { break counter * 2; } }; println!(\"The result is {}\", result);\n} The while loop: fn main() { let mut number = 3; // Prevents the use of break, by including the condition with while while number != 0 { println!(\"{}!\", number); number -= 1; } println!(\"LIFTOFF!!!\");\n} The for loop: // Last item in exclusive, or 0..10 === 0..=9\nfor x in 0..10 { println!(\"{}\", x); // x: i32\n} The for loop for iterator: fn main() { let a = [10, 20, 30, 40, 50]; for element in a { println!(\"the value is: {}\", element); }\n} A for loop for iterating characters in String for c in name.chars() { // c variable stores one charater per iteration\n} Enumeration for (i, v) in request.chars().enumerate() { // i is index, v is variable\n} The for loop in reverse: fn main() { for number in (1..4).rev() { println!(\"{}!\", number); } println!(\"LIFTOFF!!!\");\n} // Output:\n// 3!\n// 2!\n// 1!\n// LIFTOFF!!!","breadcrumbs":"Basics of Rust » Loops » Loops","id":"19","title":"Loops"},"2":{"body":"Memory Safe Chromium Project has 70% vulnerabilities related to Memory. C/C++ doesn’t provide Memory Safety Python, JS provides Memory Safety but uses Garbage Collector Rust provides Memory Safety without using Garbage Collector. Rust achieves this functionality by making the language typed, thus the code won’t compile if any vulnerability will exist. No Null Types or No Null Pointers Null Pointers in C are used as *ptr = NULL. Rust uses it’s rich type system to represent the absence of a value. No Exceptions Rust Provides No Direct Referencing, No Pointers and No Pointer Exceptions. Modern Package Manager It uses Package Manager named Cargo . No Data Race A data race occurs when: two or more threads in a single process access the same memory location concurrently, and at least one of the accesses is for writing, and the threads are not using any exclusive locks to control their accesses to that memory Game Changer for writing Asynchronous Code","breadcrumbs":"Introduction » Benefits of using rust » Benefits of using rust","id":"2","title":"Benefits of using rust"},"20":{"body":"Ownership is a set of rules that governs how a Rust program manages memory. Some languages have garbage collection that constantly looks for no-longer used memory as the program runs; in other languages, the programmer must explicitly allocate and free the memory. Rust uses a third approach: memory is managed through a system of ownership with a set of rules that the compiler checks. If any of the rules are violated, the program won’t compile. None of the features of ownership will slow down your program while it’s running.","breadcrumbs":"Basics of Rust » Ownership » Ownership","id":"20","title":"Ownership"},"21":{"body":"Both the stack and the heap are parts of memory available to your code to use at runtime Differences between Stack and Heap Stack Heap Value is stored in order Last In, First Out . Value is stored at an empty spot and a pointer is returned. More Organized Less Organized Operations are push and pop . Process of storing data on heap is called allocating. All stored data is of fixed size. Stored data can be of dynamic size. New items are stored on top of stack, hence pushing is faster. New items are stored after searching for right place to store, hence allocating is slower. Pushing values onto the stack is not considered allocating. Because the pointer to the heap is a known, fixed size, you can store the pointer on the stack, but when you want the actual data, you must follow the pointer. Think of heap as being seated at a restaurant. When you enter, you state the number of people in your group, and the staff finds an empty table that fits everyone and leads you there. If someone in your group comes late, they can ask where you’ve been seated to find you. Consider a server at a restaurant taking orders from many tables. It’s most efficient to get all the orders at one table before moving on to the next table. Taking an order from table A, then an order from table B, then one from A again, and then one from B again would be a much slower process. By the same token, a processor can do its job better if it works on data that’s close to other data (as it is on the stack) rather than farther away (as it can be on the heap). Allocating a large amount of space on the heap can also take time. When your code calls a function, the values passed into the function (including, potentially, pointers to data on the heap) and the function’s local variables get pushed onto the stack. When the function is over, those values get popped off the stack.","breadcrumbs":"Basics of Rust » Ownership » The stack and the heap","id":"21","title":"The stack and the heap"},"22":{"body":"These are three golden rules of ownership: Each value in Rust has a variable that’s called its owner . There can only be one owner at a time. When the owner goes out of scope, the value will be dropped.","breadcrumbs":"Basics of Rust » Ownership » Ownership Rules","id":"22","title":"Ownership Rules"},"23":{"body":"This is not a move, it's a copy: // y = x is a copy: Integers are simple values with a known, fixed size, pushed to stack, hence copied\nlet x = 5;\nlet y = x; This is a move: // s1 = s2 is a move: Strings are stored on heap, hence only the data of string stored on stack is copied, hence moved\nlet s1 = String::from(\"hello\");\nlet s2 = s1; Why String is only moved and not copied? When we assign s1 to s2, the String data is copied, meaning we copy the pointer, the length, and the capacity that are on the stack. We do not copy the data on the heap that the pointer refers to. Hence it is moved not copied. Move of String Why Rust preferes moving instead of copying the heap data? If Rust preformed copy instead of move, the operation s2 = s1 could be very expensive in terms of runtime performance if the data on the heap were large. This is what it would look like if Rust would have copied instead of moved. If String was Copied How does Rust clean memory after we perform s2 = s1 and both s1 and s2 go out of scope? When a variable saved on heap goes out of scope, Rust calls a drop function to clean it from the memory. But we performed let s2 = s1;, so Rust will try to clean both s1 and s2, cleaning the same memory. This problem is called double free error. To solve this problem, when we perform let s2 = s1;, Rust actually moves the value to s2 by invalidating s1. Now, Rust has to only clean the s2 variable. Hence, the problem of double free is solved. So, what may look like a shallow copy (refer shallow and deep copy in other languages), it is actually a move operation. Invalidation of s1 In addition, there’s a design choice that’s implied by this: Rust will never automatically create “deep” copies of your data. Therefore, any automatic copying can be assumed to be inexpensive in terms of runtime performance.","breadcrumbs":"Basics of Rust » Ownership » What is moved?","id":"23","title":"What is moved?"},"24":{"body":"This function is used when we want to clone the heap data. If we perform s2 = s1, on a heap data for example String, then only the stack data will be copied and not the heap data, hence moved. In case we want to copy the heap data too (also referred to deep copy), we use clone function. Here's an example: let s1 = String::from(\"hello\");\nlet s2 = s1.clone(); println!(\"s1 = {}, s2 = {}\", s1, s2);","breadcrumbs":"Basics of Rust » Ownership » Clone","id":"24","title":"Clone"},"25":{"body":"Copy trait can be placed on types that are stored on the stack like integers are. If a type implements the Copy trait, a variable is still valid after assignment to another variable. Rust won’t let us annotate a type with Copy if the type, or any of its parts, has implemented the Drop trait. If the type needs something special to happen when the value goes out of scope and we add the Copy annotation to that type, we’ll get a compile-time error. Types that implement copy: All the integer types, such as u32. The Boolean type, bool, with values true and false. All the floating point types, such as f64. The character type, char. Tuples, if they only contain types that also implement Copy. For example, (i32, i32) implements Copy, but (i32, String) does not.","breadcrumbs":"Basics of Rust » Ownership » The Copy and Drop trait","id":"25","title":"The Copy and Drop trait"},"26":{"body":"Passing a variable to a function will move or copy, just as assignment does. fn main() { let s = String::from(\"hello\"); // s comes into scope takes_ownership(s); // s's value moves into the function... // ... and so is no longer valid here let x = 5; // x comes into scope makes_copy(x); // x would move into the function, // but i32 is Copy, so it's okay to still // use x afterward } // Here, x goes out of scope, then s. But because s's value was moved, nothing // special happens. fn takes_ownership(some_string: String) { // some_string comes into scope println!(\"{}\", some_string);\n} // Here, some_string goes out of scope and `drop` is called. The backing // memory is freed. fn makes_copy(some_integer: i32) { // some_integer comes into scope println!(\"{}\", some_integer);\n} // Here, some_integer goes out of scope. Nothing special happens. This is how the ownership works for the return values: fn main() { let s1 = gives_ownership(); // gives_ownership moves its return value into s1 let s2 = String::from(\"hello\"); // s2 comes into scope let s3 = takes_and_gives_back(s2); // s2 is moved into takes_and_gives_back, which also moves its return value into s3\n} // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing // happens. s1 goes out of scope and is dropped. fn gives_ownership() -> String { // gives_ownership will move its return value into the function that calls it let some_string = String::from(\"yours\"); // some_string comes into scope some_string // some_string is returned and moves out to the calling function\n} // This function takes a String and returns one\nfn takes_and_gives_back(a_string: String) -> String { // a_string comes into scope a_string // a_string is returned and moves out to the calling function\n} When a variable that includes data on the heap goes out of scope, the value will be cleaned up by drop unless ownership of the data has been moved to another variable. See how takes_and_gives_back function returns the variable before going out of scope. Basically if we send a variable, we must return it back from the function to use it again. So, there are two things we can do, either return multiple values using tuples or use references . // This is an example of how a fn returns multiple values using tuples\nfn main() { let s1 = String::from(\"hello\"); let (s2, len) = calculate_length(s1); println!(\"The length of '{}' is {}.\", s2, len);\n} fn calculate_length(s: String) -> (String, usize) { let length = s.len(); // len() returns the length of a String (s, length)\n}","breadcrumbs":"Basics of Rust » Ownership » Ownership and Functions","id":"26","title":"Ownership and Functions"},"27":{"body":"We do borrowing whenever we don't want to transfer the complete ownership of a varaible. Consider the above example in previous section, inside calculate_length function we returned String s. We returned it because when we passed s1 into the function we transferred it's ownership to the variable s. Since, the scope of variable s is limited, the passed value of s1 will die outside the scope of calculate_length. So, we returned the variable s inside a tuple before the end of it's scope. Now, there is a workaround to calculate length without transferring the ownership. The process of doing so is called Borrowing and it's done using references .","breadcrumbs":"Basics of Rust » Borrowing » Borrowing","id":"27","title":"Borrowing"},"28":{"body":"A reference is a pointer to the variable. It’s an address we can follow to access data stored at that address that is owned by some other variable. Unlike a pointer, a reference is guaranteed to point to a valid value of a particular type. We use &, called as ampersand, to represent a reference. fn main() { let s1 = String::from(\"hello\"); // Instead of transferring ownership, we only passed a reference to the string let len = calculate_length(&s1); println!(\"The length of '{}' is {}.\", s1, len);\n} // We declare that this function will only accept a reference to a String, hence only borrows\nfn calculate_length(s: &String) -> usize { s.len()\n} Instead of Ownership transfer, borrowing looks like this, where s stores the reference. Borrowing Dereference This is the opposite of reference. It is represented by *. It returns the value of a pointer. Mutable Reference The references are also immutable by default. To make a reference mutable, we need to make both the declared variable and the reference mutable using mut keyword. fn main() { let mut s = String::from(\"hello\"); // Step 2 -> Change variable to mutable change(&mut s); // Step 3 -> Pass the string as a mutable reference\n} fn change(some_string: &mut String) { // Step 1 -> Declare in fn definition, that it demands a mutable reference some_string.push_str(\", world\");\n}","breadcrumbs":"Basics of Rust » Borrowing » References","id":"28","title":"References"},"29":{"body":"Which is better &String or &str? Short Answer: &str. Reason: It allows us to use the same function on both &String values and &str values. fn first_word(s: &String) -> &str { // This sucks, only allows &String fn first_word(s: &str) -> &str { // Rustaceans prefer this, since it allows both `&String` and `&str`. Basically, &str works for all types of references: fn main() { let my_string = String::from(\"hello world\"); // `first_word` works on slices of `String`s, whether partial or whole let word = first_word(&my_string[0..6]); let word = first_word(&my_string[..]); // `first_word` also works on references to `String`s, which are equivalent // to whole slices of `String`s let word = first_word(&my_string); let my_string_literal = \"hello world\"; // `first_word` works on slices of string literals, whether partial or whole let word = first_word(&my_string_literal[0..6]); let word = first_word(&my_string_literal[..]); // Because string literals *are* string slices already, // this works too, without the slice syntax! let word = first_word(my_string_literal);\n}","breadcrumbs":"Basics of Rust » Borrowing » Referencing for strings","id":"29","title":"Referencing for strings"},"3":{"body":"Fun Fact: Rust is an ahead-of-time compiled language, meaning you can compile a program and give the executable to someone else, and they can run it even without having Rust installed. After installing Rust , you may follow the following steps. Create a project folder, cd into it and create main.rs file: mkdir hello_world\ncd hello_world\ntouch main.rs Add the following program inside of it: // Filename: main.rs\nfn main() { println!(\"Hello, world!\");\n} Some facts regarding the above code. Main function is the first function that gets called. println!() is not a function but a macro . Macros contain an ! mark. Compile and run the file: rustc main.rs For Linux and macOS: ./main For Windows: .\\main Alternatively, you may use the package manager Cargo to create new boilerplate projects.","breadcrumbs":"Introduction » The Hello World Program » The \"Hello, World!\" program","id":"3","title":"The \"Hello, World!\" program"},"30":{"body":"The data race condition happens when these three behaviors occur: Two or more pointers access the same data at the same time. At least one of the pointers is being used to write to the data. There’s no mechanism being used to synchronize access to the data. To prevent this condition, Rust adds limitations while using references. Limitations of Referecnes We cannot create two mutable references to a variable. let mut s = String::from(\"hello\"); let r1 = &mut s; let r2 = &mut s; println!(\"{}, {}\", r1, r2); We cannot create one immutable and one mutable reference to a variable. let mut s = String::from(\"hello\"); let r1 = &s; // no problem let r2 = &s; // no problem let r3 = &mut s; // BIG PROBLEM println!(\"{}, {}, and {}\", r1, r2, r3); Allowed Workarounds for References Multiple immutable references are allowed because no one who is just reading the data has the ability to affect anyone else’s reading of the data. let mut s = String::from(\"hello\"); let r1 = &s; // no problem let r2 = &s; // no problem println!(\"{}, {}\", r1, r2); Rust treats last usage of a immutable reference, as it's end. Hence, the following code runs perfectly, read more about Non-Lexical Lifetimes . let mut s = String::from(\"hello\"); let r1 = &s; // no problem let r2 = &s; // no problem println!(\"{} and {}\", r1, r2); // variables r1 and r2 will not be used after this point let r3 = &mut s; // no problem println!(\"{}\", r3); You may create a new scope to use two mutable references. let mut s = String::from(\"hello\"); { let r1 = &mut s; } // r1 goes out of scope here, so we can make a new reference with no problems. let r2 = &mut s;","breadcrumbs":"Basics of Rust » Borrowing » Data Race","id":"30","title":"Data Race"},"31":{"body":"Dangling Reference is a reference to a location in memory which is freed but the reference exists. In languages with pointers, it’s easy to erroneously create a dangling pointer. In Rust, by contrast, the compiler guarantees that references will never be dangling references: if you have a reference to some data, the compiler will ensure that the data will not go out of scope before the reference to the data does. Compiler throws error if we manually try to create a dangling reference: // FAIL: Rust won't allow you to create Dangling References\nfn main() { let reference_to_nothing = dangle();\n} fn dangle() -> &String { let s = String::from(\"hello\"); &s\n} // s goes out of scope here, but we try to reference to The Error that compiler throws is: this function's return type contains a borrowed value, but there is no value\nfor it to be borrowed from It also mentions, we can fix it using lifetimes.","breadcrumbs":"Basics of Rust » Borrowing » Dangling References","id":"31","title":"Dangling References"},"32":{"body":"No Data Racing - At any given time, you can have either one mutable reference or any number of immutable references. No Dangling References - References must always be valid.","breadcrumbs":"Basics of Rust » Borrowing » Golden Rules of Referencing","id":"32","title":"Golden Rules of Referencing"},"33":{"body":"A struct , or structure, is a custom data type that lets you name and package together multiple related values that make up a meaningful group. It is used to just define the data attributes as we do in Object Oriented Programming Languages. There are three types of Structs: Structs with Named Fields Tuple Structs Unit Structs","breadcrumbs":"Basics of Rust » Structs » Structs","id":"33","title":"Structs"},"34":{"body":"Functions defined for structs using the impl keyowrd are called associated functions . The associated functions which accepts self as it's first argument are called methods . Structs with Named Fields In structs, we name each piece of data, so it's clear what they mean. This name and data type pair are called fields . Struct definition: struct User { active: bool, // A Field username: String, email: String, sign_in_count: u64,\n} Creating a struct's instance: // If you specify mut, all the values will be mutable otherwise none\nlet mut user1 = User { email: String::from(\"someone@example.com\"), username: String::from(\"someusername123\"), active: true, sign_in_count: 1,\n}; Taking out and updating the values: user1.email = String::from(\"anotheremail@example.com\"); Defining functions for structs fn build_user(email: String, username: String) -> User { User { email, //We can write like this aslo-> email: email username, active: true, sign_in_count: 1, }\n} The struct update syntax (..), or spread operator in JS: // Initially\nlet user2 = User { active: user1.active, username: user1.username, email: String::from(\"another@example.com\"), sign_in_count: user1.sign_in_count,\n}; // After using the struct update syntax (..)\nlet user2 = User { email: String::from(\"another@example.com\"), ..user1\n}; Note: This update syntax, works same as assignment operator =, so stack values will get copied and heap values will be moved. Since, username is a String, it's value will be moved from user1 to user2, hence user1 can't be used again. To prevent this problem of ownership transfer, we can use &str instead of String but when we use references in structs, it won't actually compile but will ask for lifetimes. // FAIL: Lifetime specifier not provided.\nstruct User { username: &str, email: &str, sign_in_count: u64, active: bool,\n} fn main() { let user1 = User { email: \"someone@example.com\", username: \"someusername123\", active: true, sign_in_count: 1, };\n} In this situation the compiler situation looks something like this: --> src/main.rs:2:15 |\n2 | username: &str, | ^ expected named lifetime parameter |\nhelp: consider introducing a named lifetime parameter |\n1 | struct User<'a> {\n2 | username: &'a str, | Tuple Structs Using Tuple Structs without Named Fields to Create Different Types: struct Color(i32, i32, i32);\nstruct Point(i32, i32, i32); let black = Color(0, 0, 0);\nlet origin = Point(0, 0, 0); To access their types, we use the . operator followed by the number of this argumnet. let color = Color(10, 25, 16);\nlet red = color.0;\nlet green = color.1;\nlet blue = color.2; Unit Structs They are structs without Any Fields (they act like ()). They are Useful when we want to implement a trait on some type but don’t have any data that you want to store in the type itself. struct AlwaysEqual; let subject = AlwaysEqual; Why do we use Structs? It is a more sensible design choice to pass as minimum arguments as possible inside a function. For Example, if we need to calculate the area of rectangle, instead of passing height and width, it would be cleaner to pass the whole rectangle. Now, this can be done with the tuples too. For Example, let rect1 = (50, 30); but the problem with this syntax is that any developer can confuse which one is width or height. To make this process clearer and cleaner, we use struct, so that we can combine the data and still keep the meaning of each attribute intact. struct Rectangle { width: u32, height: u32,\n} fn main() { let rect1 = Rectangle { width: 50, height: 30 }; println!(\"The area of the rectangle is {} square pixels\", area(&rect1));\n} // Passing Rectangle as a reference is important so that main fn\n// can retain it's ownership after this function is called.\nfn area(rectangle: &Rectangle) -> u32 { rectangle.width * rectangle.height\n} Printing Variables Ways to Print the variables: {} - Used to print variables with Display trait, for simple data types like int, string etc. we don't need to derive this attribute. {:?} - Used to print complex variables with Debug trait, preferred for complex data type like struct, and we need to derive the Debug attribute. {:#?} - Works similarly like {:?}, except it's preferred for structs with large number of fields. dbg!() - It is a macro used with Debug trait to print the variables, file and line number. It prints to stderr instead of stdout (which println!() uses). It takes ownership, so prefer sending references to it. Here's an example of using the dbg!() macro: #[derive(Debug)]\nstruct Rectangle { width: u32, height: u32,\n} fn main() { let scale = 2; let rect1 = Rectangle { width: dbg!(30 * scale), // It'll resolve the expression `30 * scale`, as if dbg!() call was never there, it happens due to ownership transfer height: 50, }; dbg!(&rect1); // To maintian the scope of rect1 in main() we sent only the reference.\n} The output looks like this: Compiling rectangles v0.1.0 (file:///projects/rectangles) Finished dev [unoptimized + debuginfo] target(s) in 0.61s Running `target/debug/rectangles`\n[src/main.rs:10] 30 * scale = 60\n[src/main.rs:14] &rect1 = Rectangle { width: 60, height: 50,\n} You can read more about Derivable Traits and Attributes . Structs with Method Syntax When functions are defined in the context of a struct, enum or trait they are called as Methods . The first parameter of a method is always self, which represents the instance. #[derive(Debug)]\nstruct Rectangle { width: u32, height: u32,\n} // Everything inside the impl block is associated with Rectangle\nimpl Rectangle { // &self is a short hand for self: `&self` (references are used to prevent mutation) // You can pass the following too: // self - Ownership of instance // &self - Reference to the instance {Currently Using} // &mut self - Mutable Reference to the instance fn area(&self) -> u32 { self.width * self.height } // It is possible to name methods same as fields of struct // Usually these methods are used as getters, to keep the fields private but provide read only accees using the methods fn width(&self) -> bool { self.width > 0 } // This is how we pass anotherr instance of same struct to a method fn can_hold(&self, other: &Rectangle) -> bool { self.width > other.width && self.height > other.height }\n} fn main() { let rect1 = Rectangle { width: 30, height: 50, }; let rect2 = Rectangle { width: 15, height: 25, }; println!( \"The area of the rectangle is {} square pixels.\", rect1.area() ); // If we use rect1.width() - Rust unserstands it as method and // if we use rect1.width - Rust unserstands it as a field if rect1.width() { println!(\"The rectangle has a nonzero width; it is {}\", rect1.width); }; // This is how we can pass second instance while calling a method on first instance println!(\"Can rect1 hold rect2? {}\", rect1.can_hold(&rect2));\n} Note: When you call a method with object.something(), Rust automatically adds in &, &mut, or * so object matches the signature of the method. In other words, the following are the same: p1.distance(&p2);\n(&p1).distance(&p2); It is possible to use different impl blocks, it is a valid syntax. impl Rectangle { fn area(&self) -> u32 { self.width * self.height }\n} impl Rectangle { fn can_hold(&self, other: &Rectangle) -> bool { self.width > other.width && self.height > other.height }\n} Associated Functions All the functions defined under impl are associated functions. Methods are associated functions which has self as an argument and we use . operator to access it. It is possible to define associated functions without passing self as the first argument, these functions are accessed through :: operator. Here's an example: // Calling a method, also an associated function\ninstance.method(some_argument); // Calling an associated function, without self as the first argument, hence not a method\nString::from(\"Hello, World!\"); These associated functions are commonly used as constructors. Also, for the previous example of Rectangle, we can use it as follows: impl Rectangle { // With this associated function we can create a new instance of Rectangle // by passing one value instead of two, hence creating a square. fn square(size: u32) -> Rectangle { Rectangle { width: size, height: size, } }\n} It can be called like this: let sq = Rectangle::square(3);","breadcrumbs":"Basics of Rust » Structs » Associated Functions and Methods","id":"34","title":"Associated Functions and Methods"},"35":{"body":"Enums is the short form of enumerations. It allows us to define a type with possible values, these possible values are called variants . We can enumerate all possible variants, which is where enumeration gets its name. The total size that enum will allocate for it’s variant will be equal to the memory allocation of it’s largest variant. It works similar to unions in C. Where to use Enums? When their are certain possible values for a type and those possible values may not coincide together. For Example, we can make an enum for Day, with possible variants Monday-Sunday, now for a certain day any two possible values will never coincide. Another Example, IP Address, it's possible variants will be IPV4, IPV6, for a certain IP address, it can only be either of the two. Here's an example definition: enum IpAddrKind { V4, V6,\n} To create an instance of ane enum, we use :: operator: let four = IpAddrKind::V4;\nlet six = IpAddrKind::V6; To use it in a function: // In fn declaration\nfn route(ip_kind: IpAddrKind) {} // In fn call\nroute(IpAddrKind::V4);\nroute(IpAddrKind::V6); Using Enums with Structs: enum IpAddrKind { V4, V6, } struct IpAddr { kind: IpAddrKind, address: String, } let home = IpAddr { kind: IpAddrKind::V4, address: String::from(\"127.0.0.1\"), }; let loopback = IpAddr { kind: IpAddrKind::V6, address: String::from(\"::1\"), }; Enums with associated data types: // Now, we don't need an extra struct\nenum IpAddr { V4(String), V6(String),\n} // We get a default constructor function for each variant\nlet home = IpAddr::V4(String::from(\"127.0.0.1\")); let loopback = IpAddr::V6(String::from(\"::1\")); Defining enum variants with different data types: enum IpAddr { // Defining variants with two different data types // is only possible through enums and not through enums with struct V4(u8, u8, u8, u8), V6(String),\n} let home = IpAddr::V4(127, 0, 0, 1); let loopback = IpAddr::V6(String::from(\"::1\")); This is how standard library defines IP addresses : struct Ipv4Addr { // --snip--\n} struct Ipv6Addr { // --snip--\n} // It is posible to put any data type inside\n// the enum variant, int, String, struct,\n// or even enum\nenum IpAddr { V4(Ipv4Addr), V6(Ipv6Addr),\n} Enum with complicated data types: // Cleaner Approach\nenum Message { Quit, // No data associated with it at all! Move { x: i32, y: i32 }, // Has named fields like struct Write(String), ChangeColor(i32, i32, i32),\n} // Uglier approach using struct\nstruct QuitMessage; // unit struct\nstruct MoveMessage { x: i32, y: i32,\n}\nstruct WriteMessage(String); // tuple struct\nstruct ChangeColorMessage(i32, i32, i32); // tuple struct It is possible to define associated functions on enums using impl: enum Message { Quit, Move { x: i32, y: i32 }, Write(String), ChangeColor(i32, i32, i32),\n} impl Message { fn call(&self) { // method body would be defined here }\n} let _quit_message = Message::Quit; // We won't use parantheses because it is of Unit Type\nlet _write_message = Message::Write(String::from(\"Hello\")); // Constructor function, that accepts String and will stroe it on heap\nlet _change_color_message = Message::ChangeColor(12, 12, 12); // Constructor function, that accepts three i32 values\nlet _move_message = Message::Move {x: 5, y: 6}; // Works similar to creating new instance of struct with named fields _quit_message.call(); The Option Enum The Option type is used in many places because it encodes the very common scenario in which a value could be something or it could be nothing. Expressing this concept in terms of the type system means the compiler can check whether you’ve handled all the cases you should be handling. This functionality can prevent bugs that are extremely common in other programming languages. Rust doesn't have Null, so it uses Option enum with variants Some and None. This makes Rust extremely cool, you may read more about \"Null References: The Billion Dollar Mistake\" . The problem with null values is that if you try to use a null value as a not-null value, you’ll get an error of some kind. Rust's Option enum will always ask you to offer solution for both Some and None. // It is generic over any data type T\nenum Option { None, Some(T),\n} // Rust automatically inferred to be of type Option because we passed a number and i32 is it's default type\nlet some_number = Some(5);\n// Similarly, Rust inferred Option<&str>, since we passed string literal\nlet some_string = Some(\"a string\"); // Here, since None can belong to any data type, we explicitly define i32\nlet absent_number: Option = None; Why is having Option any better than having null? In short, because Option and T (where T can be any type) are different types, the compiler won’t let us use an Option value as if it were definitely a valid value. For example, this code won’t compile because it’s trying to add an i8 to an Option: let x: i8 = 5;\nlet y: Option = Some(5); let sum = x + y; When we have a value of a type like i8 in Rust, the compiler will ensure that we always have a valid value. We can proceed confidently without having to check for null before using that value. when we have an Option, we'll have to worry about possibly not having a value, and the compiler will make sure we handle that case before using the value. In other words, you have to convert an Option to a T before you can perform T operations with it. Generally, this helps catch one of the most common issues with null: assuming that something isn’t null when it actually is. In languages like C, this will work and print something, even though we know it doesn't contain any value. #include int main() { int x; printf(\"Value of x: %i\", x); return 0;\n} In Rust, it'll not compile, since it identifies an absence of value. fn main() { let number: i32; println!(\"Value of x: {}\", number);\n} Everywhere that a value has a type that isn’t an Option, you can safely assume that the value isn’t null. This was a deliberate design decision for Rust to limit null’s pervasiveness and increase the safety of Rust code.","breadcrumbs":"Basics of Rust » Enums » Enums","id":"35","title":"Enums"},"36":{"body":"","breadcrumbs":"Basics of Rust » Pattern Matching » Pattern Matching","id":"36","title":"Pattern Matching"},"37":{"body":"It allows you to compare a value against a series of patterns and then execute code based on which pattern matches. It is possible to express very different kind of patterns. Also, Rust has a cumpolsary check, where it handles that all possible cases are handled. Think of a match expression as being like a coin-sorting machine: coins slide down a track with variously sized holes along it, and each coin falls through the first hole it encounters that it fits into. At the first pattern the value “fits”, the value falls into the associated code block to be used during execution. The expression with if statement only returns a boolean value but match expression can return any type. Here's an Example Below: enum Coin { Penny, Nickel, Dime, Quarter,\n} fn value_in_cents(coin: Coin) -> u8 { match coin { Coin::Penny => { println!(\"Lucky penny!\"); 1 }, Coin::Nickel => 5, Coin::Dime => 10, Coin::Quarter => 25, }\n} Each new pattern under match is an arm. An arm has two parts: a pattern and some code. The code associated with each arm is an expression, and the resulting value of the expression in the matching arm is the value that gets returned for the entire match expression. An enum inside another enum This is how we'll be using match for such cases: #[derive(Debug)] // so we can inspect the state in a minute\nenum UsState { Alabama, Alaska, // --snip--\n} enum Coin { Penny, Nickel, Dime, Quarter(UsState),\n} fn value_in_cents(coin: Coin) -> u8 { match coin { Coin::Penny => 1, Coin::Nickel => 5, Coin::Dime => 10, Coin::Quarter(state) => { println!(\"State quarter from {:?}!\", state); 25 } }\n} fn main() { let _value = value_in_cents(Coin::Quarter(UsState::Alaska));\n} Matching with Option The value inside Option of type T can be passed through like a functional argument using the match expression. fn plus_one(x: Option) -> Option { match x { None => None, Some(i) => Some(i + 1), } } let five = Some(5); let six = plus_one(five); let none = plus_one(None); The match expression always covers all the possible values, that's why we call them exhaustive : we must exhaust every last possibility in order for the code to be valid. // FAIL: All the cases not covered in match expression, the None case is remaining\nfn plus_one(x: Option) -> Option { match x { Some(i) => Some(i + 1), }\n} Especially in the case of Option, when Rust prevents us from forgetting to explicitly handle the None case, it protects us from assuming that we have a value when we might have null, thus making the billion-dollar mistake discussed earlier impossible . Catch remaining patterns using _ placeholder It is possible to cover the remaining cases inside the match expression, it is similar to default case of switch statement in other languages. let dice_roll = 9; match dice_roll { 3 => add_fancy_hat(), 7 => remove_fancy_hat(), other => move_player(other), // This will match all the cases that aren't specifically listed } fn add_fancy_hat() {} fn remove_fancy_hat() {} fn move_player(num_spaces: u8) {} Sometimes we use placeholder _, to specify Rust, that this value is useless. let dice_roll = 9; match dice_roll { 3 => add_fancy_hat(), 7 => remove_fancy_hat(), _ => reroll(), // These values aren't that important } fn add_fancy_hat() {} fn remove_fancy_hat() {} fn reroll() {} If we want to tell Rust to literally do nothing, then we can use unit tuple () instead of fn call. let dice_roll = 9; match dice_roll { 3 => add_fancy_hat(), 7 => remove_fancy_hat(), _ => (), // Telling Rust to \"do nothing\" } fn add_fancy_hat() {} fn remove_fancy_hat() {} The if let syntax It is used in case you want to consider only particular case of an enum. For example, if you want to consider only the Some variant of an enum Option<>, you may prefer to use the if let syntax instead of match: // The older approach using the match syntax\nlet config_max = Some(3u8);\nmatch config_max { Some(max) => println!(\"The maximum is configured to be {}\", max), _ => (), // This line seems redundant\n} // More concise approach with if let\nlet config_max = Some(3u8);\nif let Some(max) = config_max { println!(\"The maximum is configured to be {}\", max);\n} The if let accepts a pattern (consider Some(max)) and an expression (consider config_max) seperated by and = sign. Before using if let please make sure whether gaining conciseness is an appropriate trade-off for losing exhaustive checking. This approach is not exhaustive in sense that it only considers one pattern and ignores other unlike the match syntax. It is possible to use else with if let: // In this problem we are counting the coins that aren't quarter\nlet mut count = 0;\nmatch coin { Coin::Quarter(state) => println!(\"State quarter from {:?}!\", state), _ => count += 1,\n} // Another possible approach with if let and else\nlet mut count = 0;\nif let Coin::Quarter(state) = coin { println!(\"State quarter from {:?}!\", state);\n} else { count += 1;\n}","breadcrumbs":"Basics of Rust » Pattern Matching » The match conftrol flow operator","id":"37","title":"The match conftrol flow operator"},"38":{"body":"The various data structures in Rust's standard library are called Collections. Refer here . They can contain multiple values and collections point data stored on heap. Most Common Collections: Vectors String Hash Map","breadcrumbs":"Common Collections » Common Collections","id":"38","title":"Common Collections"},"39":{"body":"It is represesnted as Vec. You can store variable number of values, unlike Array. Though, the data type of stored values should be same. Vectors store values next to each other in memory. Creating a new vector: // We'll add type annotation because the vector has 0 elements, // hence, there is no way for Rust to recognize type implicitly let v: Vec = Vec::new(); Creating vectors using a macro: let v = vec![1, 2, 3]; Pushing new values (make sure Vector is mutable): v.push(5); Popping new values: let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3)); Even though vectors store values on heap and it is possible to introduce references to the elements of the vector. Still, the vectors automatically cleans up memory as it goes out of scope: { let v = vec![1, 2, 3, 4]; // do stuff with v } // <- v goes out of scope and is freed here Accessing elements inside a vector: Method 1: let third: &i32 = &v[2]; // Might panic due to out of index Method 2: match v.get(2) { // Gives Option<&T> Some(third) => println!(\"The third element is {}\", third), None => println!(\"There is no third element.\"),\n} You can't do that: let mut v = vec![1, 2, 3, 4, 5]; let first = &v[0]; // A reference to immutable vector [Immutable Borrow] v.push(6); // Writing to a mutable vector [Mutable Error] println!(\"The first element is: {}\", first); // Accessing the reference after writing [Immutable Borrow Used] // Recall: You can’t have mutable and immutable references in the same scope. Why should a reference to the first element care about what changes at the end of the vector? This error is due to the way vectors work: adding a new element onto the end of the vector might require allocating new memory and copying the old elements to the new space, if there isn’t enough room to put all the elements next to each other where the vector currently is. Itearting over the Vector: let v = vec![100, 32, 57]; for i in &v { println!(\"{}\", i); } Iterating and mutating the vector: let mut v = vec![100, 32, 57]; for i in &mut v { *i += 50; } Storing values of different types using enums: // Using enums in vectors add stability as // when we'll use match all possible cases // will be covered. enum SpreadsheetCell { Int(i32), Float(f64), Text(String), } let row = vec![ SpreadsheetCell::Int(3), SpreadsheetCell::Text(String::from(\"blue\")), SpreadsheetCell::Float(10.12), ];","breadcrumbs":"Common Collections » Vector » Vector","id":"39","title":"Vector"},"4":{"body":"In this Chapter you'll learn about the common programming concepts like functions, conditionals etc. along with some unique Rust concepts like borrowing, ownership and pattern matching.","breadcrumbs":"Basics of Rust » Basics of Rust","id":"4","title":"Basics of Rust"},"40":{"body":"The type HashMap stores a mapping of keys of type K to values of type V. It does this via a hashing function, which determines how it places these keys and values into memory. Creating a new HashMap: use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from(\"Blue\"), 10); scores.insert(String::from(\"Yellow\"), 50); Just like Vectors, HashMaps also save their values on Heap. All Keys must have same type, and all values must have same type. Creating HashMap through iterators: use std::collections::HashMap; let teams = vec![String::from(\"Blue\"), String::from(\"Yellow\")]; let initial_scores = vec![10, 50]; let mut scores: HashMap<_, _> = teams.into_iter() .zip(initial_scores.into_iter()) // creates a tuple, example (\"Blue\", 10) .collect(); // Converts tuple into HashMap HashMap and ownership: Types that implement Copy trait will be copied else moved. For Example, i32 will be copied but String will be moved. use std::collections::HashMap; let field_name = String::from(\"Favorite color\"); let field_value = String::from(\"Blue\"); let mut map = HashMap::new(); map.insert(field_name, field_value); // You can't use field_name or field_value now, as they've been moved Accessing value in HashMap, the get method returns Option<&V>: use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from(\"Blue\"), 10); scores.insert(String::from(\"Yellow\"), 50); let team_name = String::from(\"Blue\"); let score = scores.get(&team_name); // This is how we access value for a certain Key // The score variable will contain - Some(&10) Iterating over a HashMap: use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from(\"Blue\"), 10); scores.insert(String::from(\"Yellow\"), 50); for (key, value) in &scores { println!(\"{}: {}\", key, value); } Updating a HashMap: Overwriting the value: scores.insert(String::from(\"Blue\"), 10);\nscores.insert(String::from(\"Blue\"), 25); // Output - scores = {\"Blue\": 25} Only inserting the value if the Key has no value: scores.insert(String::from(\"Blue\"), 10); // We'll need to use entry to use or_insert\nscores.entry(String::from(\"Yellow\")).or_insert(50); // This will add 50\nscores.entry(String::from(\"Blue\")).or_insert(50); // This won't replace 10 with 50 // Output - scores = {\"Yellow\": 50, \"Blue\": 10} Updating a value based on the Old Value: use std::collections::HashMap; let text = \"hello world wonderful world\"; let mut map = HashMap::new(); for word in text.split_whitespace() { let count = map.entry(word).or_insert(0); // or_insert returns mutable reference to the Value, &mut V *count += 1;\n} println!(\"{:?}\", map); // Output - map = {\"world\": 2, \"hello\": 1, \"wonderful\": 1} The hashing function that Rust uses is SipHash. You can replace the hashing function. Please refer here for more.","breadcrumbs":"Common Collections » HashMaps » HashMaps","id":"40","title":"HashMaps"},"41":{"body":"You'll learn about how to structure the differences between packages, crates, modules and paths. It'll help you to modularize your code as your project grows. We'll talk about error handling and the differences between recoverable and unrecoverable errors.","breadcrumbs":"Project Structuring and Error Handling » Project Structuring and Error Handling","id":"41","title":"Project Structuring and Error Handling"},"42":{"body":"The Rust's module system includes: Packages: A Cargo feature that lets you build, test, and share crates Crates: A tree of modules that produces a library or executable Modules and use: Let you control the organization, scope, and privacy of paths Paths: A way of naming an item, such as a struct, function, or module Once you’ve implemented an operation, other code can call that code via the code’s public interface without knowing how the implementation works. The way you write code defines which parts are public for other code to use and which parts are private. private - No exteranl code can call this code directly public - External code can call this code directly The way privacy works in Rust is that all items (functions, methods, structs, enums, modules, and constants) are private by default. Package When we run the command cargo new it creates the package. A package contains a Cargo.toml file that describes how to build those crates. A package can contain at most one library crate. It can contain as many binary crates as you’d like, but it must contain at least one crate (either library or binary). As a package grows, you can extract parts into separate crates that become external dependencies. Crates A crate is a binary or library. The crate root is a source file that the Rust compiler starts from and makes up the root module of your crate. Cargo follows a convention that src/main.rs is the crate root of a binary crate with the same name as the package. Similarly, src/lib.rs is the crate root of a library crate with the same name as the package. Cargo passes the crate root files to rustc to build the library or binary. A crate’s functionality is namespaced in its own scope, it means we can import another crate let's say rand which has a trait named Rng, and still create a new struct named Rng in our project's crate. The rustc will never confuse between the two and we can access the rand's components as rand::Rng. Modules Modules are used to structure code inside a crate. It is also used to provide privacy to your code. private - Exteranl code outside that module can not call this code directly public - External code outside that module can call this code directly By using modules, we can group related definitions together and name why they’re related. The benefit it'll provide you is that other programmers reading your code can easily find the code they are searching for because then they'll navigate through groups rather than each function definition. Also, they'll add new code in the right module. The contents of the files src/main.rs and src/lib.rs (these files are also referred as crate roots) form a module named crate at the root of the crate’s module structure, known as the module tree . crate // An implicit module, definitely not named by you └── front_of_house // Main Module inside lib.rs ├── hosting // Submodule │ ├── add_to_waitlist │ └── seat_at_table └── serving // Submodule ├── take_order ├── serve_order └── take_payment Paths We use a path in the same way we use a path when navigating a filesystem. A path can take two forms: An absolute path starts from a crate root by using a crate name or a literal crate. A relative path starts from the current module and uses self, super, or an identifier in the current module. You ma consider paths in rust quite similar to the paths used to access the filesystem crate - Root (/) :: - Used to distinct others (/) super - Used to go back one step (../) Here's an exmaple: // eat_at_restaurant is a sibling to front_of_house (since they are in same file),\n// thus front_of_house doesn't need pub keyword to make it accessible.\nmod front_of_house { // Add pub to allow the functions that can access front_of_house to access hosting too. pub mod hosting { // Add pub to allow the functions that can access hosting to access add_to_waitlist too. pub fn add_to_waitlist() {} }\n} pub fn eat_at_restaurant() { // Absolute path // Filesystem Equivalent to /front_of_house/hosting/add_to_waitlist crate::front_of_house::hosting::add_to_waitlist(); // Relative path // Filesystem Equivalent to front_of_house/hosting/add_to_waitlist front_of_house::hosting::add_to_waitlist();\n} Our preference is to specify absolute paths because it’s more likely to move code definitions and item calls independently of each other. Items in a parent module can’t use the private items inside child modules, but items in child modules can use the items in their ancestor modules. But you can expose inner parts of child modules’ code to outer ancestor modules by using the pub keyword to make an item public. If you want to make an item like a function or struct private, you put it in a module. Another example to show usecase for super: fn serve_order() {} mod back_of_house { fn fix_incorrect_order() { cook_order(); super::serve_order(); } fn cook_order() {}\n} If we make a struct public, it doesn't mean all it's fields are public too. We use . to access fields. mod back_of_house { pub struct Breakfast { pub toast: String, // Accessible seasonal_fruit: String, // Not Accessible } ...\n} On the other hand, if we make an enum public all it's variants becomes public too. We use :: to access variants. mod back_of_house { pub enum Appetizer { Soup, // Accessible Salad, // Accessible } ...\n} The use keyword It is similar to the import keyword in python. mod front_of_house { pub mod hosting { pub fn add_to_waitlist() {} }\n} // The line below will make hosting as a valid name in the scope\nuse crate::front_of_house::hosting; pub fn eat_at_restaurant() { hosting::add_to_waitlist(); hosting::add_to_waitlist(); hosting::add_to_waitlist();\n} We can use the following ways to achieve the same thing: use self::front_of_house::hosting; use crate::front_of_house::hosting::add_to_waitlist; Though, the one mentioned inside the code block is the idiiomatic way to do it in Rust. On the other hand, when bringing in structs, enums, and other items with use, it’s idiomatic to specify the full path. use std::collections::HashMap; fn main() { let mut map = HashMap::new(); map.insert(1, 2);\n} In case if we have two items with same name (in our case Result) but from different crates (in our case fmt and io), then we'll not use the full path, as it'll confuse Rust. use std::fmt;\nuse std::io; // This way Rust will be able to distinguish which Result we want\nfn function1() -> fmt::Result { // --snip--\n} fn function2() -> io::Result<()> { // --snip--\n} Alternatively, we can use the as keyword to deal with two same names. use std::fmt::Result;\nuse std::io::Result as IoResult; We can re-export the code using pub use. mod front_of_house { pub mod hosting { pub fn add_to_waitlist() {} }\n} // The use keyword will create a local variable named hosting in this scope\n// and pub keyword will re-export it for the external code to use it.\npub use crate::front_of_house::hosting; pub fn eat_at_restaurant() { hosting::add_to_waitlist(); hosting::add_to_waitlist(); hosting::add_to_waitlist();\n} Using external packages: First, we'll add the name and version of the package in cargo.toml, so that it can be automatically downloaded through crates.io. rand = \"0.8.3\" Then, we'll use the use keyword to bring it into the scope. use rand::Rng; fn main() { let secret_number = rand::thread_rng().gen_range(1..101);\n} The packages like std is also external but is a part of Rust language and it is not needed to download it from crates.io. Nesting the paths: // Dirty Approach\nuse std::cmp::Ordering;\nuse std::io; // Cleaneer Aproach (Nested)\nuse std::{cmp::Ordering, io}; //Another Dierty Approach\nuse std::io;\nuse std::io::Write; // Cleaner Approach (Nesting using self)\nuse std::io::{self, Write}; The glob operator (*), is used to bring all public definitions into the scope. // It is a bit riskier, as it is hard to identify what all definitions have been brought into scope\nuse std::collections::*;","breadcrumbs":"Project Structuring and Error Handling » Project Structuring » Project Structuring","id":"42","title":"Project Structuring"},"43":{"body":"","breadcrumbs":"Project Structuring and Error Handling » Modularizing » Modularizing","id":"43","title":"Modularizing"},"44":{"body":"Let's say we decided to put some code in the file src/front_of_house.rs, and we want to use this code inside the file src/lib.rs. It can be done like this: src ├── front_of_house.rs └── lib.rs // Filename: src/lib.rs\n// This will bring the contents of module (thst is stored in file `src/front_of_house.rs`)\n// into the current file\nmod front_of_house; // This will allow us to use as well as export it\n// so that external can use it too.\npub use crate::front_of_house::hosting; pub fn eat_at_restaurant() { hosting::add_to_waitlist(); hosting::add_to_waitlist(); hosting::add_to_waitlist();\n} Now, we can make a new directory as well and can store the files as folows: src ├── front_of_house │ └── hosting.rs ├── front_of_house.rs └── lib.rs // Filename: src/front_of_house.rs\npub mod hosting; // Filename: src/front_of_house/hosting.rs\npub fn add_to_waitlist() {} Re-exporting You may use re-exporting, for making it easier to use your crate for other developers. It allows to use the structures directly intead of following the heirarchy in which the crate is designed. Without re-exporting: How structure looks: pub mod kinds { pub enum PrimaryColor { ... } pub enum SecondaryColor { ... }\n} pub mod utils { use crate::kinds::*; pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { ... }\n} How others will be using it: use art::kinds::PrimaryColor;\nuse art::utils::mix; fn main() { let red = PrimaryColor::Red; let yellow = PrimaryColor::Yellow; mix(red, yellow);\n} With re-exporting: How structure looks: // Here we're re-exporting it for direct use\npub use self::kinds::PrimaryColor;\npub use self::kinds::SecondaryColor;\npub use self::utils::mix; pub mod kinds { ...\n} pub mod utils { ...\n} How others will be using it: // Isn't it easier to import now?\nuse art::mix;\nuse art::PrimaryColor; fn main() { let red = PrimaryColor::Red; let yellow = PrimaryColor::Yellow; mix(red, yellow);\n} Workspaces A workspace is a set of packages that share the same Cargo.lock and output directory. You can build your workspace that looks like this: add\n├── Cargo.lock\n├── Cargo.toml\n├── add_one\n│ ├── Cargo.toml\n│ └── src\n│ └── lib.rs\n├── adder\n│ ├── Cargo.toml\n│ └── src\n│ └── main.rs\n└── target // Notice only one target directory The cargo.toml of add (the outer one) of the workspace will look like this: \n[workspace] members = [ \"adder\", \"add_one\",\n] The workspace has one target directory at the top level, the adder package doesn’t have its own target directory. Even if we were to run cargo build from inside the adder directory, the compiled artifacts would still end up in add/target rather than add/adder/target. The cargo.toml of adder will look like this: \n[dependencies]\nadd_one = { path = \"../add_one\" } The main.rs in adder will look something like this: // Filename: add/adder/src/main.rs\nuse add_one; fn main() { let num = 10; println!( \"Hello, world! {} plus one is {}!\", num, add_one::add_one(num) );\n} To build the whole workspace, you may run this command from the add directory (the outer). $ cargo build Compiling add_one v0.1.0 (file:///projects/add/add_one) Compiling adder v0.1.0 (file:///projects/add/adder) Finished dev [unoptimized + debuginfo] target(s) in 0.68s To run a particular package you may run the following command: $ cargo run -p adder Finished dev [unoptimized + debuginfo] target(s) in 0.0s Running `target/debug/adder`\nHello, world! 10 plus one is 11! All the dependencies in different packages will use the same version of the dependency. It is because the cargo.toml of the workspace will make only one entry of the dependency. It also saves space and makes all the package compatible with each other, since they'll be using the same version of the dependency. To run all test: cargo run test To run test in particular file: cargo test -p add_one","breadcrumbs":"Project Structuring and Error Handling » Modularizing » Modularizing in different files","id":"44","title":"Modularizing in different files"},"45":{"body":"This pattern is about separating concerns: main.rs handles running the program, and lib.rs handles all the logic of the task at hand. Because you can’t test the main function directly, this structure lets you test all of your program’s logic by moving it into functions in lib.rs. The only code that remains in main.rs will be small enough to verify its correctness by reading it.","breadcrumbs":"Project Structuring and Error Handling » Modularizing » Refactoring Guides","id":"45","title":"Refactoring Guides"},"46":{"body":"Types of Errors Recoverable Unrecoverable Errors like file not found error. Errors like trying to access a location beyond the end of an array. It’s reasonable to report the problem to the user and retry the operation. They are always symptoms of bugs. Result is used for Recoverable Errors. The panic! macro is used to stop the execution for an unrecoverable error. Unrecoverable Errors with panic! Fun Fact: In C, attempting to read beyond the end of a data structure is undefined behavior. You might get whatever is at the location in memory that would correspond to that element in the data structure, even though the memory doesn’t belong to that structure. This is called a buffer overread and can lead to security vulnerabilities if an attacker is able to manipulate the index in such a way as to read data they shouldn’t be allowed to that is stored after the data structure. In Rust, you'll encounter a panic!() in such cases. When the panic! macro executes, Rust does the following: Print a failure message Unwind and clean up the stack Quit Panic is usually used, when a bug appears and the programmer doesn't know how to handle it. If you don't want your program to \"slowly unwind and clean up the stack\" instead \"abort the program and let OS handle the cleaning\". You may do that by adding following lines to the Cargo.toml file. Refer here for more. [profile.release]\npanic = 'abort' To receive a backtrace in case of panic, you might need to run the following command: RUST_BACKTRACE=1 cargo run The best way to read backtraces is to ready from top to bottom, once you see the first instance mentioning a file that you've written, you should probably try to solve from there. Debug symbols (they are required to receive backtraces) are enabled by default when using cargo build or cargo run without the --release flag. Recoverable Errors with Result Result is an enum, that considers two possible outcomes: success (Ok(T)) or failure (Err(E)). enum Result { Ok(T), Err(E),\n} Handling recoverable errors using the match expression. use std::fs::File; fn main() { let f = File::open(\"hello.txt\"); let f = match f { Ok(file) => file, // Handling Success Err(error) => panic!(\"Problem opening the file: {:?}\", error), // Handling Failure };\n} Matching on different errors: use std::fs::File;\nuse std::io::ErrorKind; fn main() { let f = File::open(\"hello.txt\"); // Match on File, whether it gets opened or not let f = match f { Ok(file) => file, // If file not found, then create a new file and transfer file handle, // this error is part of io::ErrorKind, which was found using error.kind() Err(error) => match error.kind() { // In case we receive ErrorKind::NotFound, we'll apply // match again to check whether creation of file, fails or succeeds ErrorKind::NotFound => match File::create(\"hello.txt\") { Ok(fc) => fc, Err(e) => panic!(\"Problem creating the file: {:?}\", e), }, other_error => { panic!(\"Problem opening the file: {:?}\", other_error) } }, };\n} In case you don't like using a lot of match statements (refer above example), you may use unwrap_or_else: use std::fs::File;\nuse std::io::ErrorKind; fn main() { let f = File::open(\"hello.txt\").unwrap_or_else(|error| { if error.kind() == ErrorKind::NotFound { File::create(\"hello.txt\").unwrap_or_else( |error| { panic!(\"Problem creating the file: {:?}\", error); } ) } else { panic!(\"Problem opening the file: {:?}\", error); } })\n} In case you want a shortcut, you may only use unwrap(). It either returns what's inside Ok(T), or panics in case of Err(E): use std::fs::File; fn main() { let f = File::open(\"hello.txt\").unwrap();\n} For those cases, when you want to send a panic message but only want to unwrap in one line, you may use expect: use std::fs::File; fn main() { let f = File::open(\"hello.txt\").expect(\"Failed to open hello.txt\"); // Same as unwrap but contains panic message\n} Propogating errors using the Result: use std::fs::File;\nuse std::io::{self, Read}; fn read_username_from_file() -> Result { let f = File::open(\"hello.txt\"); let mut f = match f { Ok(file) => file, Err(e) => return Err(e), // This is a std::io error type }; let mut s = String::new(); match f.read_to_string(&mut s) { Ok(_) => Ok(s), Err(e) => Err(e), // This is also a std::io error type }\n} The shortcut of above code can be done using ?. unwrap panics in case of Err(E), but this operator returns the error, same as the code above. // ? operator changes the error type to the mentioned\n// Error type in the fn declaration using the from implementation\nuse std::fs::File;\nuse std::io;\nuse std::io::Read; fn read_username_from_file() -> Result { let mut f = File::open(\"hello.txt\")?; let mut s = String::new(); f.read_to_string(&mut s)?; Ok(s)\n} It is possible to use the ? operator multiple times in a single line: use std::fs::File;\nuse std::io;\nuse std::io::Read; fn read_username_from_file() -> Result { let mut s = String::new(); File::open(\"hello.txt\")?.read_to_string(&mut s)?; Ok(s)\n} There's a Rust's official implementation of the functionality mentioned in the above code: use std::fs;\nuse std::io; fn read_username_from_file() -> Result { fs::read_to_string(\"hello.txt\")\n} The ? operator can only be used in the functions that has a return type of Result, Option, or another type that implements FromResidual: // FAIL: main() doensn't returns a Result<>\n// but the ? operator requires that\nuse std::fs::File; fn main() { let f = File::open(\"hello.txt\")?;\n} // It works with the Option\nfn last_char_of_first_line(text: &str) -> Option { text.lines().next()?.chars().last()\n} There's a way to use ? inside main(). The main() either returs 0 on success or other integer on failure. Also, it's possible to return : use std::error::Error;\nuse std::fs::File; fn main() -> Result<(), Box> { let f = File::open(\"hello.txt\")?; Ok(())\n} Differences between unwrap, unwrap_or, and ? operator Property unwrap expect unwrap_or ? operator Error Handling Panics Panics with the given message Executes code inside it's parantheses Returns error Can be used on Result :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: Can be used on Option :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: Function return type to be same as wrapped item :x: :x: :x: :heavy_check_mark: Note: You can only use the ? operator on a Result in a function that returns Result, and you can use the ? operator on an Option in a function that returns Option. To panic! or Not to panic! When to use Result When panic! is called, there is no way to recover the program, so if there is a slightest possiblity to recover the program, it's recommended to use that instead of panic!. Always try to prevent converting a recoverable error into an unrecoverable one. Hence, always prefer Result over panic!. The unwrap and expect methods are very handy when prototyping, and if you want to make your program more robust, you may add better error handling. When to use panic! In case you want your test to fail in certain cases, even if a certain fn is not exactly what the test is for, it's better to panic! in those situations. It’s advisable to have your code panic when it’s possible that your code could end up in a bad state. The bad state is something that is unexpected, as opposed to something that will likely happen occasionally, like a user entering data in the wrong format. You don't want to carry this bad state throughout the program and instead would prefer it to end through panic!. If someone calls your code and passes in values that don’t make sense, the best choice might be to call panic! and alert the person using your library to the bug in their code so they can fix it during development. Similarly, panic! is often appropriate if you’re calling external code that is out of your control and it returns an invalid state that you have no way of fixing. When your code performs operations on values, your code should verify the values are valid first and panic if the values aren’t valid. This is mostly for safety reasons: attempting to operate on invalid data can expose your code to vulnerabilities. However, having lots of error checks in all of your functions would be verbose and annoying. Fortunately, you can use Rust’s type system (and thus the type checking the compiler does) to do many of the checks for you. If your function has a particular type as a parameter, you can proceed with your code’s logic knowing that the compiler has already ensured you have a valid value. For example, if you have a type rather than an Option, your program expects to have something rather than nothing. Another example is using an unsigned integer type such as u32, which ensures the parameter is never negative. When to call unwrap() In case you exactly know that the code won't panic!, then it's better to use unwrap(), and stop caring about the other possibilities. Here's an Example: use std::net::IpAddr; // Compile isn't smart enough to see this string is a valid IP address\n// but we are\nlet home: IpAddr = \"127.0.0.1\".parse().unwrap();","breadcrumbs":"Project Structuring and Error Handling » Error Handling » Error Handling","id":"46","title":"Error Handling"},"47":{"body":"This section will cover the functional programming features like closures and iterators. Also, it'll talk about how you can perform Object Oriented Programming in Rust. It'll also talk about other features like generics, traits and lifetimes etc.","breadcrumbs":"Medium Concepts » Medium Concepts","id":"47","title":"Medium Concepts"},"48":{"body":"Generics are used to prevent the duplication of concepts and are generalized over a type. Some examples of generics are Result, Option, Vec, and HashMap. Possible Use Cases: You can define an enum or struct which can accomodate different data types. You can define a function which can provide same functionality for different types. For Example, finding the largest element inside a vector of numbers or chars. In Rust, declaring generics aren't any slower than using concrete types, because it uses a process called Monomorphization to achieve that. Monomorphization is the process of turning generic code into specific code by filling in the concrete types that are used when compiled. Generics on structs To create a generic struct: // We used type T to make the struct generic\n// so that it can accomodate any type\nstruct Point { x: T, y: T,\n} fn main() { let integer = Point { x: 5, y: 10 }; let float = Point { x: 1.0, y: 4.0 }; // FAIL: First is i32 and the other is f32, hence different types. let wont_work = Point { x: 5, y: 4.0 };\n} To make the wont_work to work fine, we'll need to change the code as follows: struct Point { x: T, y: U,\n} fn main() { let integer = Point { x: 5, y: 10 }; let float = Point { x: 1.0, y: 4.0 }; let will_work = Point { x: 5, y: 4.0 };\n} Generics on Enums The Option enum: enum Option { Some(T), None\n} The Result enum uses two types: enum Result { Ok(T), Err(E),\n} Generics on Functions To use generics on impl blocks: struct Point { x: T, y: T,\n} // By using T after impl means that\nimpl Point { fn x(&self) -> &T { &self.x }\n} // impl for just one concrete type\nimpl Point { fn distance_from_origin(&self) -> f32 { (self.x.powi(2) + self.y.powi(2)).sqrt() }\n} fn main() { let p = Point { x: 5, y: 10 }; println!(\"p.x = {}\", p.x());\n} To use on impl on different types: struct Point { x: X1, y: Y1,\n} impl Point { fn mixup(self, other: Point) -> Point { Point { x: self.x, y: other.y, } }\n} fn main() { let p1 = Point { x: 5, y: 10.4 }; let p2 = Point { x: \"Hello\", y: 'c' }; let p3 = p1.mixup(p2); println!(\"p3.x = {}, p3.y = {}\", p3.x, p3.y);\n}","breadcrumbs":"Medium Concepts » Generics » Generics","id":"48","title":"Generics"},"49":{"body":"A trait tells the Rust compiler about functionality a particular type has and can share with other types. They are similar to the interfaces in other languages. They are used to define the method signature. You may define the code implementations inside the impl block of the types that implement that trait. It is also possible to define a default implementation and then override it in impl block. Use cases: For example, you're creating a library that wants to summarize an article or a tweet. We want to implement this shared functionality. We can define a trait to define the interface of this functionality. pub trait Summary { fn summarize(&self) -> String;\n} Now each type implementing this trait must provide its own custom behavior for the body of the method. Implementing a trait Implementing trait on different types pub struct NewsArticle { pub headline: String, pub location: String, pub author: String, pub content: String,\n} impl Summary for NewsArticle { fn summarize(&self) -> String { format!(\"{}, by {} ({})\", self.headline, self.author, self.location) }\n} pub struct Tweet { pub username: String, pub content: String, pub reply: bool, pub retweet: bool,\n} impl Summary for Tweet { fn summarize(&self) -> String { format!(\"{}: {}\", self.username, self.content) }\n} Using types that implements trait: // You'll require to pull both trait along with the desired type\nuse aggregator::{Summary, Tweet}; fn main() { let tweet = Tweet { username: String::from(\"horse_ebooks\"), content: String::from( \"of course, as you probably already know, people\", ), reply: false, retweet: false, }; println!(\"1 new tweet: {}\", tweet.summarize());\n} Restrictions One restriction to note with trait implementations is that we can implement a trait on a type only if at least one of the trait or the type is local to our crate. For example, we can implement standard library traits like Display on a custom type like Tweet as part of our aggregator crate functionality, because the type Tweet is local to our aggregator crate. But we can’t implement external traits on external types. For example, we can’t implement the Display trait on Vec within our aggregator crate, because Display and Vec are defined in the standard library and aren’t local to our aggregator crate. This restriction is part of a property of programs called coherence , and more specifically the orphan rule , so named because the parent type is not present. This rule ensures that other people’s code can’t break your code and vice versa. Default Implementations We can define a default implementation by adding code inside the method signatures of traits. pub trait Summary { fn summarize(&self) -> String { String::from(\"(Read more...)\") }\n} To use default implementation on a type, we can do that by using empty braces {}. impl Summary for NewsArticle {} It is possible to keep a trait with a mix of method signatures and method signatures with default implementations. pub trait Summary { fn summarize_author(&self) -> String; fn summarize(&self) -> String { format!(\"(Read more from {}...)\", self.summarize_author()) }\n} Now we only need to require to define summarize_author method inside the impl block of the type that's implementing the trait. impl Summary for Tweet { fn summarize_author(&self) -> String { format!(\"@{}\", self.username) } // We do not require to define the summarize() method // as we can use the trait's default implementation\n} Note: Calling the default implementation from an overriding implementation won't work. Traits as Paramteres You can define the type of parameters of a function as a trait. Then, you can pass any type that implements the specified trait. Here's the syntax for that: pub fn notify(item: &impl Summary) { println!(\"Breaking news! {}\", item.summarize());\n} Code that calls the function with any other type, such as a String or an i32, won’t compile because those types don’t implement Summary. The above syntax is the simpler version of this original syntax, known as \" trait bound syntax \": pub fn notify(item: &T) { println!(\"Breaking news! {}\", item.summarize());\n} It is possible to use this syntax like this: pub fn notify(item1: &T, item2: &T) { It is possible to define multiple trait bounds for a single parameter: // In both these cases, item must be a type that\n// implements both traits Summary and Display // Method 1 ->\npub fn notify(item: &(impl Summary + Display)) { // Method 2 ->\npub fn notify(item: &T) { You can use where clause to declutter the signature. For Example: fn some_function(t: &T, u: &U) -> i32 where T: Display + Clone, U: Clone + Debug\n{ Similar to function parameters, it is possible to return types that implements traits: // Signature says that it'll return any type that implements the trait Summary\nfn returns_summarizable() -> impl Summary { // Tweet is some type that implements Summary Tweet { username: String::from(\"horse_ebooks\"), content: String::from( \"of course, as you probably already know, people\", ), reply: false, retweet: false, }\n} However, you can only use impl Trait if you’re returning a single type. For example: // FAIL: Either return NewsArticle or Tweet (only one type that implements Summary)\nfn returns_summarizable(switch: bool) -> impl Summary { if switch { NewsArticle { ... } } else { Tweet { ... } }\n} Finding the largest character of an array of integer or an array of characters using generics and traits: // Generic is used as we defined T in the signature, allowing any type to pass\n// Trait bound is specified as PartialOrd is added to the signature, allowing any type that allows comparison, and copy (both i32 and char do)\nfn largest(list: &[T]) -> T { let mut largest = list[0]; for &item in list { if item > largest { largest = item; } } largest\n} fn main() { let number_list = vec![34, 50, 25, 100, 65]; let result = largest(&number_list); println!(\"The largest number is {}\", result); let char_list = vec!['y', 'm', 'a', 'q']; let result = largest(&char_list); println!(\"The largest char is {}\", result);\n} Using Trait Bounds to Conditionally Implement Methods: use std::fmt::Display; struct Pair { x: T, y: T,\n} impl Pair { fn new(x: T, y: T) -> Self { Self { x, y } }\n} // cmp_display will only run on types bounded by traits Display and PartialOrd, hence works conditionally\nimpl Pair { fn cmp_display(&self) { if self.x >= self.y { println!(\"The largest member is x = {}\", self.x); } else { println!(\"The largest member is y = {}\", self.y); } }\n}","breadcrumbs":"Medium Concepts » Traits » Traits","id":"49","title":"Traits"},"5":{"body":"","breadcrumbs":"Basics of Rust » Variables and Mutability » Variables and Mutability","id":"5","title":"Variables and Mutability"},"50":{"body":"Fun Fact: The developers who are programming Rust are constantly programming the patterns into the compiler’s code so the borrow checker could infer the lifetimes in some situations and wouldn’t need explicit annotations. These patterns programmed into Rust’s analysis of references are called the lifetime elision rules . Thus, making lifetimes easier to use day by day. Lifetime is a way to specify how long the multiple references will live. So, it doesn't make sense to add lifetime to just one reference, they must be multiple. Ways to add lifetime specifiers: &i32 // a reference\n&'a i32 // a reference with an explicit lifetime\n&'a mut i32 // a mutable reference with an explicit lifetime Note: We'll may or may not use lifetimes only when we're dealing with references. For example, let’s say we have a function with the parameter first that is a reference to an i32 with lifetime 'a. The function also has another parameter named second that is another reference to an i32 that also has the lifetime 'a. The lifetime annotations indicate that the references first and second must both live as long as that generic lifetime. Every reference in Rust has a lifetime . Here's an exmple of dangling reference: // FAIL: Rust prevents dangling references { let r; // ---------+-- 'a // | { // | let x = 5; // -+-- 'b | r = &x; // | | } // -+ | <- x dies but r stores reference of x, hence r stores a dangling referece // | println!(\"r: {}\", r); // | } // ---------+ Rust won't compile the above code, as it uses a borrow checker, to verify whether a reference or borrow is valid or not. We may fix it by fixing the lives of variables by declaring them at different places: { let x = 5; // ----------+-- 'b // | let r = &x; // --+-- 'a | // | | println!(\"r: {}\", r); // | | // --+ | } // ----------+ This code will not compile, it'll require lifetime specifiers: // FAIL: Rust can’t tell whether the reference being returned refers to x or y.\nfn longest(x: &str, y: &str) -> &str { if x.len() > y.len() { x } else { y }\n} // Compiler will ask us to rewrite the signature like this\nfn longest<'a>(x: &'a str, y: &'a str) -> &'a str {\n// Lifetimes on function or method parameters are called input lifetimes, and lifetimes on return values are called output lifetimes. The reason why Rust asks us to specify the lifetimes are due to these reasons: We don’t know whether the if case or the else case will execute. We also don’t know the concrete lifetimes of the references that will be passed in. When we add the lifetime specifiers as specified by the compiler, it means, the generic lifetime 'a will get the concrete lifetime that is equal to the smaller of the lifetimes of x and y (the variables passed in). Note: Remember, when we specify the lifetime parameters in this function signature, we’re not changing the lifetimes of any values passed in or returned. Rather, we’re specifying that the borrow checker should reject any values that don’t adhere to these constraints. Note that the longest function doesn’t need to know exactly how long x and y will live, only that some scope can be substituted for 'a that will satisfy this signature. How borrow checker will allow: // Works: result is valid until the inner scope ends, string2 and string1 are valid too, hence borrow checker allows\nfn main() { let string1 = String::from(\"long string is long\"); { let string2 = String::from(\"xyz\"); let result = longest(string1.as_str(), string2.as_str()); println!(\"The longest string is {}\", result); }\n} // FAILS: The way we've specified lifetimes, result should have a shorter lifetime, equivalent to that of string2. Since, the code doesn't follows the rule, it fails.\nfn main() { let string1 = String::from(\"long string is long\"); let result; { let string2 = String::from(\"xyz\"); result = longest(string1.as_str(), string2.as_str()); } println!(\"The longest string is {}\", result);\n} In the second case, this is the error that the compiler will throw: |\n6 | result = longest(string1.as_str(), string2.as_str()); | ^^^^^^^^^^^^^^^^ borrowed value does not live long enough\n7 | } | - `string2` dropped here while still borrowed\n8 | println!(\"The longest string is {}\", result); | ------ borrow later used here The below code will not compile because even though we’ve specified a lifetime parameter 'a for the return type, this implementation will fail to compile because the return value lifetime is not related to the lifetime of the parameters at all. fn longest<'a>(x: &str, y: &str) -> &'a str { let result = String::from(\"really long string\"); result.as_str()\n} The compiler will throw this error, since Rust will prevent us from creating dangling reference. --> src/main.rs:11:5 |\n11 | result.as_str() | ^^^^^^^^^^^^^^^ returns a reference to data owned by the current function In this case, the best fix would be to return an owned data type rather than a reference so the calling function is then responsible for cleaning up the value. Rust is improving day by day to not require programmers to use lifetimes in some places. For Example: // Even though we're dealing with references in functions,\n// compiler won't ask us to specify lifetimes, it's because\n// rust devs improved the rust compiler so that the borrow\n// checker need not to not ask for lifetimes in this case\nfn first_word(s: &str) -> &str { let bytes = s.as_bytes(); for (i, &item) in bytes.iter().enumerate() { if item == b' ' { return &s[0..i]; } } &s[..]\n} // In earlier version (pre-1.0), the signature would've looked like this\nfn first_word<'a>(s: &'a str) -> &'a str { Rules of lifetimes There are 3 rules that compiler follows to verify whether lifetimes are valid or not. First Rule: Each parameter that is a reference gets its own lifetime parameter. A function with one parameter gets one lifetime parameter: fn foo<'a>(x: &'a i32); A function with two parameters gets two separate lifetime parameters: fn foo<'a, 'b>(x: &'a i32, y: &'b i32); and so on. Second Rule: If there is exactly one input lifetime parameter, that lifetime is assigned to all output lifetime parameters. For Example, fn foo<'a>(x: &'a i32) -> &'a i32. There was only one parameter, hence one lifetime for inputs, so the same lifetime was assigned to the output. Third Rule: If there are multiple input lifetime parameters, but one of them is &self or &mut self because this is a method, the lifetime of self is assigned to all output lifetime parameters. This third rule makes methods much nicer to read and write because fewer symbols are necessary. Please note that this rule only applies to methods (functions that uses self), and not to simple functions. You can read in detail about How compiler automatically applies lifetimes and the about the rules of lifetimes in Lifetime Elision . Lifetimes in Structs and Methods Lifetimes in struct. It’s possible for structs to hold references, but in that case we would need to add a lifetime annotation on every reference in the struct’s definition. struct ImportantExcerpt<'a> { // Since, string slice is a referece, we added lifetime, such that field part and struct lives together part: &'a str,\n} fn main() { let novel = String::from(\"Call me Ishmael. Some years ago...\"); let first_sentence = novel.split('.').next().expect(\"Could not find a '.'\"); let i = ImportantExcerpt { part: first_sentence, };\n} Lifetimes in impl blocks: // The lifetime parameter declaration after impl and its use after the type name are required,\n// but we’re not required to annotate the lifetime of the reference to self because of the first elision rule.\nimpl<'a> ImportantExcerpt<'a> { // No need to apply in the method below due to the first elision rule fn level(&self) -> i32 { 3 } // No need to apply in the method below due to the third elision rule fn announce_and_return_part(&self, announcement: &str) -> &str { println!(\"Attention please: {}\", announcement); self.part }\n} The static lifetime The 'static is a lifetime which means that this reference can live for the entire duration of the program. All string literals have the 'static lifetime. You may use it as shown in the code below: let s: &'static str = \"I have a static lifetime.\"; Note: You might see suggestions to use the 'static lifetime in error messages. But before specifying 'static as the lifetime for a reference, think about whether the reference you have actually lives the entire lifetime of your program or not. You might consider whether you want it to live that long, even if it could. Most of the time, the problem results from attempting to create a dangling reference or a mismatch of the available lifetimes. In such cases, the solution is fixing those problems, not specifying the 'static lifetime.","breadcrumbs":"Medium Concepts » Lifetimes » Lifetimes","id":"50","title":"Lifetimes"},"51":{"body":"You may consider the code below, it prints the type (they type T can be filled with any type that implements Display trait), also it returns the longest string slice. // Generic Type: T\n// Trait Bounds: Display\n// Lifetime: 'a\nuse std::fmt::Display; // Because lifetimes are a type of generic, the declarations of\n// the lifetime parameter 'a and the generic type parameter T go\n// in the same list inside the angle brackets after the function name.\nfn longest_with_an_announcement<'a, T>( x: &'a str, y: &'a str, ann: T,\n) -> &'a str\nwhere T: Display,\n{ println!(\"Announcement! {}\", ann); if x.len() > y.len() { x } else { y }\n}","breadcrumbs":"Medium Concepts » Lifetimes » Generic Type Parameters, Trait Bounds, and Lifetimes Together","id":"51","title":"Generic Type Parameters, Trait Bounds, and Lifetimes Together"},"52":{"body":"Fun Fact: The implementations of closures and iterators are such that runtime performance is not affected. It means as if you've written to an optimized low level code, like in Assembly Language. This is part of Rust’s goal to strive to provide zero-cost abstractions . Programming in a functional style often includes using functions as values by passing them in arguments, returning them from other functions, assigning them to variables for later execution, and so forth. Specifically, functional programming includes: Closures : A function-like construct you can store in a variable. Iterators : A way of processing a series of elements. Closures They are \"Anonymous Functions that Can Capture Their Environment\". An example of closure: let expensive_closure = |num| { println!(\"calculating slowly...\"); thread::sleep(Duration::from_secs(2)); num\n}; Why closures don't require type annotations, but functions (fn) do? Type annotations are required on functions because they’re part of an explicit interface exposed to your users. Defining this interface rigidly is important for ensuring that everyone agrees on what types of values a function uses and returns. But closures aren’t used in an exposed interface like this: they’re stored in variables and used without naming them and exposing them to users of our library. In case, we still want to explicitly define type annotations, we can do it by: let expensive_closure = |num: u32| -> u32 { println!(\"calculating slowly...\"); thread::sleep(Duration::from_secs(2)); num\n}; Comparisons for Functions and closures syntax: fn add_one_v1 (x: u32) -> u32 { x + 1 }\nlet add_one_v2 = |x: u32| -> u32 { x + 1 };\nlet add_one_v3 = |x| { x + 1 };\nlet add_one_v4 = |x| x + 1 ; Closures will always have only one concrete type: // FAIL: Closure inferred two different types of x, which is against the rules\nlet example_closure = |x| x; let s = example_closure(String::from(\"hello\"));\nlet n = example_closure(5); Performing memoization or lazy evaluation : We can create a struct that will hold the closure and the resulting value of calling the closure. The struct will execute the closure only if we need the resulting value, and it will cache the resulting value so the rest of our code doesn’t have to be responsible for saving and reusing the result. All closures implement at least one of the traits: Fn, FnMut, or FnOnce. Using this information, we can create a Cacher // Cacher will store a closure inside calculation\n// and the computed value inside value\nstruct Cacher\nwhere T: Fn(u32) -> u32,\n{ calculation: T, value: Option,\n} The use of the memoization is that, we can store the closure, that contains computation which takes very long time to finish. Then we can save it's computed value inside the struct, so that we can reuse to computation (thereby preventing expensive computation again and again), as well as update the computed value whenever necessary. We'll need to write an implementation block to make the Cacher easier to use: impl Cacher\nwhere T: Fn(u32) -> u32,\n{ fn new(calculation: T) -> Cacher { Cacher { calculation, value: None } } fn value(&mut self, arg: u32) -> u32 { match self.value { Some(v) => v, None => { let v = (self.calculation)(arg); self.value = v; v } } }\n} The only limitation of this Cacher is that it assumes that, it'll only receive one value, that means even if we call the value() function multiple with different arguments, it'll still return the same value every time and that value will be the computed value when the closure was called for the first time. Here's the explanation: let mut c = Cacher::new(|a| a); let v1 = c.value(1); // v1 = 1\nlet v2 = c.value(2); // v2 = 1\nlet v3 = c.value(3); // v3 = 1 So, here is a better version of the above cacher that can memorize all the arguments and their computed value inside a HashMap, which is also generic. You may refer it's implementation over here . Capturing the Environmet with closures: You can't don the following thing using simple functions: // FAIL: Functions can't capture their environment, hence x shouldn't live inside the function\nfn main() { let x = 4; fn equal_to_x(z: i32) -> bool { z == x } let y = 4; assert!(equal_to_x(y));\n} But, you can easliy do this using closure: fn main() { let x = 4; let equal_to_x = |z| z == x; let y = 4; assert!(equal_to_x(y));\n} Closures can capture values from their environment in three ways, which directly map to the three ways a function can take a parameter: taking ownership, borrowing mutably, and borrowing immutably. These are encoded in the three Fn traits as follows: FnOnce consumes the variables it captures from its enclosing scope, known as the closure’s environment. To consume the captured variables, the closure must take ownership of these variables and move them into the closure when it is defined. The Once part of the name represents the fact that the closure can’t take ownership of the same variables more than once, so it can be called only once. FnMut can change the environment because it mutably borrows values. Fn borrows values from the environment immutably. When you create a closure, Rust infers which trait to use based on how the closure uses the values from the environment. All closures implement FnOnce because they can all be called at least once. Closures that don’t move the captured variables also implement FnMut, and closures that don’t need mutable access to the captured variables also implement Fn. In Listing 13-12, the equal_to_x closure borrows x immutably (so equal_to_x has the Fn trait) because the body of the closure only needs to read the value in x. If you want to force the closure to take ownership of the values it uses in the environment, you can use the move keyword before the parameter list. This technique is mostly useful when passing a closure to a new thread to move the data so it’s owned by the new thread. The move closures may still implement Fn or FnMut, even though they capture variables by move. This is because the traits implemented by a closure type are determined by what the closure does with captured values, not how it captures them. The move keyword only specifies the latter. An example of move: // FAIL: We tried to print x even though it is moved inside closure\nfn main() { let x = vec![1, 2, 3]; let equal_to_x = move |z| z == x; println!(\"can't use x here: {:?}\", x); let y = vec![1, 2, 3]; assert!(equal_to_x(y));\n} Most of the time when specifying one of the Fn trait bounds, you can start with Fn and the compiler will tell you if you need FnMut or FnOnce based on what happens in the closure body. Iterators Iterators are lazy in rust, meaning they have no effect until you call methods that consume the iterator to use it up. let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); // It won't do anything useful until called upon for val in v1_iter { // Now, the iterator is called upon and used println!(\"Got: {}\", val);\n} To just get the next element stored in iterator: let v1 = vec![1, 2, 3]; // Calling the next() method changes the state of iterator,\n// hence we'll need to use mut in this case\nlet mut v1_iter = v1.iter(); assert_eq!(v1_iter.next(), Some(&1));\nassert_eq!(v1_iter.next(), Some(&2));\nassert_eq!(v1_iter.next(), Some(&3));\nassert_eq!(v1_iter.next(), None); Why is it required to use mut when using next(), but not when using for loop? next() - Each call to next eats up an item from the iterator. Hence, we need to define it as mut to be able to do that. for - The loop takes ownership of the iterator and made it mutable behind the scenes. Hence, we don't need to use mut there. Difference between iter, into_iter, and iter_mut They all return iterator, except the way they return differs. Here are the differences: into_iter: It yields any of T, &T or &mut T, depending on the context. iter: It yields &T. iter_mut: It yields &mut T. For more details refer to this stackoverflow answer . Consuming Adaptors: Some methods inside Iterator trait uses next(). It means those functions will also eat away the iterator, just like how next() does. Here's an example: let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); let total: i32 = v1_iter.sum(); // sum() uses the next() and hence will eat away the iterator Iterator Adaptors: Some methods inside Iterator allows you to change iterators into different kinds of iterators. It is also possible to use Iterator, Enumerator, Map, and Filter together. Rust has these functions inside the Iterator Trait. let v1: Vec = vec![0, 1, 2, 3, 4, 5];\nlet iterator = v1.iter() .enumerate() .filter(|(i, val)| i % 2 == 0) .map(|(i, val)| val); // On it's own it won't do anything, because iterators are lazy // You can either print them one by one using for loop (remember it'll consume the iterator)\nfor val in iterator { println!(\"{}\", val);\n} // Or you can collect them inside a vector, make sure you explicitly specify the type (`Vec<_>`) too.\nlet new_vector: Vec<_> = iterator.collect();\nprintln!(\"New Vector: {:?}\") Creating your own iterator: You'll need to implement Iterator trait on your type. You'll only need to define one function, that is next(), it'll be sufficient. struct Counter { count: u32,\n} impl Counter { fn new() -> Self { Self { count: 0, } }\n} impl Iterator for Counter { type Item = u32; fn next(&mut self) -> Option { if self.count < 5 { self.count += 1; Some(self.count) } else { None } }\n} fn main() { let counter = Counter::new(); for val in counter { println!(\"{:?}\", val); } // Since we have next() method we can use any default implementation of the Iterator trait let sum: u32 = Counter::new() .zip(Counter::new().skip(1)) // Skips first element only and generate pairs { (1,2) (2,3) (3,4) (4,5) } because (5,None) is ignored .map(|(a, b)| a * b) // [2, 6, 12, 20] .filter(|x| x % 3 == 0) // [6, 12] .sum(); // 18\n} Which is faster, for loop or iterator adapters? Here are the benchmarks: test bench_search_for ... bench: 19,620,300 ns/iter (+/- 915,700)\ntest bench_search_iter ... bench: 19,234,900 ns/iter (+/- 657,200) Iterators, although a high-level abstraction, get compiled down to roughly the same code as if you’d written the lower-level code yourself. Iterators are one of Rust’s zero-cost abstractions, which means that using the abstraction imposes no additional runtime overhead.","breadcrumbs":"Medium Concepts » Functional Language Features » Functional Language Features","id":"52","title":"Functional Language Features"},"53":{"body":"Differences between Pointer and Smart Pointer: Pointer Smart Pointer A pointer is a general concept for a variable that contains an address in memory. Smart pointers, on the other hand, are data structures that not only act like a pointer but also have additional metadata and capabilities. References are pointers that only borrow data. Smart pointers own the data they point to. The most common kind of pointer in Rust is a reference and is indicated by &. The commonly used smart pointers are String and Vec. Smart pointers are usually implemented using structs. The characteristic that distinguishes a smart pointer from an ordinary struct is that smart pointers implement the Deref and Drop traits. Deref: Allows an instance of the smart pointer struct to behave like a reference so you can write code that works with either references or smart pointers. Drop: Allows you to customize the code that is run when an instance of the smart pointer goes out of scope. Box For allocating values on Heap. Box allows you to store data on heap and the pointer to the heap data on stack . You’ll use them most often in these situations: When you have a type whose size can’t be known at compile time and you want to use a value of that type in a context that requires an exact size When you have a large amount of data and you want to transfer ownership but ensure the data won’t be copied when you do so When you want to own a value and you care only that it’s a type that implements a particular trait rather than being of a specific type Once Box goes out of scope, the deallocation happens for the box (stored on the stack) and the data it points to (stored on the heap). Using Box for the recursive call: Let's try to create an enum which will create it's variant recursively: // FAIL: While computing Size for Cons, Rust will detect an inifinite memory allocation\nenum List { Cons(i32, List), Nil,\n} use crate::List::{Cons, Nil}; fn main() { let list = Cons(1, Cons(2, Cons(3, Nil)));\n} When Rust will try to recognize the size, it'll recognize that it is an infinite loop: Now, to make it easier for Rust to identify the size of enum at compile time, we can use Box for the recursive call. Since Box is a pointer, Rust will need not to find the size what's inside of it, instead just allocate the memory for it's pointer. enum List { Cons(i32, Box), Nil,\n} use crate::List::{Cons, Nil}; fn main() { let list = Cons(1, Box::new(Cons(2, Box::new(Cons(3, Box::new(Nil))))));\n} Conceptually, we still have a list, created with lists “holding” other lists, but this implementation is now more like placing the items next to one another rather than inside one another. Since Box implements the Deref trait, so you can use the * operator to dereference it. Deref Trait Note that the * operator is replaced with a call to the deref method and then a call to the * operator. It means that *y, translates into: *(y.deref()) We're trying to re-create Box and it's capabilities to dereference itself. One important thing to notice, here we're only mimicing the dereferencing because the data doesn't actually get stored on heap. use std::ops::Deref; struct MyBox(T); impl MyBox { fn new(x: T) -> MyBox { MyBox(x) }\n} impl Deref for MyBox { type Target = T; fn deref(&self) -> &Self::Target { &self.0 }\n} Deref Coercion Deref coercion can convert &String to &str. It's possible because String implements the Deref trait such that it returns &str. They are meant for the arguments of functions and methods. The ease is that, you can pass &String into a function that accepts &str: fn hello(name: &str) { println!(\"Hello, {}!\", name);\n} fn main() { let name = String::from(\"Bob\"); hello(&name);\n} Deref coercion was added to Rust so that programmers writing function and method calls don’t need to add as many explicit references and dereferences with & and *. How does Rust automatically converts &String to &str? It happens because Deref trait is implemented. Rust simplifies all the deref implementations. Here's an even complex example of deref coercion, using the MyBox, that we created earlier: Instead of calling this: fn main() { let m = MyBox::new(String::from(\"Rust\")); hello(&(*m)[..]);\n} Here we are manually converting: (*m) => MyBox -> String\n[..] => String -> str\n& => str -> &str We can just call this: fn main() { let m = MyBox::new(String::from(\"Rust\")); hello(&m);\n} Rust simplifies the deref implementations by calling the deref() again and again. First It'll call deref() for MyBox then for String. &MyBox -> &String -> &str Note: When the Deref trait is defined for the types involved, Rust will analyze the types and use Deref::deref as many times as necessary to get a reference to match the parameter’s type. The number of times that Deref::deref needs to be inserted is resolved at compile time, so there is no runtime penalty for taking advantage of deref coercion! Rust does deref coercion when it finds types and trait implementations in three cases: From &T to &U when T: Deref From &mut T to &mut U when T: DerefMut From &mut T to &U when T: Deref Note: The first case states that if you have a &T, and T implements Deref to some type U, you can get a &U transparently. the second case is similar. The third case is a bit different as mutable reference changes into immutable reference, though vice versa is not true. Drop Trait In Rust, you can specify that a particular bit of code be run whenever a value goes out of scope, and the compiler will insert this code automatically. As a result, you don’t need to be careful about placing cleanup code everywhere in a program that an instance of a particular type is finished with—you still won’t leak resources! struct CustomSmartPointer { data: String,\n} impl Drop for CustomSmartPointer { fn drop(&mut self) { println!(\"Dropping CustomSmartPointer with data `{}`!\", self.data); }\n} fn main() { let c = CustomSmartPointer { data: String::from(\"my stuff\"), }; let d = CustomSmartPointer { data: String::from(\"other stuff\"), }; println!(\"CustomSmartPointers created.\");\n}\n// Output -\n// CustomSmartPointers created.\n// Dropping CustomSmartPointer with data `other stuff`!\n// Dropping CustomSmartPointer with data `my stuff`! Notice that, variables are dropped in the reverse order, d was dropped before c. There might be some cases when you want to manually drop the Smart Pointer, instead of waiting for the scope to end. For example, you want to release the lock so that other code in the same scope can acquire the lock. First thing is that, you can't call the drop() from the Drop trait. // FAIL: This is not allowed in Rust, compiler will throw \"explicit destructor calls not allowed\"\nfn main() { let c = CustomSmartPointer { data: String::from(\"some data\"), }; println!(\"CustomSmartPointer created.\"); c.drop(); println!(\"CustomSmartPointer dropped before the end of main.\");\n} --> src/main.rs:16:7 |\n16 | c.drop(); | --^^^^-- | | | | | explicit destructor calls not allowed | help: consider using `drop` function: `drop(c)` Compiler uses term destructor, which is the general programming term for a function that cleans up an instance. It is analogous to the word constructor. The reason that compiler doesn't allows us to do that, is to prevent the double free error . The alternative is to use drop() from std::mem::drop, good thing is it's already in the prelude, so you don't need to import it. fn main() { let c = CustomSmartPointer { data: String::from(\"some data\"), }; println!(\"CustomSmartPointer created.\"); drop(c); // Notice, we're passing it as an argument println!(\"CustomSmartPointer dropped before the end of main.\");\n} // Ouput -\n// CustomSmartPointer created.\n// Dropping CustomSmartPointer with data `some data`!\n// CustomSmartPointer dropped before the end of main. It solves the double free error through the ownership rules, as we pass it as an argument. Rc Also known as Reference Counted Smart Pointer , it allows multiple ownership. It does that by keeping the count of references. When the count becomes 0, it means that there are no references linked to data, so it's safe to clean. Imagine Rc as a TV in a family room. When one person enters to watch TV, they turn it on. Others can come into the room and watch the TV. When the last person leaves the room, they turn off the TV because it’s no longer being used. If someone turns off the TV while others are still watching it, there would be uproar from the remaining TV watchers! Use case: We want to allocate data on heap and we want multiple parts of our code to read it. The problem is that we don't know which part will stop reading it last, that's why we can't make someone as an owner. For those cases, Rc will help us, it'll save us from deciding someone as owner and will allow multiple parts to read it at the same time. With Rc it is possible to create two lists that both share ownership of a third list. Trying to do this with Box fails: enum List { Cons(i32, Box), Nil,\n} use crate::List::{Cons, Nil}; fn main() { let a = Cons(5, Box::new(Cons(10, Box::new(Nil)))); let b = Cons(3, Box::new(a)); let c = Cons(4, Box::new(a));\n} We can also use references with lifetimes to solve this problem, but Rc is better here. enum List { Cons(i32, Rc), Nil,\n} use crate::List::{Cons, Nil};\nuse std::rc::Rc; fn main() { let a = Rc::new(Cons(5, Rc::new(Cons(10, Rc::new(Nil))))); let b = Cons(3, Rc::clone(&a)); // Notice that we don't need to use Rc here, since no one will be owning b and c let c = Cons(4, Rc::clone(&a)); // Also notice that we're using Rc::clone() and passing reference to create owners\n} Rc::clone() never makes deep copy, unlike clone(). Rc::clone() only increments the reference count, which doesn’t take much time. To Increase Count: Rc::clone(), To Decrease Count: Drop does when the variable goes out of scope. Note: Rc can only allow multiple owners to read data and not to mutate it. For interior mutability there is another Smart Pointer named RefCell. RefCell Allows interior mutability to the immutable data. Interior mutability is a design pattern in Rust that allows you to mutate data even when there are immutable references to that data; normally, this action is disallowed by the borrowing rules. It uses unsafe rust code to function. An example: Consider one trait named Messanger and another struct named LimitTracker. pub trait Messenger { fn send(&self, msg: &str);\n} pub struct LimitTracker<'a, T: Messenger> { messenger: &'a T, value: usize;\n} impl<'a, T> LimitTracker<'a, T>\nwhere T: Messenger,\n{ pub fn new(messenger: &T, max: usize) -> LimitTracker { ... } pub fn set_value(&mut self, value: usize) { // Problem 1: We want mutable reference of self, but it includes immutable reference to messenger self.value = value; if (value > 100) { self.messenger.send(\"Error: You are over your quota!\"); // Problem 2: send() is an immutable function in trait, but self should be mutable. } }\n} LimitTracker takes in a reference of struct that implements Messenger, so that it can store it as one of it's field. Inside LimitTracker, the problem is that set_value() takes mutable reference of self, but the messenger is an immutable reference and it's function send is also immutable. So, how can we test this set_value()? This will fail to compile: // FAIL: send() is required to be mutable by LimitTracker but immutable due to trait Messenger\n#[cfg(test)]\nmod tests { use super::*; struct MockMessenger { sent_messages: Vec, } impl MockMessenger { fn new() -> MockMessenger { MockMessenger { sent_messages: vec![], // This is immutable } } } impl Messenger for MockMessenger { fn send(&self, message: &str) { // We're trying to push on immutbale field, we also can't make send() mutable self.sent_messages.push(String::from(message)); } } #[test] fn it_sends_an_over_75_percent_warning_message() { let mock_messenger = MockMessenger::new(); let mut limit_tracker = LimitTracker::new(&mock_messenger, 100); limit_tracker.set_value(80); assert_eq!(mock_messenger.sent_messages.len(), 1); }\n} Here's the solution using RefCell: #[cfg(test)]\nmod tests { use super::*; use std::cell::RefCell; struct MockMessenger { // RefCell will make sent_messages mutable even though // it's parent MockMessenger can seem immutable to others sent_messages: RefCell>, } impl MockMessenger { fn new() -> MockMessenger { MockMessenger { // Now, RefCell will wrap the vector and will allow it to be mutable // at places where it's parent is asked to be immutable sent_messages: RefCell::new(vec![]), } } } impl Messenger for MockMessenger { fn send(&self, message: &str) { // MockMessenger will seem immutable to send() but // sent_messages is mutable, and items can be pushed into it self.sent_messages.borrow_mut().push(String::from(message)); // borrow_mut() will generate mutable reference for push() } } #[test] fn it_sends_an_over_75_percent_warning_message() { // --snip-- assert_eq!(mock_messenger.sent_messages.borrow().len(), 1); // borrow() will generate the immutable reference, since we're only reading }\n} We use the & and &mut syntax with references. With RefCell, we use the borrow() and borrow_mut() methods and they return Ref and RefMut respectively. They both implement Deref trait. RefCell lets us have many immutable borrows or one mutable borrow at any point in time. It keeps a count of whenever we call the borrow(). In case of an error, it won't be just a compile error, but will appear on Runtime, and will cause a panic. Differences between Box, Rc and RefCell Property Box Rc RefCell Ownership Single Ownership Multiple Ownership Single Ownership Mutability of Inner Data Immutable or Mutable Only Immutable Immutable or Mutable Borrowing Rules Check Compiled Time (compiler errors) Compiled Time (compiler errors) Runtime (panics at runtime) Multithreading Only for Single Threaded Scenarios Only for Single Threaded Scenarios Using RefCell with Rc It'll give you superpowers. Now you can have a value that has multiple owners and can also mutate. To use it, you'll have to wrap it like this, Rc>. Here's our modified Cons list: enum List { Cons(Rc>, Rc), Nil,\n} Now, we can have a list like this: b --| a---Nil\nc --| Here, a can have multiple owners b and c, and it's value can also mutate. fn main() { let value = Rc::new(RefCell::new(5)); // Created a value that can have multiple owners and can also mutate let a = Rc::new(Cons(Rc::clone(&value), Rc::new(Nil))); // Make a such that it can be owned by multiple people let b = Cons(Rc::new(RefCell::new(3)), Rc::clone(&a)); // Make b the owner of a let c = Cons(Rc::new(RefCell::new(4)), Rc::clone(&a)); // Made c the owner of a *value.borrow_mut() += 10; // Rc -> RefCell -> &mut -> inner_element, then 10 is added to the inner_element in place println!(\"a after = {:?}\", a); // Value of a: Cons(RefCell { value: 15 }, Nil) println!(\"b after = {:?}\", b); // Value of b: Cons(RefCell { value: 3 }, Cons(RefCell { value: 15 }, Nil)) println!(\"c after = {:?}\", c); // Value of c: Cons(RefCell { value: 4 }, Cons(RefCell { value: 15 }, Nil))\n} Other Types to provide interior mutability: Cell: It copies the data instead of giving references. Mutex: It provides interior mutability that's safe to use in multiple threads. Memory Leak When we accidentally create memory that is never cleaned up is called Memory Leak . Rust’s memory safety guarantees make it difficult, but not impossible. Rust allows memory leaks by using Rc and RefCell. By using both of them together, it's possible to create a reference cycle . A reference cycle happens when reference of a is owned by b and reference of b is owned by a. First of all, this will cause an infinite loop of references. Also, it'll be impossible for Rust to Drop the values of a and b, as their reference count will never be zero. This is one of Rust's limitations, and is referred to the problem of Memory Leak . Reference Cycle in Action: use crate::List::{Cons, Nil};\nuse std::cell::RefCell;\nuse std::rc::Rc; #[derive(Debug)]\nenum List { Cons(i32, RefCell>), // We can replace the list in place now Nil\n} impl List { fn tail(&self) -> Option<&RefCell>> { match self { Cons(_, item) => Some(item), Nil => None, } }\n} fn main() { let a = Rc::new(Cons(5, RefCell::new(Rc::new(Nil)))); // a = (5, Nil) let b = Rc::new(Cons(10, RefCell::new(Rc::clone(&a)))); // b = (10, a) if let Some(link) = a.tail() { *link.borrow_mut() = b; // a = (5, b) } // At this point, Rc Count of a: 2, b: 2 // This will try to print the lists infinitely // and then will crash with the stack overflow error println!(\"a next item = {:?}\", a.tail());\n} // In case, we comment out the println!()\n// At the end of scope, Rust will try to decrease the count of references\n// Rc Count of b will decrease to 1\n// Rc Count of a will decrease to 1\n// Neither a nor b will be dropped as their count is not 0 and\n// will still stay on the heap, causing Memory Leak You may take help of this diagram to understand better: Important Lesson: You can't rely on Rust's memory safety while using RefCell and Rc together, or another combination with interior mutability, as it may cause the problem of Memory Leak . Solutions to prevent Reference Cycles: Use Automated tests, Code reviews, and other Software development practices to minimize. Reorganize data structure so that some references express ownership and some references don't. Strong Count Weak Count Rust will only drop an element if this count becomes zero. Rust will drop an element in case it gets out of scope, even if the count is not zero. Rc uses strong count. Weak uses weak count. It's hard to prevent reference cycle. It's easier to prevent reference cycle. Preventing Reference Cycle using Weak: use std::cell::RefCell;\nuse std::rc::{Rc, Weak}; #[derive(Debug)]\nstruct Node { value: i32, parent: RefCell>, // Child won't own it's parent children: RefCell>>,\n} fn main() { let leaf = Rc::new(Node { value: 3, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![]) }); let branch = Rc::new(Node { value: 5, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![Rc::clone(&leaf)]) }); // The downgrade() changes Rc -> Weak *leaf.parent.borrow_mut() = Rc::downgrade(&branch); // The upgrade() returns Some() or None, representing the value println!(\"Leaf parent: {:?}\", leaf.parent.borrow().upgrade());\n} The output will look like this: leaf parent = Some(Node { value: 5, parent: RefCell { value: (Weak) },\nchildren: RefCell { value: [Node { value: 3, parent: RefCell { value: (Weak) },\nchildren: RefCell { value: [] } }] } }) Notice, at some places only Weak is there, and the whole element is not printed. This is Rust's way of preventing infinite output. This lack of inifinite output, indicates that reference cycle is prevented. Here's another example, using the same struct to show how strong count and weak count will change: fn main() { let leaf = Rc::new(Node { value: 3, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![]), }); // leaf strong = 1, weak = 0 { let branch = Rc::new(Node { value: 5, parent: RefCell::new(Weak::new()), children: RefCell::new(vec![Rc::clone(&leaf)]), }); // Since Rc is downgrading branch, branch's weak count will increase by 1 *leaf.parent.borrow_mut() = Rc::downgrade(&branch); // branch strong = 1, weak = 1 // leaf strong = 2, weak = 0 } // leaf strong = 1, weak = 0\n}","breadcrumbs":"Medium Concepts » Smart Pointers » Smart Pointers","id":"53","title":"Smart Pointers"},"54":{"body":"Difference between Concurrency and Parallel programming: Concurrent Programming Parallel Programming Where different parts of program execute independently. Where different parts of program execute at the same time. Using Threads OS manages multiple processes at once. An executed program's code is run in a process. You can write programs such that there are indpendent pieces of code that run simultaneously. The features that run these parts simultaneously are called threads . Threads can run simultaneously, there’s no inherent guarantee about the order in which parts of your code on different threads will run. This causes the following problems: Race conditions : Where threads are accessing data or resources in an inconsistent order. Deadlocks : Where two threads are waiting for each other to finish using a resource the other thread has, preventing both threads from continuing. Bugs : Hard to reproduce bugs, and only happens in certain situations. Many operating systems provide an API for creating new threads. This model where a language calls the operating system APIs to create threads is sometimes called 1:1 , meaning 1 OS Thread / 1 Language Thread . The rust standard library provides the implementation for only 1:1 . Creating a new thread with spawn: use std::thread;\nuse std::time::Duration; fn main() { thread::spawn(|| { for i in 1..10 { println!(\"hi number {} from the spawned thread\", i); thread::sleep(Duration::from_millis(1)); } }); for i in 1..5 { println!(\"hi number {} from the main thread\", i); thread::sleep(Duration::from_millis(1)); }\n} The output will be: hi number 1 from the main thread\nhi number 1 from the spawned thread\nhi number 2 from the main thread\nhi number 2 from the spawned thread\nhi number 3 from the main thread\nhi number 3 from the spawned thread\nhi number 4 from the main thread\nhi number 4 from the spawned thread\nhi number 5 from the spawned thread The spawned thread will automatically die as the main thread ends. That's why spawned thread ran 5 times, 4 times same as main thread and the 5th time, which is exectued to break the condition for the main thread's for loop condition. Which thread will execute first is not guaranteed, you may notice in our case, the main thread runs first, even though according to the code, the spawned thread should have ran first. In fact, there is not even a guarantee that this spwaned thread will even run at all. We can make sure that the spawned thread will definitely run and will execute completely, by using the join() use std::thread;\nuse std::time::Duration; fn main() { // Let's store the thread in a variable let handle = thread::spawn(|| { for i in 1..10 { println!(\"hi number {} from the spawned thread!\", i); thread::sleep(Duration::from_millis(1)); } }); for i in 1..5 { println!(\"hi number {} from the main thread!\", i); thread::sleep(Duration::from_millis(1)); } // This will make sure that the spawned thread // finishes before the main thread ends handle.join().unwrap();\n} The two threads will now continue alternating, but the main thread will wait because of the call to handle.join() and will not end until the spawned thread is finished. It is very important, where you call the handle.join(), as it may create an unexpected behaviour: use std::thread;\nuse std::time::Duration; fn main() { let handle = thread::spawn(|| { for i in 1..10 { println!(\"hi number {} from the spawned thread!\", i); thread::sleep(Duration::from_millis(1)); } }); handle.join().unwrap(); for i in 1..5 { println!(\"hi number {} from the main thread!\", i); thread::sleep(Duration::from_millis(1)); }\n} This will give us this output: hi number 1 from the spawned thread!\nhi number 2 from the spawned thread!\nhi number 3 from the spawned thread!\nhi number 4 from the spawned thread!\nhi number 5 from the spawned thread!\nhi number 6 from the spawned thread!\nhi number 7 from the spawned thread!\nhi number 8 from the spawned thread!\nhi number 9 from the spawned thread!\nhi number 1 from the main thread!\nhi number 2 from the main thread!\nhi number 3 from the main thread!\nhi number 4 from the main thread! So, make sure that you're calling the handle.join() to prevent undesired behaviour. When we use closure, Rust will infer that we want to only borrow the variable. use std::thread; fn main() { let v = vec![1, 2, 3]; // Notice, here v is only borrowed here, // it's possible that the closure may outlive // and v may die early, so Rust will throw us // error, and will ask us to use move let handle = thread::spawn(|| { println!(\"Here's a vector: {:?}\", v); }); handle.join().unwrap();\n} So, we need to expicitly add the move keyword, to tell Rust to transfer ownership of v to the closure. use std::thread; fn main() { let v = vec![1, 2, 3]; let handle = thread::spawn(move || { println!(\"Here's a vector: {:?}\", v); }); // Now, we cannot use v over here, inside the main thread for any reason handle.join().unwrap();\n} Using Message Passing to Transfer Data Between Threads “Do not communicate by sharing memory; instead, share memory by communicating.” - Go Language Documentation Rust sends messages between threads to accomplish concurrency. Rust uses channel for the message-sending concurrency (it works similar to a river stream), it has two parts: Transmitter : The upstream location Receiver : The downstream location A channel is said to be closed if either the transmitter or receiver half is dropped. You may create a channel just like this: A channel can have multiple producer of values (multiple sources of river), but only 1 consumer of those values (all rivers will mix into one river). A channel produces it's two parts, inside a tuple and are abbreviated as tx and rx, for transmitter and receiver respectively. // mpsc stands for multiple producer, single consumer\nuse std::sync::mpsc;\nuse std::thread; fn main() { let (tx, rx) = mpsc::channel(); thread::spawn(move || { let val = String::from(\"hi\"); // We'll send the value to the receiver's end // and in case there's a problem at receiving // end, it'll thrown an error and cause a panic tx.send(val).unwrap(); }); // The recv() let received = rx.recv().unwrap(); println!(\"Got: {}\", received);\n} Ways to receive the values from the channel: recv(): It'll block the main thread’s execution and wait until a value is sent down the channel. try_recv(): This method doesn't block , but may not contain any value for some time. So, you'll need to call this every so often, by writing a loop. Sending and Receiving multiple values: use std::sync::mpsc;\nuse std::thread;\nuse std::time::Duration; fn main() { let (tx, rx) = mpsc::channel(); let tx1 = tx.clone(); thread::spawn(move || { let vals = vec![ String::from(\"hi\"), String::from(\"from\"), String::from(\"the\"), String::from(\"thread\"), ]; for val in vals { tx1.send(val).unwrap(); thread::sleep(Duration::from_secs(1)); } }); thread::spawn(move || { let vals = vec![ String::from(\"more\"), String::from(\"messages\"), String::from(\"from\"), String::from(\"you\"), ]; for val in vals { tx.send(val).unwrap(); thread::sleep(Duration::from_secs(1)); } }); // We’re not calling the recv function explicitly anymore: // When the channel is closed, iteration will end. for received in rx { println!(\"Got: {}\", received); }\n} Shared-State Concurrency Shared memory concurrency is like multiple ownership: multiple threads can access the same memory location at the same time. We can use Mutex to allow access to data from one thread at a time. Mutex Mutex is an abbreviation of Mutual Exclusion . It locks the data such that others can use. Lock is a data structure that keeps track of who currently has exclusive access to the data. These are the rules that you'll have to follow while using a Mutex: You must attempt to acquire the lock before using the data. When you’re done with the data that the mutex guards, you must unlock the data so other threads can acquire the lock. Here's an example: use std::sync::Mutex; fn main() { let m = Mutex::new(5); { let mut num = m.lock() // It'll block the old thread, until we unlock the mutex .unwrap(); // lock() may fail if the old thread panics, so unwrap() will also panic the current thread *num = 6; // Mutex returns a Smart Pointer named MutexGuard, that's why we need to dereference it to change it's value } // MutexGuard has a Drop trait implementation, which automatically unlocks the mutex when it goes out of scope println!(\"m = {:?}\", m);\n} Here's an example wehere the varaible counter will be shared among 10 threads, where each of them will try to increment it by 1. Why can't we directly use Mutex within multiple threads? The threads use move, which moves the ownership of variable to the thread. Rust won't allow us to move the ownership of lock counter in multiple threads. Why can't we use Rc, to provide multiple ownership to individual threads? Rc is not safe to share across threads. It is possible if we use Rc in multiple threads, then both threads might update the reference count at same time. It doesn’t use any concurrency primitives to make sure that changes to the count can’t be interrupted by another thread. That could lead to Wrong Counts and Memory Leak. What do we need then? What we need is a type exactly like Rc but one that makes changes to the reference count in a thread-safe way. Fortunately, we have Arc (atomically referenced counter), it is almost like Rc, except the counts are maintained atomically. Atomics are primitives that are safe to share across threads. use std::sync::{Arc, Mutex};\nuse std::thread; fn main() { // Mutex is used to lock a variable so that other thread can use // Arc provides multiple ownership like Rc and it is thread safe let counter = Arc::new(Mutex::new(0)); // Notice counter is immutable, it's because Mutex provides interior mutability, similar to RefCell let mut handles = vec![]; for _ in 1..=10 { let counter = Arc::clone(&counter); let handle = thread::spawn(move || { let mut value = counter.lock().unwrap(); *value += 1 }); handles.push(handle); } for handle in handles { handle.join().unwrap(); } println!(\"The value of counter: {}\", *counter.lock().unwrap());\n} The combination of Arc>, is analogous to Rc>. Keep in mind using Mutex is risky, as logical errors may lead to deadlocks . Send and Sync trait These two traits are part of the language itself, unlike otheer features of concurrency as they were part of the standard library. They are called std::marker traits. Send vs Sync Send Sync It is safe to transfer ownership of a type between threads. It is safe to use that type's reference betweeen threads. Any type T that implements Sync Type T is Sync, if it's reference (&T) is Send or if type T implements Sync. Except Rc, almost all types are Send. (use Arc instead). Primitive Types, Mutex are Sync but Rc, RefCell are not. We don't need to implement Send and Sync for the types that are made up of those types that implements these traits. In case you need to implement thes traits for a particular type than it means you'll need to write some unsafe rust code. You can learn the Dark Arts of Unsafe Code from this book “The Rustonomicon” .","breadcrumbs":"Medium Concepts » Concurrency » Concurrency","id":"54","title":"Concurrency"},"55":{"body":"Characterstics of OOP: Objects contain data and behaviour : Programs should make up of objects. An object packages both data and it's methods. Rust offers struct, enum and impl blocks to provide this characterstic. Encapsulation : When the implementation details are hidden from the code that is using the object. The only way to use an object is through it's public API. This enables the programmer to change and refactor an object’s internals without needing to change the code that uses the object. Rust encapsulates everything by default and offers pub keyword to make things public. Inheritance : When an object can inherit from another object’s definition, so that it can use it's parent object's data and behavior without defining them again. Rust doesn't offers inheritance between struct, but has trait where you can use default methods that is both reusable and can be overridden. The reasons to use inheritance are: code reusability and polymorphism . Polymorphism means that you don't need to explicitly define the type in code, but can be detected during runtime. It is useful when two types share same characterstics. Rust offers polymorphism in a more general manner. It offers generics to generalize the accepted types and trait bounds, to constraint the allowed types. Note: People think \"polymorphism is synonymous with inheritance\". But it is a more general concept which means that a certain code can be referred to multiple types. It is used when two types share some common characterstics. In inheritance, those types are only subclasses. Problems with Inheritance: It adds the risk of sharing more code than necessary. Subclasses are forced to share all the characterstics of the parents, even though sometimes it's not necessary or even undesired. Sometimes calling the functions on the subclass doen't makes sense and even cause errors. Due to this, some programming languages will only allow a subclass to inherit from one class, further restricting the flexibility of a program’s design. Rust is different, it takes a completely different approach by using trait objects instead of inheritance. Defining a common behaviour using trait A trait object points to both: An instance of a type implementing our specified trait A table used to look up trait methods on that type at runtime. Property struct or enum trait Objects in other languages Stores Data Yes No Yes Stores Behaviour No Yes Yes Data and behaviour Seperated by impl blocks. Combined Combined Uses Store same items together Store common behaviour and allow abstraction Store same items and their common behavior An example: Problem: Let's say initially we have components such as Button and Image that may use a common functionality to draw on the screen. It's possible that someday programmers want to introduce one more component named SelectBox. So, what we'll end up with are different types of structures that wants to use a common functionality. Solution: We can invent a common function named draw(), which will have different implementations for different types of components. How to build: We'll initialise a trait that can be shared among various components and a struct that can hold these compoenents. The trait will look like this: // A common functionality shared between multiple components\npub trait Draw { fn draw(&self);\n} We can build a struct that holds the components that implements the Draw: pub struct Screen { // Box will allow to store the components on heap // dyn keyword will add the ability to detect a type that implements Draw on runtime pub components: Vec>,\n} impl Screen { pub fn run(&self) { for component in self.components.iter() { component.draw(); } }\n} The difference with the alternative implementation using trait bounds in struct is that it restricts us to a Screen instance that has a list of components all of type Button or all of type TextField. At compile time, the definitions will be monomorphized. pub struct Screen { pub components: Vec,\n} impl Screen\nwhere T: Draw,\n{ pub fn run(&self) { for component in self.components.iter() { component.draw(); } }\n} Programmers can now create new components like this: use gui::Draw; pub struct Button { // Some fields\n} impl Draw for Button { fn draw(&self) { // code to actually draw something }\n} Users of this library can now use it like this: use gui::{Button, Screen}; fn main() { let screen = Screen { components: vec![ Box::new(SelectBox { width: 75, height: 10, options: vec![ String::from(\"Yes\"), String::from(\"Maybe\"), String::from(\"No\"), ], }), Box::new(Button { width: 50, height: 10, label: String::from(\"OK\"), }), ], }; screen.run();\n} This concept is similar to the concept like duck typing : if it walks like a duck and quacks like a duck, then it must be a duck! Use Cases: Generics with trait bounds: If you’ll only ever have homogeneous collections. For Example, all elements of vector will be of type Button. Box: You can use heterogeneous collections. For Example, elements can be a mix of Button, TextField etc. Static Dispatch vs Dynamic Dispatch: Static Dispatch Dynamic Dispatch Concrete types are decided at compile time. The compiler emits code that at runtime will figure out which method to call. Compiler writes some new code for various concrete types. At runtime, it is decided whether a selected type can follow the requirements. When we use trait bounds on generics, static dispatch happens. When we want to perform dynamic dispatch, we can use the dyn keyword. No runtime cost is added. Some runtime cost is added. The State Pattern The state pattern is an object-oriented design pattern. The current state is stored inside the struct, along with it's value(s). pub struct Post { // Box and dyn are used because the state variable // will have different states during the life of Post state: Option>, content: String,\n} There are state objects , you can create a new object by implementing this trait. trait State { // The first two functions, results in transitions to different states. fn request_review(self: Box) -> Box; fn approve(self: Box) -> Box; // This function, can be called on any state object, // similar to the above two functions, except instead // of causing a state transition, it will return value // as if we conditionally returned output for each state fn content<'a>(&self, _post: &'a Post) -> &'a str { \"\" }\n} The state pattern is built such that, methods defined on state objects will cause changes in the Post, but the methods defined on Post will have no idea what these changes will look like. Hence, state objects will encapsulate behaviour changes from the main struct . You can look at it's complete implementation over here . Some downsides of State Pattern: Extra Modifications: If we add a new state, we'll need to modify other states too. It's due to the reason that one state can only make transitions to another state. Code Duplication: It leads us to write common code inside state objects, as we cannot write directly in trait's default implementation because traits don't know about the concrete type. There's another implementation of state pattern in Rust. It doesn't follow the classic OOP pattern, as we'll require to store the object in new variable, whenever a state transition will happen. Here's the code . // This will cause a state transition from PendingReview to Published\nlet post = post.approve();","breadcrumbs":"Medium Concepts » Object Oriented Programming » OOP (Object Oriented Programming)","id":"55","title":"OOP (Object Oriented Programming)"},"56":{"body":"You'll learn about macros, it is a form of code that writes more code. We'll talk about unsafe rust which is a form of rust which gives you superpowers by removing the rust safety checks. You'll also learn some other advanced forms of traits, types and pattern matching.","breadcrumbs":"Advanced Concepts » Advanced Concepts","id":"56","title":"Advanced Concepts"},"57":{"body":"match Arms match VALUE { PATTERN => EXPRESSION, PATTERN => EXPRESSION, PATTERN => EXPRESSION,\n} Conditional if let statements fn main() { let favorite_color: Option<&str> = None; let is_tuesday = false; let age: Result = \"34\".parse(); if let Some(color) = favorite_color { println!(\"Using your favorite color, {}, as the background\", color); } else if is_tuesday { println!(\"Tuesday is green day!\"); } else if let Ok(age) = age { if age > 30 { println!(\"Using purple as the background color\"); } else { println!(\"Using orange as the background color\"); } } else { println!(\"Using blue as the background color\"); }\n} while let loops let mut stack = Vec::new(); stack.push(1); stack.push(2); stack.push(3); while let Some(top) = stack.pop() { println!(\"{}\", top); } for loops let v = vec!['a', 'b', 'c']; for (index, value) in v.iter().enumerate() { println!(\"{} is at index {}\", value, index); } let statements let (x, y, z) = (1, 2, 3); function parameters fn print_coordinates(&(x, y): &(i32, i32)) { println!(\"Current location: ({}, {})\", x, y);\n} fn main() { let point = (3, 5); print_coordinates(&point);\n} Forms of Pattern Refutable Irrefutable Patterns that can fail to match for some possible value. Patterns that'll match for any possible value. For Example, in if let Some(x) = a_value, the Some(x) can fail to match if a_value is None. For Example, in let x = 5;, the x matches anything and therefore cannot fail to match. The if let and while let expressions accept refutable and irrefutable patterns, but the compiler warns against irrefutable patterns. Function parameters, let statements, and for loops can only accept irrefutable patterns, because the program cannot do anything meaningful when values don’t match. Using a refutable pattern where Rust requires an irrefutable pattern: // FAIL: The code doesn't know what to do with a None value\n// Some(x) is a refutable pattern\n// let requires an irrefutable pattern\nlet Some(x) = some_option_value; Using irrefutable pattern where Rust requires a refutable pattern: // WARN: It doesn’t make sense to use if let with an irrefutable pattern\n// x is an irrefutable pattern\n// if let is a refutable pattern\nif let x = 5 { println!(\"{}\", x);\n}; In match statements, all arms use refutable pattern except the last one that uses _, which uses irrefutable pattern. Pattern Syntax Inside the match expression Each match expression creates a new scope, hence varaibles defined in scope will shadow the variables defined outside. let x = Some(5); let y = 10; match x { Some(50) => println!(\"Got 50\"), Some(y) => println!(\"Matched, y = {:?}\", y), // This y will shadow the y defined outside of this scope _ => println!(\"Default case, x = {:?}\", x), } println!(\"at the end: x = {:?}, y = {:?}\", x, y); // Output => // Matched, y = 5 // at the end: x = Some(5), y = 10 It's possible to use the \"or\" using the | syntax let x = 1; match x { 1 | 2 => println!(\"one or two\"), 3 => println!(\"three\"), _ => println!(\"anything\"), } // Output => // one or two You may also specify ranges in the arm, only numbers and char values are allowed. let x = 5; match x { 1..=5 => println!(\"one through five\"), _ => println!(\"something else\"), } let y = 'c'; match y { 'a'..='j' => println!(\"early ASCII letter\"), 'k'..='z' => println!(\"late ASCII letter\"), _ => println!(\"something else\"), } // Output => // one through five // early ASCII letter Destructuring Destructuring structs struct Point { x: i32, y: i32,\n} fn main() { let p = Point { x: 0, y: 7 }; // It's possible to destructure a struct into variables let Point { x: a, y: b } = p; assert_eq!(0, a); assert_eq!(7, b); // A shorthand, will directly store respective values in x and y let Point { x, y } = p; assert_eq!(0, x); assert_eq!(7, y);\n} Destructring as well as matching the structs fn main() { let p = Point { x: 0, y: 7 }; match p { Point { x, y: 0 } => println!(\"On the x axis at {}\", x), Point { x: 0, y } => println!(\"On the y axis at {}\", y), Point { x, y } => println!(\"On neither axis: ({}, {})\", x, y), }\n} Destructuring enums enum Color { Rgb(i32, i32, i32), Hsv(i32, i32, i32),\n} enum Message { Quit, Move { x: i32, y: i32 }, Write(String), ChangeColor(Color),\n} fn main() { let msg = Message::ChangeColor(Color::Hsv(0, 160, 255)); match msg { Message::Quit => { println!(\"The Quit variant has no data to destructure.\") } Message::Move { x, y } => { println!( \"Move in the x direction {} and in the y direction {}\", x, y ); } Message::Write(text) => println!(\"Text message: {}\", text), Message::ChangeColor(r, g, b) => println!( \"Change the color to red {}, green {}, and blue {}\", r, g, b ), Message::ChangeColor(Color::Rgb(r, g, b)) => println!( \"Change the color to red {}, green {}, and blue {}\", r, g, b ), Message::ChangeColor(Color::Hsv(h, s, v)) => println!( \"Change the color to hue {}, saturation {}, and value {}\", h, s, v ), }\n} We can mix, match, and nest destructuring patterns in even more complex ways let ((feet, inches), Point { x, y }) = ((3, 10), Point { x: 3, y: -10 }); Ignoring Values You may use _ or .. to ignore values: _ : It is used when you want to ignore a warning of unused variable, inside match expression for the remaining values or using a name that starts with underscore. .. : Ignore remaining parts of the value. You may use _ for ignoring an unused variable fn main() { let _x = 5; let y = 10;\n} It's possible to use _ in functions fn foo(_: i32, y: i32) { println!(\"This code only uses the y parameter: {}\", y);\n} fn main() { foo(3, 4);\n} There is a subtle difference between using only _ and using a name that starts with an underscore. The syntax _x still binds the value to the variable. // FAIL: s lost it's ownership to _s, but was attempted to use again for printing\nlet s = Some(String::from(\"Hello!\")); // _s binds the value, the value of s is moved\nif let Some(_s) = s { println!(\"found a string\");\n} println!(\"{:?}\", s); Whereas _ doesn’t bind at all. let s = Some(String::from(\"Hello!\")); // _ never binds the value, hence s stays the owner if let Some(_) = s { println!(\"found a string\"); } println!(\"{:?}\", s); Note: Ignoring a function parameter can be especially useful in some cases, for example, when implementing a trait when you need a certain type signature but the function body in your implementation doesn’t need one of the parameters. The compiler will then not warn about unused function parameters, as it would if you used a name instead. Ignoring remaining parts of struct with .. struct Point { x: i32, y: i32, z: i32,\n} let origin = Point { x: 0, y: 0, z: 0 }; match origin { // It prevents using _ multiple times Point { x, .. } => println!(\"x is {}\", x),\n} Skipping middle values using .. fn main() { let numbers = (2, 4, 8, 16, 32); match numbers { (first, .., last) => { println!(\"Some numbers: {}, {}\", first, last); } }\n} You can only use .. once per tuple fn main() { let numbers = (2, 4, 8, 16, 32); match numbers { (.., second, ..) => { println!(\"Some numbers: {}\", second) }, }\n} Match Guard Match Guard is an additional if condition specified after the pattern in a match arm that must also match along with the pattern matching, for that arm to be chosen . let num = Some(4); match num { Some(x) if x % 2 == 0 => println!(\"The number {} is even\", x), Some(x) => println!(\"The number {} is odd\", x), None => (), } The downside of this additional expressiveness is that the compiler doesn't try to check for exhaustiveness when match guard expressions are involved. Using Match Guard with | operator let x = 4; let y = false; match x { // It works like this => (4 | 5 | 6) if y => ... // And not like this => 4 | 5 | (6 if y) => ... 4 | 5 | 6 if y => println!(\"yes\"), _ => println!(\"no\"), } // Output => // no @ Bindings // The at operator (@) lets us create a variable that holds a value at the same time\n// we’re testing that value to see whether it matches a pattern. enum Message { Hello { id: i32 },\n} let msg = Message::Hello { id: 5 }; match msg { Message::Hello { id: id_variable @ 3..=7, } => println!(\"Found an id in range: {}\", id_variable), // Value of \"id\" is stored in \"id_variable\", hence it was knwon here Message::Hello { id: 10..=12 } => { println!(\"Found an id in another range\") // Range was specified, Value of \"id\" is not stored inside any variable, hence it is unknown here } Message::Hello { id } => println!(\"Found some other id: {}\", id), // Range was not specified, Value of \"id\" is stored inside \"id\", hence it was known here\n}","breadcrumbs":"Advanced Concepts » Advanced Pattern Matching » Pattern Matching","id":"57","title":"Pattern Matching"},"58":{"body":"Rust has a second language hidden inside it that doesn’t enforce the memory safety guarantees: it’s called unsafe Rust and works just like regular Rust, but gives us extra superpowers. Why it exists? It’s better for Rust to reject some valid programs rather than accept some invalid programs. That makes the static analysis of the Rust compiler conservative. Although the code might be okay, if the Rust compiler doesn’t have enough information to be confident, it will reject the code. In these cases, you can use unsafe code to tell the compiler, “Trust me, I know what I’m doing.” Another reason Rust has an unsafe alter ego is that the underlying computer hardware is inherently unsafe. Hence, it'll allow you to write low-level systems code, such as directly interacting with the OS, or even write your own OS. Any Downsides? Use it at your own risk. Problems due to memory unsafety, such as null pointer dereferencing, can occur. Answers to some common misconceptions: It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks: if you use a reference in unsafe code, it will still be checked. Hence, you'll get only the above mentioned features along with some safety. Also, it does not necessarily mean that code inside unsafe is necessarily dangerous or that it will definitely have memory safety problems. It is programmer's responsibilty to ensure that the code is memory safe. How to write code safely using unsafe? Keep unsafe blocks small and it'll be easier to investigate the memory bugs. You can also wrap unsafe code in a safe abstraction. It prevents the uses of unsafe from leaking out in all the other places. What Superpowers can I get? Dereference a raw pointer Call an unsafe function or method Access or modify a mutable static variable Implement an unsafe trait Access fields of unions Dereferencing a Raw Pointer Raw Pointers are meant for unsafe rust and are similar to references. They are of two types: *const T: Immutable Raw Pointer *mut T: Mutable Raw Pointer Here * is not a dereference operator but a part of the type name. Unlike references and Smart Pointers, they break the following rules of Rust's safety: They are allowed to ignore the borrowing rules by having both immutable and mutable pointers or multiple mutable pointers to the same location Aren’t guaranteed to point to valid memory Are allowed to be null Don’t implement any automatic cleanup This is how you can create raw pointers out of a variable. let mut num = 5; let r1 = &num as *const i32;\nlet r2 = &mut num as *mut i32; We can create raw pointers in safe code; we just can’t dereference raw pointers outside an unsafe block. let mut num = 5; // Notice it's possible to create raw pointers inside safe code\nlet r1 = &num as *const i32;\nlet r2 = &mut num as *mut i32; // But to dereference a raw pointer you'll require an unsafe block\nunsafe { println!(\"r1 is: {}\", *r1); println!(\"r2 is: {}\", *r2);\n} We broke the Rust's safety measures, as we are able to use a mutable and immutable reference to a value. Now, as a programmer we made sure that these references are used properly inside the unsafe block. Uses of creating raw pointers: Mostly used when interfacing with C code. Calling an Unsafe Function or Method. Building safe abstractions over unsafe code. Call an unsafe function or method Defining an unsafe function: unsafe fn dangerous() {} Calling an unsafe function: // By calling an unsafe function within an unsafe block,\n// we’re saying that we’ve read this function’s documentation\n// and take responsibility for upholding the function’s contracts.\nunsafe { dangerous();\n} Wrappping unsafe code in safe abstractions We want to create a function that can split a vector into two by index // FAIL: Rust won't allow us to have two immutable borrow of the same vector\n// Only we know that the two immutable borrow aren't overlapping and won't\n// cause any trouble so we would like to silent the compiler by using unsafe\nfn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { let len = slice.len(); assert!(mid <= len); (&mut slice[..mid], &mut slice[mid..])\n} Here is it's implementation using unsafe use std::slice; // Notice the function isn't using unsafe in it's signature, hence unsafe is\n// wrapped in a safe abstraction\nfn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { let len = slice.len(); let ptr = slice.as_mut_ptr(); // Raw pointer assert!(mid <= len); // This is an acceptable use of unsafe // We need unsafe block to call these functions because // we're slicing and adding to the raw pointers, which may // have a chance to become invalid, iff programmer hasn't // written in properly unsafe { ( slice::from_raw_parts_mut(ptr, mid), // It will give the slice of range [ptr, ptr + mid) slice::from_raw_parts_mut(ptr.add(mid), len - mid), ) }\n} If you want to create a raw pointer with unexpected behaviour, you can do this // FAIL: It won't point to a valid i32 value\nuse std::slice; let address = 0x01234usize;\nlet r = address as *mut i32; let slice: &[i32] = unsafe { slice::from_raw_parts_mut(r, 10000) }; Call the code from other languages using extern Rust uses extern keyword to use Foreign Function Interface (FFI) , it is a way for a programming language to define functions and enable a different (foreign) programming language to call those functions. Functions declared within extern blocks are always unsafe to call from Rust code. This is how you can call C code in Rust: // After extern you need to specify ABI (Application Binary Interface)\n// Here we are using extern to use ABI of other languages\nextern \"C\" { fn abs(input: i32) -> i32;\n} fn main() { unsafe { println!(\"Absolute value of -3 according to C: {}\", abs(-3)); }\n} It is possible to write Rust code such that other languages can call. // This code is not unsafe\n#[no_mangle] // This doesn't allows the compiler to rename the functions name\npub extern \"C\" fn call_from_c() { // Here we are using extern to create an ABI for other languages println!(\"Just called a Rust function from C!\");\n} Accessing or Modifying a Mutable Static Variable In Rust, global variables are called static variables . It is problematic as it may cause a data race if two threads are accessing the same mutable global variable. This is how you can create a global or static variable. static HELLO_WORLD: &str = \"Hello, world!\"; fn main() { println!(\"name is: {}\", HELLO_WORLD);\n} The references for static variable is 'static by default. So, we need to specify it's lifetime anywhere. Also, it's completely safe to access an immutable static variable. Constants and Static Variable Constants Static Variable Dynamic address in memory Fixed address in memory Constants duplicate their data whenever used. Using the value will always access the same data. Constants are never mutable. Static variable can be both mutable and immutable, and for modifying mutable static variable, you'll need to use unsafe. Implementing Static Variables This is how you can implement static variables. static mut COUNTER: u32 = 0; fn add_to_count(inc: u32) { unsafe { COUNTER += inc; }\n} fn main() { add_to_count(3); unsafe { println!(\"COUNTER: {}\", COUNTER); }\n} Notice that, it's not causing us any trouble because this code is single threaded, but if we tried to mutate the static variable in multiple threads it could lead to data races. Static Variables ( or Global Variables ) are unsafe. That's because it's difficult to ensure that there are no data races for a global variable. It’s preferable to use the concurrency techniques and thread-safe smart pointers. Implementing an unsafe trait A trait is unsafe when at least one of its methods has some invariant that the compiler can’t verify. Here's an implementation: unsafe trait Foo { // methods go here\n} unsafe impl Foo for i32 { // method implementations go here\n} fn main() {} If we implement a type that contains a type that is not Send or Sync (i.e. doesn't already implements the safe ways of sending a type in multiple threads), such as raw pointers , and we want to mark that type as Send or Sync, we must use unsafe. Accessing Fields of a Union A union is similar to a struct, but only one declared field is used in a particular instance at one time. Unions are primarily used to interface with unions in C code. Accessing union fields is unsafe because Rust can’t guarantee the type of the data currently being stored in the union instance.","breadcrumbs":"Advanced Concepts » Unsafe Rust » Unsafe Rust","id":"58","title":"Unsafe Rust"},"59":{"body":"Associated Types This is how you can create an associate type inside a trait pub trait Iterator { type Item; // You see, this is the associated type fn next(&mut self) -> Option; // Now, this trait can use this type in it's signatures\n} Here's an implementation of this trait on one of our types Counter: impl Iterator for Counter { type Item = u32; fn next(&mut self) -> Option { // --snip-- Now, you might be wondering, can't we do something like this with using traits with generics? pub trait Iterator { fn next(&mut self) -> Option;\n} Here are the differences between Associated Types and Traits with generics? Traits with Associated Types Traits with Generics There will be only one implementation for a type. There can be multiple implementations for a type, using individual concrete type. For Example, impl Iterator for Counter For Example, impl Iterator for Counter, and many more. Using functions of these traits will not require you to provide type annotations. You'll need to provide type annotations to provide which iteration to use. Operator Overloading This is how you can add two types by using the + operator // This library `std::ops` contains all the overloadable operators\nuse std::ops::Add; #[derive(Debug, Copy, Clone, PartialEq)]\nstruct Point { x: i32, y: i32,\n} impl Add for Point { type Output = Point; // associated type will restrict the number of implementations fn add(self, other: Point) -> Point { // This fn will decide how the `+` will behave for the type Point Point { x: self.x + other.x, y: self.y + other.y, } }\n} fn main() { assert_eq!( Point { x: 1, y: 0 } + Point { x: 2, y: 3 }, Point { x: 3, y: 3 } );\n} This is how the trait Add is defined in the Rust's library std::ops // This syntax `` is called \"default parameters\"\n// In case, someone implementing this trait doesn't define the type\n// then the type defined in default parameter will be used everywhere in this trait\ntrait Add { type Output; fn add(self, rhs: Rhs) -> Self::Output; // The \"default parameter\" is used here inside argument `rhs`\n} You can also customize Rhs, that'll mean you'll be adding a value of different type to the main type use std::ops::Add; struct Millimeters(u32);\nstruct Meters(u32); impl Add for Millimeters { // Modified Rhs to Meters, otherwise the default will be Self (or Millimeters) type Output = Millimeters; fn add(self, other: Meters) -> Millimeters { Millimeters(self.0 + (other.0 * 1000)) }\n} You’ll use default type parameters in two main ways: To extend a type without breaking existing code To allow customization in specific cases most users won’t need Function with same name in multiple traits Following things are allowed: Multiple traits to have functions with same name A type implementing all these traits Here's an implementation: trait Pilot { fn fly(&self);\n} trait Wizard { fn fly(&self);\n} struct Human; impl Pilot for Human { fn fly(&self) { println!(\"This is your captain speaking.\"); }\n} impl Wizard for Human { fn fly(&self) { println!(\"Up!\"); }\n} impl Human { fn fly(&self) { println!(\"*waving arms furiously*\"); }\n} fn main() { let person = Human; Pilot::fly(&person); // You'll have to pass the reference to the person, because it takes self as an argument Wizard::fly(&person); // if we had two types that both implement one trait, this self would recognize the correct type person.fly(); // The direct implementation will get called first, instead you can also use Human::fly(&person)\n} Let's see what happens if the associated function of a struct and a trait has same name trait Animal { // Notice, there is no self passed inside, // multiple types can implement this trait, // Calling this function won't be direct, // as the trait won't be able to infer // which type's implementation to call fn baby_name() -> String;\n} struct Dog; impl Dog { // This is an associated function, which can be called // using `Dog::baby_name()`, just like any other // associated fn without self fn baby_name() -> String { String::from(\"Spot\") }\n} impl Animal for Dog { fn baby_name() -> String { String::from(\"puppy\") }\n} fn main() { println!(\"A baby dog is called a {}\", Dog::baby_name()); // The direct implementation will get called println!(\"A baby dog is called a {}\", Animal::baby_name()); // Won't work, this associated fn don't has self, remember? It can't infer the type println!(\"A baby dog is called a {}\", ::baby_name()); // We need to tell Rust that we want to use the implementation of Animal for Dog\n} This is the fully qualified syntax, used for all associated functions (including methods) ::function(receiver_if_method, next_arg, ...); // You don't need to provide all the information that Rust can infer Supertraits Sometimes, you might need one trait to use another trait’s functionality. The traits you would be using to build your own trait is called Supertrait . One important thing is that, now your trait can only be implemented on the types that already implements the Supertrait. Here's an implementation. This OutlinePrint can only be implemented on any trait that implements Display. use std::fmt; trait OutlinePrint: fmt::Display { // It is also like bounding a trait with another trait fn outline_print(&self) { let output = self.to_string(); // It works only because all the types already implements `Display` let len = output.len(); println!(\"{}\", \"*\".repeat(len + 4)); println!(\"*{}*\", \" \".repeat(len + 2)); println!(\"* {} *\", output); println!(\"*{}*\", \" \".repeat(len + 2)); println!(\"{}\", \"*\".repeat(len + 4)); }\n} For reference, you can also implement fmt::Display on your type, like this: struct Point { x: i32, y: i32,\n} use std::fmt; impl fmt::Display for Point { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, \"({}, {})\", self.x, self.y) }\n} Now, we know that Point implements Display, now we can implement OutlinePrint like this: impl OutlinePrint for Point {} The output will look like this for the fn outline_print **********\n* *\n* (1, 3) *\n* *\n********** Newtype Pattern The Orphan Rule states that we’re allowed to implement a trait on a type as long as either the trait or the type are local to our crate. The newtype pattern , helps us to get around this restriction. All we need to do is to create a new type in a tuple struct. Let's say, we want to implement Display on Vec. Both of them are not local to our code, thereby orphan rule will prevent us from implementing it. Now, we can use this newtype pattern for getting a workaround. What we'll be building is a wrapper that will make the Vec local to us. use std::fmt; struct Wrapper(Vec); // A new struct, which is just a wrapper for Vec impl fmt::Display for Wrapper { // Now, we can implement Display on Wrapper, but we can't do directly on Vec fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, \"[{}]\", self.0.join(\", \")) // self.0 is used to take the Vector out }\n} fn main() { // The only disadvantage is that, we'll need to create // a vector inside a wrapper to use the Display trait let w = Wrapper(vec![String::from(\"hello\"), String::from(\"world\")]); println!(\"w = {}\", w);\n} If we wanted the new type to have every method the inner type has, implementing the Deref trait on the Wrapper to return the inner type would be a solution. If we don’t want the Wrapper type to have all the methods of the inner type — for example, to restrict the Wrapper type’s behavior — we would have to implement just the methods we do want manually.","breadcrumbs":"Advanced Concepts » Advanced Traits » Advanced Traits","id":"59","title":"Advanced Traits"},"6":{"body":"By default variables are immutable in Rust. Its advantages includes memory safety and easy concurrency. Example of immutable variable: let x = 5; Example of mutable variable: let mut x = 5;\nx = 6;","breadcrumbs":"Basics of Rust » Variables and Mutability » Variables","id":"6","title":"Variables"},"60":{"body":"Uses of the Newtype Pattern Type Safety : We can wrap u32 values with structs Millimeters and Meters. Now, if a value is stored in Millimeters, it is safe to say that this value can't call functions defined for Meters, and vice versa is true. Abstraction : We could provide a People type to wrap a HashMap that stores a person’s ID associated with their name. Code using People would only interact with the public API we provide, such as a method to add a name string to the People collection; that code wouldn’t need to know that we assign an i32 ID to names internally. Type Aliases This is how you can create a type alias: type Kilometers = i32; How it works? Values with type Kilometers will be treated same as i32. We aren't creating a new type, we're just adding a synonym to i32, called Kilometers Hence, doing something like this is totally fine: let x: i32 = 5;\nlet y: Kilometers = 5; println!(\"x + y = {}\", x + y); // This will work The advantage is that it will give us the flexibility that any function with an argument of i32, we can pass Kilometers value to it. The disadvantage is that we don't get the type checks as we get in the newtype pattern. You can create an alias where you want to prevent naming a complex type. type Thunk = Box; // A type that stores closure let f: Thunk = Box::new(|| println!(\"hi\")); // We don't need to specify the longer type, instead we can say just \"Thunk\" fn takes_long_type(f: Thunk) { // Again, we don't need to specify the longer type, just \"Thunk\" ...\n} Fun Fact: Thunk is a word for code to be evaluated at a later time, so it’s an appropriate name for a closure that gets stored We can also shorten a Result values of I/O operations like this type Result = std::result::Result; Now, Result can be replaced with Result and Result<(), Error> can be replaced with Result<()>. Also, we can use the ? operator, since it's the same type. The never type ! This type never returns. In type theory lingo it is known as the empty type because it has no values. Rust prefers to call it the never type because it stands in the place of the return type when a function will never return. // People read it as, \"the function bar(), returns never\", and are called diverging functions\nfn bar() -> ! { // --snip--\n} Rust never allows a variable to have different possible data types. // FAIL: You can't create a variable \"guess\", that may have either number or string\nlet guess = match guess.trim().parse() { Ok(_) => 5, Err(_) => \"hello\",\n}; But this is possible: let guess: u32 = match guess.trim().parse() { Ok(num) => num, Err(_) => continue, // Wait a minute, how's this even allowed?\n}; The continue has a never type (!), which means it'll never return any value. That is, when Rust computes the type of guess, it looks at both match arms, the former with a value of u32 and the latter with a ! value. Because ! can never have a value, Rust decides that the type of guess is u32. You can remember it this way, the ! can get coerced to any other type. This is the original implementation of unwrap!(). Here, the return type is coerced to a single type T, and that's because panic!() ends the program and has a never type (!). impl Option { pub fn unwrap(self) -> T { match self { Some(val) => val, None => panic!(\"called `Option::unwrap()` on a `None` value\"), } }\n} The value of the expression of loop is also of the type !. print!(\"forever \"); loop { print!(\"and ever \");\n} Dynamically Sized Traits and the Sized trait DSTs or unsized types let us write code using values whose size can only be known at runtime. So, Rust doesn't let us create strings with str (not &str): let s1: str = \"Hello there!\";\nlet s2: str = \"How's it going?\"; Why's that? Rust needs to know a fixed size of a type. Here s1 takes 12 bytes and s2 takes 15 bytes. It's not possible to accomodate all the strings in a single fixed size. What's the solution? &str is the solution. It stores two values: the address of the str and its length. So, that makes &str will only need two usize, one for the address and the other for the length. That's why, we always know the size of a &str, no matter how long the string it refers to is. In general, this is the way in which dynamically sized types are used in Rust. The golden rule of dynamically sized types is that we must always put values of dynamically sized types behind a pointer of some kind. The traits can be Dynamically Sixed too. All we need to do is to put them behind a pointer, such as &dyn Trait or Box. The Sized trait A trait that determines whether or not a type's size is known at compile time. You may create a generic function like this: fn generic(t: T) { // --snip--\n} But, Rust treats it as if it was re-written like this: // This means generic functions will only work on\n// types who's size is known at the compile time\nfn generic(t: T) { // --snip--\n} It's possible to get over with this restriction: // The ?Sized means “T may or may not be Sized”\n// Now, this fn will accept T whose size may or may not be known at compile time\n// The ?Trait syntax with this meaning is only available for Sized, not any other traits.\n// Also, notice, we're using `&T` and not `T`, now we'll use `T` behind some kind of pointer, here it's reference\nfn generic(t: &T) { // --snip--\n}","breadcrumbs":"Advanced Concepts » Advanced Types » Advanced Types","id":"60","title":"Advanced Types"},"61":{"body":"Pass functions to the functions Just like you can pass closures to the functions, you can also pass \"funtions to the functions\". There's a type represented by fn, (don't confuse it with Fn, that is a closure trait). This fn type is called Function Pointer . Here's how you can use it: fn add_one(x: i32) -> i32 { x + 1\n} fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 { f(arg) + f(arg)\n} fn main() { let answer = do_twice(add_one, 5); println!(\"Answer: {}\", answer);\n} Function pointers implement all three of the closure traits (Fn, FnMut, and FnOnce), so you can always pass a function pointer as an argument for a function that expects a closure. So, instead of passing a closure, you can simply enter a function name, and it will work. // You can either do this\nlet list_of_numbers = vec![1, 2, 3];\nlet list_of_strings: Vec = list_of_numbers .iter() .map(|i| i.to_string()) // Provide the closure .collect(); // Or you can simply enter the function name\nlet list_of_numbers = vec![1, 2, 3];\nlet list_of_strings: Vec = list_of_numbers .iter() .map(ToString::to_string) // Enter the function name, wohoo! .collect(); You can use enum variants as an initializer function. Also, we now know we can pass a function inside a function, so here's what we can also do: enum Status { Value(u32), // So, this works as an initializer function too Stop,\n} let list_of_statuses: Vec = (0u32..20).map(Status::Value).collect(); // This will create Status instances of the variant Value You can do the same thing by using closures, it's more of a personal preference. You can use whichever feels more clearer to you. Return Closures First of all, you can't return functions, that's not allowed in rust. Technically, you are not alllowed to use fn (Funciion Pointer) as a return type, but you can return closures. Closures are represented by traits. To return a type that implements a trait, you can do either of the two: Return a concrete type Use dynamic dispatch (it'll allow the function to know concrete type at runtime). Closures don't have the concrete type, you can't send them directly, you'll need to use dynamic dispatch. // FAIL: This will also not work\nfn returns_closure() -> dyn Fn(i32) -> i32 { |x| x + 1\n} Now, Rust needs one more thing, the size of the closure. Remember the Sized trait. The solution to this problem, is to wrap the return type with some sort of pointer, in case of strings we use references. For example, using &str instead of str. Here, we'll use Box to simply store it on the heap. // This is how you can successfully return a closure\nfn returns_closure() -> Box i32> { Box::new(|x| x + 1)\n} In case you want to understand better how you can use traits with dynamic dispatch, you can check here .","breadcrumbs":"Advanced Concepts » Advanced Functions and Closures » Advanced Functions and Closures","id":"61","title":"Advanced Functions and Closures"},"62":{"body":"Rust code that writes more rust code are called Macros . This kind of programming is called metaprogramming. Here are the following things that you can only do with macros and not functions: Macros can take variable number of parameters, unlike functions. You can call println!(\"hello\") with one argument or println!(\"hello {}\", name) with two arguments. Macros are expanded before the compiler interprets the meaning of the code. For example, macros can implement a trait on a given type. Functions can't because it gets called at runtime and a trait needs to be implemented at compile time. Drawbacks of Macros: It's hard to read, write and maintain. You can define functions anywhere, but you need to bring the macros in scope before you can call them. Declarative Macros They are the most widely used types of macros. Also referred to as \"macros by example\", “macro_rules! macros”, or just plain “macros”. They are similar to match statements, except they match on literal rust code, instead of some value. Here is a simple implementation of the vec! macro: #[macro_export]\nmacro_rules! vec { ( $( $x:expr ),* ) => { { let mut temp_vec = Vec::new(); $( temp_vec.push($x); )* temp_vec } };\n} Explanation: #[macro_export] - You can't export the macro without this line. For using this macro, you'll have to bring the crate into scope where this macro is defined. macro_rules! name-of-macro - Then we declare the macro with the macro_rules! along with the name of the macro without the exclamation mark. In our case, vec. ( $( $x:expr ),* ) => - This is the match arm of the macro. In our case, the macro has only one match arm, if such an expression is passed to the macro which doesn't fall into it, it'll fail. Some complex macros will have multiple match arms. ( ) => - A parantheses surrounds the whole pattern. It indicates that this is a match arm. $( ) - Anything inside this parantheses will capture values. $x: expr - This matches any Rust expression and gives the expression the name $x. , - It means that the literal , might appear after the code that matches the code in $(). * - It means that the pattern matches zero or more of whatever precedes the *. $()* - For every time the expression in $() gets matched, the code inside $()* will get called. In Action: So, when we'll write vec![1, 2, 3] it will get compiled into, the following code: { let mut temp_vec = Vec::new(); temp_vec.push(1); temp_vec.push(2); temp_vec.push(3); temp_vec\n} Note: This vector that we created over here can take any number of arguments of any type. The implementation of vec! macro in standard library only accepts data of one type and it also has some extra code for preallocating memory for those types. Procedural Macros They act more like functions and they are a type of procedure. They don't match against a pattern. They simply accept some code, operates on it and produces some new code. There are three kinds of procedural macros: Custom Derive Attribute Like Function Like Custom Derive Macros Using custom derive macros looks like this (it is used over structs or enums): #[derive(HelloMacro)]\nstruct Pancakes; Defining proceudral macros looks like this: use proc_macro; #[some_attribute] // This attribute tells us which kind of procedural macro we are creating\npub fn some_name(input: TokenStream) -> TokenStream { // TokenStream is a type imported from the crate `proc_macro`. It represents a sequence of tokens.\n} An Example of a Custom Derive macro: What we want? We want to print the name of the struct which tries to call the function hello_macro(). use hello_macro::HelloMacro; // A trait which has an associated function hello_macro()\nuse hello_macro_derive::HelloMacro; // A macro that we can use #[derive(HelloMacro)]\nstruct Pancakes; fn main() { Pancakes::hello_macro(); // This will print \"Hello, Macro! My name is Pancakes!\"\n} Part 1: Defining Traits First of all define the trait in different crate, created using cargo new hello_macro --lib: // File: src/lib.rs\npub trait HelloMacro { fn hello_macro();\n} Then implement the trait for every struct (without using macro, this is what it looks like): // File: src/main.rs\nuse hello_macro::HelloMacro; struct Pancakes; impl HelloMacro for Pancakes { fn hello_macro() { println!(\"Hello, Macro! My name is Pancakes!\"); // Programmer will have to implement this fn for each struct. }\n} fn main() { Pancakes::hello_macro();\n} Additionally, we can’t yet provide the hello_macro function with default implementation that will print the name of the type the trait is implemented on: Rust doesn’t have reflection capabilities, so it can’t look up the type’s name at runtime. Part 2: Implementing Procedural Macros At the time of this writing, procedural macros need to be in their own crate. Eventually, this restriction might be lifted. So, first create a new crate using: cargo new hello_macro_derive --lib This trait will work in parallel with the trait defined above. Both the traits are tightly related. Hence we'll have to keep both the crates (hello_macro and hello_macro_derive) in one directory. In case someone wants to use the macro, they'll have to pull both the crates as dependencies. So inside the cargo.toml file of the crate hello_macro_derive, add the following lines: [lib]\nproc-macro = true [dependencies]\nsyn = \"1.0\"\nquote = \"1.0\" Now, we can define the macro inside the src/lib.rs file of the crate hello_macro_derive. The code for most of the procedural macros will be same as the code block below: // Filename: src/lib.rs\nuse proc_macro::TokenStream; // this crate, proc_macro comes with rust, it allows to read and manipulate rust code from our code\nuse quote::quote; // Transforms DeriveInput -> Rust Code\nuse syn; // Transforms Rust Code -> DeriveInput #[proc_macro_derive(HelloMacro)] // This line makes sure that whenever a user specifies #[derive(HelloMacro)] on a type, it calls the below fn\npub fn hello_macro_derive(input: TokenStream) -> TokenStream { // Construct a representation of Rust code as a syntax tree // that we can manipulate let ast = syn::parse(input).unwrap(); // Build the trait implementation impl_hello_macro(&ast)\n} Once the line let ast = syn::parse(input).unwrap(); is executed (let's say for the struct Pancakes {};), it creates a DeriveInput struct, which looks like this: DeriveInput { // --snip-- ident: Ident { ident: \"Pancakes\", span: #0 bytes(95..103) }, data: Struct( DataStruct { struct_token: Struct, fields: Unit, semi_token: Some( Semi ) } )\n} Now, we can convert the DeriveInput into TokenStream using the function impl_hello_macro(&ast): fn impl_hello_macro(ast: &syn::DeriveInput) -> TokenStream { let name = &ast.ident; // type is not &str but &syn::Ident let gen = quote! { // it turns Rust syntax tree data structures into tokens of source code impl HelloMacro for #name { fn hello_macro() { println!(\"Hello, Macro! My name is {}!\", stringify!(#name)); // quote! is used here to replace #name with the value in the variable name } } }; gen.into() // quote! can't directly convert into TokenStream so we call into()\n} The stringify! macro used here is built into Rust. It takes a Rust expression, such as 1 + 2, and at compile time turns the expression into a string literal, such as \"1 + 2\". This is different than format! or println!, macros which evaluate the expression and then turn the result into a String. Now, we can create a crate named pancakes and then use our macro inside of it. cargo new pancakes The file structure should be like this: .\n├── hello_macro\n│ ├── hello_macro_derive\n│ │ └── ..\n│ └── ..\n└── pancakes └── .. Then migrate the code as explained in the starting of this example to src/main.rs, and also add these lines to the dependencies: hello_macro = { path = \"../hello_macro\" }\nhello_macro_derive = { path = \"../hello_macro/hello_macro_derive\" } Attribute Like Macros In Custom Derive Macros, the derive keyword is used and it generates some new code for the struct or enum. Instead of generating new code, Attribute like macros allow you to create new attributes. Unlike Custom Derive Macros, Attribute like macros are not limited to just structs or enums and can be applied to other items, such as functions. Here's an example of how it can be used on a function: #[route(GET, \"/\")]\nfn index() { ..\n} This #[route] attribute would be defined by the framework as a procedural macro. The signature of the macro definition function would look like this: #[proc_macro_attribute]\npub fn route(attr: TokenStream, item: TokenStream) -> TokenStream { // attr: The GET, \"/\" will get stored in this argument // item: The code attached to above macro (fn index() {} in our case) will get stored in this argument ..\n} Other than that, attribute-like macros work the same way as custom derive macros: you create a crate with the proc-macro crate type and implement a function that generates the code you want! Function Like Macros These macros look like function calls but with a !. They're more flexible than functions as they can accept variable number of arguments. In declarative macros (macro_rules ! macro) uses match-like syntax, the Function Like Macros take a TokenStream parameter, similar to the other two procedural macros. Here's an example, here we want to parse SQL code: let sql = sql!(SELECT * FROM posts WHERE id=1); If we tried to build this macro with the macro_rules ! macro, then match-like pattern would've made it hard to implement. With using TokenStream it is a bit easier to implement: #[proc_macro]\npub fn sql(input: TokenStream) -> TokenStream { ..\n} It's implementation is closer to that of custom derive macros.","breadcrumbs":"Advanced Concepts » Macros » Macros","id":"62","title":"Macros"},"63":{"body":"Raw Identifers Identifiers are the names of the functions, variable, structs etc. Keywords are the words reserved by Rust. For example, if, else, match. You're not allowed to use keywords as identifiers, but there's a hack. Raw identifiers are the syntax that lets you use keywords where they wouldn’t normally be allowed. You use a raw identifier by prefixing a keyword with r#. Here's something that you're not allowed to do: // FAIL: match is a keyword, but is used as an identifier\nfn match(needle: &str, haystack: &str) -> bool { haystack.contains(needle)\n} If there's a need to use a keyword as identifier, you may use raw identifiers: fn r#match(needle: &str, haystack: &str) -> bool { haystack.contains(needle)\n} fn main() { assert!(r#match(\"foo\", \"foobar\"));\n} What's the use? Let's say you're integrating some code written in other languages to your Rust project. Now, there are some functions written in other languages whose name are keywords in Rust. So, you may use raw identifiers to overcome Rust's restriction. try isn’t a keyword in the 2015 edition but is in the 2018 edition. If you depend on a library that’s written using the 2015 edition and has a try function, you’ll need to use the raw identifier syntax, r#try in this case, to call that function from your 2018 edition code. Derivable Traits Debug It can used to print elements by using :? within {} placeholders. The Debug trait is required, for example, in use of the assert_eq! macro. This macro prints the values of instances given as arguments if the equality assertion fails so programmers can see why the two instances weren’t equal. PartialEq By deriving this trait you can use == and != operators on structs an enums. It implements the eq method. Eq It's purpose is to check that the annotated types are equal to itself. It can only be implemented by the types that already implements PartialEq. The mathematical difference between Eq and PartialEq is that Eq is reflexive, symmetric and transitive. However,PartialEq only guarantees symmetric and transitive. reflexive: a == a;\nsymmetric: a == b implies b == a; and\ntransitive: a == b and b == c implies a == c. An example of a type that follows PartialEq and doesn't follows Eq is floating point number. The implementation of floating point numbers states that two instances of the not-a-number (NaN) value are not equal to each other. An example of when Eq is required is for keys in a HashMap so the HashMap can tell whether two keys are the same. PartialOrd A type that implements PartialOrd can be used with the <, >, <=, and >= operators. The PartialOrd trait allows you to compare instances of a type for sorting purposes. It implements the partial_cmp method, which returns an Option that will be None when the values given don’t produce an ordering. Since floating point numbers can't compare (or order) the not-a-number (NaN), it doesn't support this trait. When derived on enums, variants declared earlier in the enum definition are considered less than the variants listed later. When derived on structs, it compares two instances by comparing the value in each field in the order in which the fields appear in the struct definition. Ord It implements the cmp method, which returns an Ordering rather than an Option because a valid ordering will always be possible. You can only apply the Ord trait to types that also implement PartialOrd and Eq (and Eq requires PartialEq). When derived on structs and enums, cmp behaves the same way as the derived implementation for partial_cmp does with PartialOrd. An example of when Ord is required is when storing values in a BTreeSet, a data structure that stores data based on the sort order of the values. Clone It allows you to perform a deep copy (copying the data on heap) of a value. When you derive clone on a type, then it is required that the type's fields must also derive the clone. Copy It allows you to copy data on the stack. Copying is a lot faster than cloning but it's undesirable for large items. For Example, String. A type that implements copy must also implement clone. It is trivial because Clone performs the same task as Copy. Hash It allows you to take an instance of a type of arbitrary size and map that instance to a value of fixed size using a hash function. It is required in storing keys in a HashMap to store data efficiently. If a type implements this trait then it's required that all of it fields must also implement this trait. Default It allows you to create a default value of a type. The Default::default function is commonly used in combination with the struct update syntax. You can customize a few fields of a struct and then set and use a default value for the rest of the fields by using ..Default::default(). You can use the method unwrap_or_default() on Option instances. For Example, If the Option is None, the method unwrap_or_default will return the result of Default::default for the type T stored in the Option.","breadcrumbs":"Advanced Concepts » Miscellaneous » Miscellaneous","id":"63","title":"Miscellaneous"},"64":{"body":"You'll learn about the different forms of tests written in Rust. You'll also learn how to do Test Driven Development. Fun Fact: In Rust, each test is run in a new thread, and when the main thread sees that a test thread has died, the test is marked as failed.","breadcrumbs":"Rust Tests » Rust Tests","id":"64","title":"Rust Tests"},"65":{"body":"You can create a boilerplate rust project that automatically has tests using the following commmand: cargo new --lib A test in Rust is a function that’s annotated with the test attribute. The bodies of test functions typically perform these three actions: Set up any needed data or state. Run the code you want to test. Assert the results are what you expect. Two attributes to keep in mind: #[test] - To change a function into a test function, add #[test] on the line before fn. #[should_panic] - To declare before each test function that if this function panics then it is working correctly. After adding the attribute #[test], the rust compiler is ready to run cargo test. When you run the command, behind the scenes Rust builds a test runner binary that runs the functions annotated with the test attribute. You can write the functions that are not tests inside the tests module, for example a helper function. So, the only way for the Rust to know whether a function is a test function is through the #[test] attribute. The tests fail when something in the test function panics. Here is the table for the logging statistics: Statistic Meaning Passed Passing Tests Failed Failing Tests Ignored Tests that were ignored due to #[ignore] attribute. Measured This is for benchmark tests that measure performance. (only in nightly Rust) Filtered Out While running specific tests, the left out tests are called filtered. Here is the table for the macros you mauy use for assertion: Assertion Macro Use Case Argument(s) assert!() If the condition is true then passes else panics. Condition panic!() Panics or fails the test with a message if given. Message assert_eq!() Passes if equal else panics. (==) (actual, expected) assert_ne!() Passes if not equal else panics. (!=) (actual, not_expected) In rust the convention doesn't matter, we can either use actual as first argument or as second. It is the programmer's convention. In case we are writing the tests in a module inside the same file then we'll need to use the super::*; inside the tests module to pull all the outside code of the current file. //Filename: src/lib.rs\nfn do_something() { ...\n} #[cfg(test)]\nmod tests { // The line below will pull all the code of outer module inside. use super::*; #[test] fn test_do_something() { ... }\n} For structs and enums that you define, you’ll need to implement PartialEq to assert that values of those types are equal or not equal. #[derive(PartialEq, Debug)]\nstruct Rectangle { width: u32, height: u32,\n} #[cfg(test)]\nmod tests { use super::*; // This test will only work if we'll add #[derive(PartialEq)] to the struct or enum. #[test] fn rectangle_is_of_same_size() { let rectangle1 = Rectangle { width: 8, height: 7, }; let rectangle2 = Rectangle { width: 8, height: 7, }; assert_eq!(rectangle1, rectangle2); }\n} You’ll need to implement Debug to the struct or enum if you want to see the logs that say (left != right). ---- tests::rectangle_is_of_same_size stdout ----\nthread 'tests::rectangle_is_of_same_size' panicked at 'assertion failed: `(left == right)` left: `Rectangle { width: 8, height: 7 }`, right: `Rectangle { width: 8, height: 8 }`', src/lib.rs:56:9 The assert!() macro also allows the message to show in case the test fails. assert!( result.contains(\"something\"), \"The result doesn't contain something. This was the actual result: {}\", result\n) There is an attribute named #[should_panic], that you can write before any test function to declare that if this function panics then it is working correctly. #[cfg(test)]\nmod tests { use super::*; #[test] #[should_panic] fn greater_than_100() { Guess::new(200); }\n} This is the note that appears in case the function doesn't panics. note: test did not panic as expected To make the ![should_panic] attribute more precise we can add the expected parameter and pass a string to it such that the string is a substring of the relevant panic message. impl Guess { pub fn new(value: i32) -> Guess { if value < 1 { panic!( \"Guess value must be greater than or equal to 1, got {}.\", value ); } else if value > 100 { panic!( \"Guess value must be less than or equal to 100, got {}.\", value ); } Guess { value } }\n} #[cfg(test)]\nmod tests { use super::*; // The below test only passes if both the two conditions satisfies: // 1. Code should panic // 2. The string passed in expected parameter is a substring of the panic message. #[test] #[should_panic(expected = \"Guess value must be less than or equal to 100\")] fn greater_than_100() { Guess::new(200); }\n} There is also an alternative approach possible to use Ok() and Err() inside a test. #[cfg(test)]\nmod tests { #[test] fn it_works() -> Result<(), String> { if 2 + 2 == 4 { Ok(()) } else { Err(String::from(\"two plus two does not equal four\")) } }\n} Pros: The only upside of writing tests such that they return a Result enables you to use the question mark (?) operator in the body of tests, which can be a convenient way to write tests that should fail if any operation within them returns an Err variant. Cons: If we write tests in above manner than we cannot use #[should_panic] attribute because we can use Err().","breadcrumbs":"Rust Tests » Getting Started » Getting Started","id":"65","title":"Getting Started"},"66":{"body":"Command Line Options either go to: cargo test - Run this command for help, cargo test --help The resulting test binary - Run this command for help, cargo test -- --help. In simple terms, if you want to pass something into tests binary you'll have to seperate them with --. Threading while running Tests By default, Rust runs tests in different threads. In case the test depends on each other. For example, tests perform read, write, and assert to a same file. If run concurrently, the file will get corrupt and the tests might fail. To run tests on a single thread, one by one we can do it by: cargo test -- --test-threads=1 This command will prevent parallelism, though the tests will take longer to run but it'll save us from the above problem. Printing while running tests By default, when we run cargo test, the compiler never prints the statements. To display print statements we can run this command: cargo test -- --show-output Running Specific Tests To run specific tests either 1 or more, we can do that by specifying the name of test. For One Test: cargo test For more than one test (e.g. add_two, add_three, then substring add): cargo test When we run specific tests, the remaining tests will fall into the category of filtered out, you may see that in the logs. Also note that the module in which a test appears becomes part of the test’s name, so we can run all the tests in a module by filtering on the module’s name. Ignoring Tests Instead of filtering tests, you may like to ignore the tests by adding #[ignore] attribute above each test that you'd like to ignore. Now, you may use the following commands to run the tests. To run the tests ignoring ones that use #[ignore] attribute: cargo test To run only the ignored tests: cargo test -- --ignored To run both ignored and not ignored tests: cargo test -- --include-ignored","breadcrumbs":"Rust Tests » Controlling Tests » Controlling Tests","id":"66","title":"Controlling Tests"},"67":{"body":"","breadcrumbs":"Rust Tests » Test Organization » Test Organization","id":"67","title":"Test Organization"},"68":{"body":"The Rust community thinks about tests in terms of two main categories Unit Tests and Integration tests . Unit Tests Integration tests Small and Focused Large and Broad Internal External Tests One Module Tests Multiple Modules Can Test Private Interfaces Only Tests Public Interfaces Testing Internally such that external code may not possibly do Testing like some external code would do Lives inside src directory inside each module Lives in tests directory right outside src directory Module named tests inside each module with #[cfg(test)] Different files inside tests directory without #[cfg(test)] Unit Tests This annotation #[cfg(test)] tells Rust to only run this module on cargo test, not when you run cargo build. Thus, the functions following this annotation are never part of compiled result, hereby saving some space. Only used for unit tests, since integration tests are different directory they don't need to use it. An example worth noting: // Both code and unit test lives in the same file. pub fn public_fn() { ...\n} fn private_fn() { ...\n} // cfg stands for configuration\n#[cfg(test)]\nmod tests { // You'll use this line to pull code from outside this module but inside this file. use super::*; // A helper function fn helper() { ... } // Only this fn will be considered test, unlike above fn #[test] fn it_works() { // Can test both private and public functions. ... }\n} Integration tests For integration test, we create a new directory target beside the src directory. Each file in the tests directory is compiled as its own separate crate. Treating each integration test file as its own crate is useful to create separate scopes that are more like the way end users will be using your crate. However, this means files in the tests directory don’t share the same behavior as files in src do. The file structure of integration tests are: rust_project\n├── src\n| └── lib.rs\n├── target\n| ├── ...\n| └── ...\n├── tests\n| ├── common\n| | └── mod.rs // contains helper functions for tests\n| └── integration_test.rs // contains integration tests\n├── Cargo.lock\n└── Cargo.toml The helper functions lives inside file tests/common/mod.rs. This is a naming convention that rust uses to prevent functions inside this file not to appear in output logs of tests. Files in subdirectories of the tests directory don’t get compiled as separate crates or have sections in the test output. It looks something like this: pub fn setup() { // setup code specific to your library's tests would go here\n} The integration_test.rs looks similar to this: // Each file in the tests directory is a separate crate, so we need to bring our library into each test crate’s scope\nuse adder; // Bring the common functions\nmod common; // No need to add `#[cfg(test)]` attribute, since we are in the tests directory. #[test]\nfn it_adds_two() { common::setup(); assert_eq!(4, adder::add_two(2));\n} To run all the tests in a particular integration test file, use: cargo test --test We can't write integration tests for binary crates, the rust projects that only contains a src/main.rs file and doesn’t have a src/lib.rs file. The reason is that we cannot bring functions defined in the src/main.rs file into scope of files in tests directory with a use statement. Only library crates expose functions that other crates can use; binary crates are meant to be run on their own. Though, if a project contains both src/lib.rs and sr/main.rs, we can write integration tests for the important functionality inside src/lib.rs using the use keyword. If the important functionality works, the small amount of code in the src/main.rs file will work as well, and that small amount of code doesn’t need to be tested.","breadcrumbs":"Rust Tests » Test Organization » Test Types","id":"68","title":"Test Types"},"69":{"body":"You can write doc tests above the item, using the Examples with the docs comment /// like this: /// Adds one to the number given.\n///\n/// # Examples\n///\n/// ```\n/// let arg = 5;\n/// let answer = my_crate::add_one(arg);\n///\n/// assert_eq!(6, answer);\n/// ```\npub fn add_one(x: i32) -> i32 { x + 1\n} Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work. Doc-tests my_crate running 1 test\ntest src/lib.rs - add_one (line 5) ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s","breadcrumbs":"Rust Tests » Test Organization » Doc Tests","id":"69","title":"Doc Tests"},"7":{"body":"First, you aren’t allowed to use mut with constants. Constants aren’t just immutable by default—they’re always immutable. Constants can be declared in any scope, including the global scope, which makes them useful for values that many parts of code need to know about. Constants may be set only to a constant expression, not the result of a value that could only be computed at runtime. const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; Rust’s naming convention for constants is to use all uppercase with underscores between words. See the Rust Reference’s section on constant evaluation for more information on what operations can be used when declaring constants.","breadcrumbs":"Basics of Rust » Variables and Mutability » Constants","id":"7","title":"Constants"},"70":{"body":"The output logs section has three parts: Unit Tests Integration Tests Doc Tests","breadcrumbs":"Rust Tests » Test Organization » Tests Output Log","id":"70","title":"Tests Output Log"},"71":{"body":"","breadcrumbs":"Rust Tests » Test Driven Development » Test Driven Development","id":"71","title":"Test Driven Development"},"72":{"body":"Step 1: Don't write any source code, write tests first. Elaboration: It's okay to frame out production data structures and code patterns without tests; but they should contain no valid behavioral code. Use macros like unimplemented!() or todo!() (the latter is prefered) to hold places for code that doesn't exist yet. Step 2 (Red!): Run the test, and see the test getting failed, to prove that some changes in the code are required to pass the test. Elaboration: Always watch a test fail before you make it pass. If you don't see tests fail, it's easy to accidentally test code you're not writing and write code that has very little to do with the tests you're writing. Step 3 (Green!): Now, write code such that the failing test(s) passes. Elaboration: Don't write bad code just for fun, but also don't worry too much about slavishly following best practices in everything in this step, The important thing is to get the tests passing. If you have to commit atrocities to make the tests pass, go ahead and commit them. Step 3.5 (Refactor!): Once you see all the tests passing, refactor your atrocities. Do not add any new functionality to the production code, but rearrange (possibly redesign) it to be more elegant and pretty. As long as you don't add any new functionality, you don't have to worry about accidentally screwing something up: if you break the existing one, a test will fail. Step 4: Once the new code is refactored and beautiful, repeat the process from Step 1. Maxim from Justin Searls : \"Every line of production code must be demanded into existence by a failing test.\" Note: Any code that doesn't drive new code is an overhead and it causes the cost of refactoring. Refer here for more explanation. Postulated by Dan Wiebe","breadcrumbs":"Rust Tests » Test Driven Development » A Step by Step guide","id":"72","title":"A Step by Step guide"},"73":{"body":"This section contains commonly used code snippets that you can use in your projects.","breadcrumbs":"Useful Snippets » Useful Snippets","id":"73","title":"Useful Snippets"},"74":{"body":"Taking Input and performing type conversions // Always import when you want to take input from user\nuse std::io; fn main() { let mut input = String::new(); // read_line() returns io::Result, which is an enum // It acts as a match, either returns Ok() with value or prints error. io::stdin().read_line(&mut input) .expect(\"Failed to read line.\"); // Declaring a variable with same name again is called shadowing, mostly used for type conversions. // Trims whitespaces at start and end, `/n` (newline) and `/r/n` (windows carriage return and a newline) // parse() (returns Result), parses the string to a number, into the defined type let input: u32 = match guess.trim() .parse() .expect(\"Invalid Input\"); println!(\"Your input: {}\", input);\n} Generating Random Numbers (need external crate rand) // The Rng trait defines the functions that we'll use to generate random numbers\nuse rand::Rng; fn main() { // thread_rng() is a random number generator that is local to the current thread of execution and seeded by the operating system. // gen_range() is a function part of Rng and it generates a random number of range [inclusive, exclusive), 1..101 === 1..=100 let random_number = rand::thread_rng().gen_range(1..101);\n} A hack to know type definitions, is to write a wrong definition, and read the error from logs, they'll tell you the correct type. // FAIL: It doesn't have u32 as type, we wrote wrong type,\n// to find the correct one by reading error logs.\nlet f: u32 = File::open(\"hello.txt\"); To read the contents of a file into a string: use std::fs;\nuse std::io; fn read_username_from_file() -> Result { fs::read_to_string(\"hello.txt\")\n} To return the last character of first line in a text. fn last_char_of_first_line(text: &str) -> Option { text.lines() // Converts string slice into iterator of lines .next()? // Returns First element of iterator or None .chars() // Converts string slice into iteratot of characters .last() // Returns last element\n} Read command line arguments and store them into a vector. use std::env; fn main() { let args: Vec = env::args().collect(); println!(\"{:?}\", args);\n}","breadcrumbs":"Useful Snippets » Useful Operations » Useful operations","id":"74","title":"Useful operations"},"75":{"body":"","breadcrumbs":"Useful Snippets » Useful Functions » Useful Functions","id":"75","title":"Useful Functions"},"76":{"body":"If we call unwrap it will make sure that if the result was an error, it will terminate our program, if it is a success it will yield the contents of it’s results. We use it while taking input. io::stdin().read_line(&mut input).unwrap();","breadcrumbs":"Useful Snippets » Useful Functions » unwrap()","id":"76","title":"unwrap()"},"77":{"body":"This function removes all whitespaces from a string. let trimmed_string = input_string.trim();","breadcrumbs":"Useful Snippets » Useful Functions » trim()","id":"77","title":"trim()"},"78":{"body":"This function will parse the variable to different data type. We’ll only have to provide the data type to the variable and the parse() will call the required parsing function. The parse() returns a Result instead of parsed variable since it has a chance of failure. For Example, if we try to convert a string into floats which contains alphabets. So, we use unwrap() along with parse, telling the compiler to stop the execution in case of failure. let weight: f32 = input.trim().parse().unwrap();","breadcrumbs":"Useful Snippets » Useful Functions » parse()","id":"78","title":"parse()"},"79":{"body":"This function is used to handle the result and error variables. If the result is ok, then it will return the unwrapped result, if error happens, it will return the error passed in the or function. There is a question mark in the end, which is a shorthand for match block, if we don’t use question mark, we’ll have to still use the match block with or function. // Traditional Method\nmatch str::from_utf8(buf) { Ok(request) => {}, Err(_) => return Err(ParseError::InvalidEncoding)\n} // Using or function\nstr::from_utf8(buf).or(Err(ParseError::InvalidEncoding))?;","breadcrumbs":"Useful Snippets » Useful Functions » or()","id":"79","title":"or()"},"8":{"body":"You can declare a new variable with the same name as a previous variable, it's called shadowing . fn main() { let x = 5; // Binding x to value 5 let x = x + 1; // Declaring a variable named x again, thereby performing shadowing { let x = x * 2; // Shadowing x again, but within the scope println!(\"The value of x in the inner scope is: {}\", x); } println!(\"The value of x is: {}\", x);\n} // Output:\n// The value of x in the inner scope is: 12\n// The value of x is: 6 In shadowing, we can make a few transformations on a value but have the variable be immutable, unlike let mut. You can perform type conversions and still keep the same name. // Shadowing compiles without errors\nlet spaces = \" \";\nlet spaces = spaces.len(); // It's not possible to change type of a mutable Variables\nlet mut spaces = \" \";\nspaces = spaces.len(); // This line won't compile","breadcrumbs":"Basics of Rust » Variables and Mutability » Shadowing","id":"8","title":"Shadowing"},"80":{"body":"","breadcrumbs":"Useful Snippets » Useful Macros » Useful Macros","id":"80","title":"Useful Macros"},"81":{"body":"Indicates unfinished code. This can be useful if you are prototyping and are just looking to have your code typecheck. fn untested_function() { // let's not worry about implementing untested_function() for now todo!();\n}","breadcrumbs":"Useful Snippets » Useful Macros » todo!()","id":"81","title":"todo!()"},"82":{"body":"This is a debug macro, we can pass any variable inside it to see debug logs in console. let my_variable = 12.0;\ndbg!(my_variable)","breadcrumbs":"Useful Snippets » Useful Macros » dbg!()","id":"82","title":"dbg!()"},"83":{"body":"This section contains the tools that are not the part of official Rust and are created by the dev team at MASQ for the development of the project.","breadcrumbs":"MASQ Rust Tools » MASQ Rust Tools","id":"83","title":"MASQ Rust Tools"},"84":{"body":"The following sections contain reference material you may find useful in your Rust journey.","breadcrumbs":"Appendix » Appendix","id":"84","title":"Appendix"},"85":{"body":"For Linux and macOS: Download the rustup and install it using: curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh You may need to install C compiler, because it'll give you a linker and also because some common Rust packages depend on C code: For macOS: xcode-select --install For Linux: Linux users should generally install GCC or Clang, according to their distribution’s documentation. For example, if you use Ubuntu, you can install the build-essential package. For Windows: People should follow these instructions to install Rust. Also, install Build Tools for Visual Studio 2019 .","breadcrumbs":"Appendix » Installaiton » Installation","id":"85","title":"Installation"},"86":{"body":"To check version or to verify that Rust is installed properly: rustc --version Update Rust: rustup update Uninstall Rust and rustup: rustup self uninstall Open Rust Docs locally on browser: rustup doc List the rustup toolchain rustup toolchain list Install rustup toolchain rustup toolchain install nightly-x86_64-unknown-linux-gnu Use nightly on a specific project (after this all the rustc and cargo commands will use nightly): cd ~/projects/needs-nightly\nrustup override set nightly","breadcrumbs":"Appendix » Basic Rust Commands » Basic Rust Commands","id":"86","title":"Basic Rust Commands"},"87":{"body":"Rust code uses snake case as the conventional style for function and variable names, in which all letters are lowercase and underscores separate words. Rust style is to indent with four spaces, not a tab. Naming convention for constants is to use all uppercase with underscores between words. const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; The names of static variables are in SCREAMING_SNAKE_CASE by convention. The names of a type in rust uses CamelCase. For example, consider T in Result. Documentation Comments use ///, and is converted to HTML, unlike simple comments //. So simply add the documentation above the items. Learn more .","breadcrumbs":"Appendix » Conventions in Rust » Conventions in Rust","id":"87","title":"Conventions in Rust"},"88":{"body":"Always remember that, programmers are interested in knowing how to use your crate as opposed to how your crate is implemented . You'll be using /// for documentation. Notice that you'll need to add docs comment above your item, not inside the {}. Using this///, we're documenting the item that follows it. /// Adds one to the number given.\n///\n/// # Examples\n///\n/// ```\n/// let arg = 5;\n/// let answer = my_crate::add_one(arg);\n///\n/// assert_eq!(6, answer);\n/// ```\npub fn add_one(x: i32) -> i32 { x + 1\n} You can use cargo doc to generate the docs as HTML, and can open it through target/doc directory or by running the command cargo doc --open. Just like Examples as shown in the above code, you can use other sections too. Here are other commonly used sections . Running cargo test will run the code examples in your documentation as tests! In case we change the function, the test will panic, and we'll require to update the docs to make it work. Doc-tests my_crate running 1 test\ntest src/lib.rs - add_one (line 5) ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s To document a whole crate, //! is used in the crate root file (src/lib.rs). Using this //!, we’re documenting the item that contains this comment. //! # My Crate\n//!\n//! `my_crate` is a collection of utilities to make performing certain\n//! calculations more convenient.","breadcrumbs":"Appendix » Documentation » Documentation","id":"88","title":"Documentation"},"89":{"body":"It is the package manager for rust. It does the following things: Manages Rust Projects Download packages or dependencies Build both your code and it's dependencies Check Cargo Installation or Version: cargo --version Create New Boilerplate Project: cargo new {project-name} Create Boilerplate Binary Project (only main.rs): cargo new {project-name} --bin Create Boilerplate Library Project (for writing tests, contains lib.rs): cargo new {project-name} --lib Help for Cargo new: cargo new --help Build a Project (Installing Dependencies and Compiling): cargo build Run a Project (build + run): cargo run Running through executable binary: ./target/debug/hello_cargo # or .\\target\\debug\\hello_cargo.exe on Windows Compile but don't generate executable (it's just faster than cargo build): cargo check Build for releases (it's optimized and binaries lives in target/release): cargo build --release To generate docs, you can access them through target/doc: cargo doc To generate docs of all dependencies of your project and run them in browser: cargo doc --open We can install cargo-expand to use cargo libraries system wide. cargo install cargo-expand The cargo expand command cargo expand To install a package from crates.io into your system, you may use this command (only binary crates can be installed and ensure that $HOME/.cargo/bin is in your $PATH): cargo install To list out custom cargo commands: cargo --list To automatically format code: cargo fmt To automatically fix warnings (fixable by compiler): cargo fix To Lint your code: cargo clippy The opt-level The opt-level setting controls the number of optimizations Rust will apply to your code, with a range of 0 to 3. // Filename: Cargo.toml\n[profile.dev]\nopt-level = 0 // Less Optimization, less compiling time [profile.release]\nopt-level = 3 // More Optimizations, more compiling time You can override any default setting by adding a different value for it in Cargo.toml. To override, you can add these two lines below the above lines. // Filename: Cargo.toml\n[profile.dev]\nopt-level = 1 To learn more about customizing profiles, you can read the docs here . For more information about Cargo, check out its documentation .","breadcrumbs":"Appendix » Cargo » Cargo","id":"89","title":"Cargo"},"9":{"body":"Shadowing Mutable Variables Transform a variable but still keep it as immutable. We only make transformations after making variable mutable. We need to declare variable with let everytime we perform shadowing. We need to declare variable with only let mut once. It is possible to change the type of variable and keep the same name. It is not possible to change the type of mutable variable.","breadcrumbs":"Basics of Rust » Variables and Mutability » Shadowing Vs Mutable Variables","id":"9","title":"Shadowing Vs Mutable Variables"},"90":{"body":"When you use, cargo new, Rust adds a bit of metadata to your cargo.toml about edition under [package]. edition = \"2021\" Here are the details about editions: Edition Description 2015 If no edition is specified, your project is using this edition. 2018 The Rust Book is written using this edition. 2021 This is the latest release at the moment. Rust has a 6-week release cycle. Rust releases small changes very often rather than big changes less often. Every 2-3 years, Rust team releases a new edition. Rust supports backward compatibility, it means even if you update your Rust software your old code will still compile. Here are the following cases you may consider: Edition Dependency Will Compile? 2015 2018 :white_check_mark: 2018 2015 :white_check_mark: For more details, the Edition Guide is a complete book about editions that enumerates the differences between editions and explains how to automatically upgrade your code to a new edition via cargo fix.","breadcrumbs":"Appendix » Editions in Rust » Editions in Rust","id":"90","title":"Editions in Rust"}},"length":91,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{".":{"1":{"0":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"=":{"9":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":1,"docs":{"44":{"tf":1.0}}},"2":{"7":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"6":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"8":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"8":{".":{"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"1":{"1":{"1":{"1":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"57":{"tf":2.8284271247461903},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"o":{"7":{"7":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{".":{".":{"2":{"0":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"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":{"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":{}},"x":{"0":{"1":{"2":{"3":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"1":{",":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"1":{"0":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"4":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":2,"docs":{"12":{"tf":1.0},"54":{"tf":1.7320508075688772}}},"=":{"1":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"5":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{".":{"=":{"1":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"df":9,"docs":{"19":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":2.8284271247461903},"44":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"1":{"df":2,"docs":{"44":{"tf":1.0},"50":{"tf":1.0}}},"2":{".":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}},"df":0,"docs":{}},"7":{".":{"0":{".":{"0":{".":{"1":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":4,"docs":{"35":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"60":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"3":{"5":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":1,"docs":{"52":{"tf":1.0}}},"4":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.7320508075688772},"60":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"5":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}},"8":{"df":1,"docs":{"14":{"tf":1.0}}},"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"7":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"9":{",":{"2":{"3":{"4":{",":{"9":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"0":{",":{"3":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":28,"docs":{"11":{"tf":2.449489742783178},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"37":{"tf":2.449489742783178},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"52":{"tf":3.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"2":{",":{"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"5":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"8":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"9":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"19":{"tf":1.0},"52":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"14":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"57":{"tf":1.0}}},"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}}},"df":22,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"3":{",":{"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"=":{"7":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"11":{"tf":1.0}}},"5":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"57":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951}}},"4":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.6457513110645907},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"4":{",":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"48":{"tf":2.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":14,"docs":{"11":{"tf":1.0},"12":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"57":{"tf":2.6457513110645907},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0}}},"5":{",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"0":{"0":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":7,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":2.6457513110645907},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}}},"7":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":22,"docs":{"12":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"48":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"57":{"tf":3.1622776601683795},"58":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"69":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}},"6":{".":{"4":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"11":{"tf":1.0}}},"4":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"5":{"7":{",":{"2":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"49":{"tf":1.0}}},"df":10,"docs":{"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"35":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"6":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"5":{"df":1,"docs":{"55":{"tf":1.0}}},"df":5,"docs":{"37":{"tf":1.7320508075688772},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"8":{"df":7,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}},"9":{"1":{"5":{",":{"7":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"37":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":4,"docs":{"37":{"tf":2.449489742783178},"40":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.872983346207417}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}},"e":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"x":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"a":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"j":{"df":1,"docs":{"57":{"tf":1.0}}}},"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{".":{".":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"58":{"tf":1.0}},"i":{"df":1,"docs":{"58":{"tf":1.7320508075688772}},"l":{"df":2,"docs":{"30":{"tf":1.0},"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"v":{"df":17,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"2":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"52":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":11,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"2":{"tf":1.7320508075688772},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":3.605551275463989},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":2.8284271247461903},"89":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"d":{"df":4,"docs":{"11":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":3,"docs":{"2":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}},"/":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":2.6457513110645907},"69":{"tf":1.0},"88":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"61":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"44":{"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":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.23606797749979},"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":26,"docs":{"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"(":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"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":2.8284271247461903},"68":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"46":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"df":12,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"13":{"tf":1.0},"56":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"53":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}}}},"df":1,"docs":{"57":{"tf":1.7320508075688772}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"49":{"tf":2.0}}}}}},"o":{"df":1,"docs":{"50":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"3":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"b":{"a":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"a":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}}},"o":{"c":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"53":{"tf":2.0}}},"df":0,"docs":{},"w":{"df":23,"docs":{"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":3.7416573867739413},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.8284271247461903},"65":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"37":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}},"n":{"df":6,"docs":{"3":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":15,"docs":{"11":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"35":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"51":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},">":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":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":{"59":{"tf":1.7320508075688772}}}},"n":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"t":{"df":8,"docs":{"25":{"tf":1.4142135623730951},"39":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"46":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"29":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"58":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"84":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.0},"50":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.0},"42":{"tf":1.7320508075688772},"55":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"60":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"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":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"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":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.7320508075688772},"48":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":5,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"g":{"df":5,"docs":{"52":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.4142135623730951},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"65":{"tf":1.0}}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"m":{"df":6,"docs":{"18":{"tf":1.4142135623730951},"37":{"tf":2.0},"57":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"12":{"tf":3.0},"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"k":{"df":6,"docs":{"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"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":{},"q":{"!":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"68":{"tf":1.0}}},"6":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"7":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"1":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"63":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"34":{"tf":3.4641016151377544},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"59":{"tf":3.3166247903554},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"23":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"52":{"tf":1.0}}}}},"t":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"62":{"tf":1.0}}},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"33":{"tf":1.0},"34":{"tf":2.0},"62":{"tf":2.8284271247461903},"65":{"tf":3.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"b":{"'":{"a":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"72":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"37":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"i":{"c":{"df":4,"docs":{"26":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"86":{"tf":1.0}}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":7,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"57":{"tf":2.6457513110645907},"63":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0}}}}},"df":6,"docs":{"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":13,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":3,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"30":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.7320508075688772},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}},"w":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":2.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"52":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"72":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":15,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"30":{"tf":1.0},"90":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"89":{"tf":2.0}}}}},"d":{"df":2,"docs":{"57":{"tf":2.23606797749979},"8":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"t":{"df":5,"docs":{"11":{"tf":2.23606797749979},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"62":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"3":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.7320508075688772}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"54":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"l":{"df":7,"docs":{"11":{"tf":1.0},"18":{"tf":1.4142135623730951},"25":{"tf":1.0},"34":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":12,"docs":{"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":2.23606797749979},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"58":{"tf":2.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"12":{"tf":1.0},"49":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":1,"docs":{"60":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":2,"docs":{"53":{"tf":3.0},"61":{"tf":1.0}}}},"df":2,"docs":{"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"51":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"19":{"tf":3.1622776601683795},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"g":{"df":4,"docs":{"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.6457513110645907}}},"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":1.0},"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":2.449489742783178}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"50":{"tf":1.0},"60":{"tf":1.4142135623730951}},"s":{"(":{"9":{"5":{".":{".":{"1":{"0":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"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":0,"docs":{},"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":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"/":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"44":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"|":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"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":0,"docs":{},"s":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"s":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"52":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":34,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":3.3166247903554},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":3.1622776601683795},"53":{"tf":3.7416573867739413},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"58":{"tf":3.7416573867739413},"59":{"tf":3.1622776601683795},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":3.1622776601683795},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":13,"docs":{"12":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"68":{"tf":1.0}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":11,"docs":{"16":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"c":{"df":2,"docs":{"13":{"tf":1.0},"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":3.3166247903554},"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"46":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0}}}}}}},"df":14,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.23606797749979},"46":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":3.3166247903554},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":5.291502622129181},"90":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":3.3166247903554},"39":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"52":{"tf":1.4142135623730951},"53":{"tf":3.1622776601683795},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.0},"68":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"14":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"58":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":12,"docs":{"14":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":3.605551275463989},"57":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"35":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":2.23606797749979}}}}}}},"df":1,"docs":{"68":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":17,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"65":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":3.0},"19":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"57":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"46":{"tf":2.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"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":{"2":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":2.23606797749979},"26":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}},"r":{"df":2,"docs":{"14":{"tf":1.0},"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"24":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"47":{"tf":1.0},"52":{"tf":6.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":3.7416573867739413}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":41,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":4.69041575982343},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":3.605551275463989},"48":{"tf":1.7320508075688772},"49":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"51":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.0},"54":{"tf":2.449489742783178},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":4.58257569495584},"59":{"tf":1.4142135623730951},"60":{"tf":2.0},"62":{"tf":5.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":3.7416573867739413},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"37":{"tf":3.4641016151377544}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"14":{"tf":2.23606797749979},"20":{"tf":1.0},"38":{"tf":2.0},"40":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"df":1,"docs":{"34":{"tf":1.0}}},"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"57":{"tf":3.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"21":{"tf":1.0},"26":{"tf":2.6457513110645907},"53":{"tf":1.0},"62":{"tf":1.0}}},"m":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"74":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":8,"docs":{"35":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"4":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":3.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.0},"63":{"tf":2.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"44":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":32,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"31":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":2.449489742783178},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":3.4641016151377544},"52":{"tf":1.4142135623730951},"53":{"tf":3.605551275463989},"55":{"tf":2.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"90":{"tf":1.0}}},"x":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":2,"docs":{"42":{"tf":1.0},"55":{"tf":3.7416573867739413}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"7":{"tf":1.0}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"35":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"56":{"tf":1.0}},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"2":{"tf":1.0},"54":{"tf":3.0},"58":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"4":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"s":{"(":{"1":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"53":{"tf":1.0}}},"_":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"4":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"82":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":2.0},"7":{"tf":3.0},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"20":{"tf":1.0},"50":{"tf":1.0}}}}}}},"df":3,"docs":{"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"87":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"62":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":25,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":2.0},"55":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"s":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":3,"docs":{"19":{"tf":1.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":6,"docs":{"17":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":5,"docs":{"42":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":2.0}}}},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"t":{"df":8,"docs":{"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"23":{"tf":4.123105625617661},"24":{"tf":1.7320508075688772},"25":{"tf":2.8284271247461903},"26":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"63":{"tf":2.6457513110645907}}},"y":{">":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"37":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":4.69041575982343},"54":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":2.6457513110645907},"58":{"tf":1.7320508075688772},"59":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"47":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":10,"docs":{"41":{"tf":1.0},"42":{"tf":5.196152422706632},"44":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":3.605551275463989},"68":{"tf":3.0},"74":{"tf":1.0},"88":{"tf":2.23606797749979},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"’":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":31,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.0},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":7,"docs":{"33":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"89":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":3.605551275463989}}}}}}}}}},"df":0,"docs":{}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.8284271247461903},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.7320508075688772}}}},"l":{"df":3,"docs":{"31":{"tf":2.8284271247461903},"32":{"tf":1.0},"50":{"tf":2.23606797749979}}}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"a":{"df":35,"docs":{"10":{"tf":1.7320508075688772},"11":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":2.6457513110645907},"23":{"tf":2.449489742783178},"24":{"tf":2.23606797749979},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":2.6457513110645907},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"35":{"tf":2.8284271247461903},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":5.477225575051661},"54":{"tf":3.0},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"58":{"tf":2.449489742783178},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":2.0},"57":{"tf":1.0}}}},"b":{"df":0,"docs":{},"g":{"!":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"3":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"34":{"tf":1.7320508075688772},"82":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"42":{"tf":1.0},"50":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"34":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":15,"docs":{"12":{"tf":2.6457513110645907},"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}},"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":{"63":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.4142135623730951},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":2.6457513110645907},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"89":{"tf":1.0}},"—":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"42":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":3.4641016151377544},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"65":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"28":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":2.23606797749979},"52":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"14":{"tf":1.0},"53":{"tf":4.58257569495584},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"34":{"tf":1.7320508075688772},"62":{"tf":3.0},"63":{"tf":2.8284271247461903}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":2.23606797749979}}}}}}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"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":{"53":{"tf":1.7320508075688772}}}},"r":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":1,"docs":{"12":{"tf":1.0}},"r":{"df":2,"docs":{"12":{"tf":1.0},"57":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"40":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"v":{"df":5,"docs":{"0":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"50":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":2,"docs":{"27":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"2":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"42":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"44":{"tf":2.6457513110645907},"62":{"tf":1.0},"68":{"tf":3.605551275463989},"88":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}},"d":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"55":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"51":{"tf":1.7320508075688772},"59":{"tf":2.449489742783178},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"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":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"42":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"60":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"df":5,"docs":{"69":{"tf":2.23606797749979},"70":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.23606797749979}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"54":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":1.0}}}}}}}},"df":3,"docs":{"27":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}}},"g":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.8284271247461903}}},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":15,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.449489742783178},"89":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":6,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"34":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":4,"docs":{"20":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"n":{"df":2,"docs":{"64":{"tf":1.0},"71":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":4.69041575982343},"54":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"48":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772}}}},"df":3,"docs":{"55":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":20,"docs":{"14":{"tf":2.0},"22":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.449489742783178}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":3,"docs":{"31":{"tf":1.0},"6":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"y":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":2.0},"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":2.0},"90":{"tf":3.7416573867739413}}}}},"df":3,"docs":{"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"58":{"tf":1.0}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"49":{"tf":1.0},"60":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"d":{"df":5,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"35":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"46":{"tf":1.0}}}}}}},"d":{"df":16,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"27":{"tf":1.0},"30":{"tf":1.0},"39":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":16,"docs":{"34":{"tf":1.0},"35":{"tf":5.0990195135927845},"37":{"tf":2.6457513110645907},"39":{"tf":1.7320508075688772},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"53":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"35":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}}},"v":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"74":{"tf":1.0}}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":2.8284271247461903}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}}},"q":{"df":1,"docs":{"63":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":5,"docs":{"12":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":2.0},"65":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"_":{"df":2,"docs":{"60":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":2,"docs":{"46":{"tf":3.1622776601683795},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"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":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"65":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"31":{"tf":1.0}}},"r":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":17,"docs":{"14":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"46":{"tf":5.291502622129181},"50":{"tf":1.7320508075688772},"53":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}},"t":{"c":{"df":5,"docs":{"34":{"tf":1.0},"4":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":15,"docs":{"18":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":34,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":2.6457513110645907},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"(":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"52":{"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":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":4,"docs":{"19":{"tf":1.0},"2":{"tf":1.0},"54":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":2.0}}},"df":0,"docs":{}}},"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":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"61":{"tf":1.0},"65":{"tf":2.23606797749979}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"90":{"tf":1.0}}}},"n":{"df":3,"docs":{"52":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"62":{"tf":1.0}}}},"s":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":3.1622776601683795},"18":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":3.4641016151377544},"46":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":3.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"7":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":2.449489742783178},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}},"f":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"3":{"2":{"df":3,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":27,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"74":{"tf":1.0},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"78":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"37":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":5,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":2.0},"57":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":4,"docs":{"46":{"tf":3.872983346207417},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"w":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":10,"docs":{"33":{"tf":1.0},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{":":{"/":{"/":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"d":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}}},"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"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":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"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":{},"e":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"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":{"46":{"tf":1.0}}}}},"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"?":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":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":{"46":{"tf":2.449489742783178},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"46":{"tf":4.0},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":4.242640687119285},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"3":{"tf":1.0},"44":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":2.0}}}}}}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"n":{"d":{"df":9,"docs":{"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"48":{"tf":1.0},"60":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"(":{"&":{"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"29":{"tf":1.4142135623730951},"50":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"<":{"'":{"a":{">":{"(":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":24,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"21":{"tf":1.0},"37":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}}},"x":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"13":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"6":{"4":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":5,"docs":{"11":{"tf":2.0},"25":{"tf":1.0},"48":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}},"w":{"df":2,"docs":{"17":{"tf":1.0},"37":{"tf":1.0}}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":2.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":{},"t":{"df":1,"docs":{"59":{"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":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":38,"docs":{"14":{"tf":2.0},"15":{"tf":3.0},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":3.0},"28":{"tf":2.23606797749979},"29":{"tf":1.7320508075688772},"3":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":3.605551275463989},"35":{"tf":2.23606797749979},"37":{"tf":3.7416573867739413},"42":{"tf":3.605551275463989},"44":{"tf":2.449489742783178},"46":{"tf":3.7416573867739413},"48":{"tf":2.6457513110645907},"49":{"tf":4.47213595499958},"50":{"tf":3.605551275463989},"51":{"tf":1.0},"52":{"tf":4.358898943540674},"53":{"tf":5.291502622129181},"54":{"tf":3.0},"55":{"tf":2.8284271247461903},"57":{"tf":3.3166247903554},"58":{"tf":3.1622776601683795},"59":{"tf":5.0},"60":{"tf":2.8284271247461903},"61":{"tf":3.1622776601683795},"62":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772},"65":{"tf":2.8284271247461903},"68":{"tf":2.8284271247461903},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":2.23606797749979},"61":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"52":{"tf":2.0},"61":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":31,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"(":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"_":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"r":{"c":{"df":2,"docs":{"52":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"62":{"tf":1.0},"89":{"tf":1.0}}}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":3,"docs":{"35":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"26":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"42":{"tf":2.6457513110645907},"44":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"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":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"14":{"tf":1.0},"31":{"tf":1.0}}},"1":{"df":1,"docs":{"42":{"tf":1.0}}},"2":{"df":1,"docs":{"42":{"tf":1.0}}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":47,"docs":{"13":{"tf":1.0},"15":{"tf":4.0},"16":{"tf":2.23606797749979},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":3.1622776601683795},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"34":{"tf":4.242640687119285},"35":{"tf":2.449489742783178},"37":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"45":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":2.6457513110645907},"50":{"tf":3.4641016151377544},"51":{"tf":1.0},"52":{"tf":4.358898943540674},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.449489742783178},"58":{"tf":3.872983346207417},"59":{"tf":2.8284271247461903},"60":{"tf":2.6457513110645907},"61":{"tf":4.242640687119285},"62":{"tf":4.242640687119285},"63":{"tf":2.449489742783178},"65":{"tf":3.872983346207417},"68":{"tf":3.3166247903554},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"87":{"tf":1.0},"88":{"tf":1.0}},"’":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"3":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"57":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"35":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.4641016151377544},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":2.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"74":{"tf":2.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":11,"docs":{"3":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}},"n":{"df":7,"docs":{"32":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"26":{"tf":2.0}}}}}}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"58":{"tf":2.23606797749979},"7":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"86":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":11,"docs":{"23":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":9,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0}}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"32":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"_":{"1":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":2,"docs":{"12":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"34":{"tf":1.0},"57":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"33":{"tf":1.0},"42":{"tf":1.4142135623730951}}}},"w":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"54":{"tf":1.0},"57":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"60":{"tf":2.23606797749979},"65":{"tf":2.449489742783178}}}}},"i":{":":{":":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"45":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"d":{"df":4,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.0}}},"l":{"df":7,"docs":{"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"46":{"tf":3.0},"54":{"tf":2.8284271247461903},"79":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":2.23606797749979},"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":2,"docs":{"40":{"tf":1.0},"63":{"tf":1.7320508075688772}}}},"df":2,"docs":{"40":{"tf":3.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"3":{"tf":1.0},"35":{"tf":2.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"c":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":3.1622776601683795},"23":{"tf":2.23606797749979},"24":{"tf":2.0},"26":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":2.6457513110645907},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}},"v":{"df":0,"docs":{},"y":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":3.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":3.3166247903554},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"(":{"&":{"(":{"*":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"[":{"0":{".":{".":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"14":{"tf":2.8284271247461903},"29":{"tf":1.0},"3":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"66":{"tf":2.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":2.0}}}}}},"n":{"c":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":27,"docs":{"14":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"30":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":4.69041575982343}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"df":8,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.8284271247461903},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.449489742783178},"44":{"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":{}}}}}},"w":{"'":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{",":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}},"s":{":":{"/":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"i":{".":{"df":1,"docs":{"58":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":2.0},"15":{"tf":2.8284271247461903},"19":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":4.0},"39":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":3.3166247903554},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":4.0},"58":{"tf":4.0},"59":{"tf":2.0},"60":{"tf":2.449489742783178},"61":{"tf":2.6457513110645907},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"11":{"tf":1.0},"35":{"tf":1.7320508075688772}}},"d":{"=":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":2,"docs":{"57":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951}},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"63":{"tf":1.0}},"i":{"df":4,"docs":{"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":3.0}}}}}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":2.6457513110645907},"58":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.3166247903554},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"55":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"39":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":4.123105625617661},"54":{"tf":1.0},"58":{"tf":2.6457513110645907},"6":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"(":{"&":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":12,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"48":{"tf":2.23606797749979},"49":{"tf":3.4641016151377544},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"62":{"tf":1.4142135623730951},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"14":{"tf":1.0},"25":{"tf":2.23606797749979},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":5.385164807134504},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.3166247903554},"53":{"tf":3.605551275463989},"54":{"tf":2.6457513110645907},"55":{"tf":3.1622776601683795},"57":{"tf":1.4142135623730951},"58":{"tf":3.1622776601683795},"59":{"tf":5.291502622129181},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":3.7416573867739413},"63":{"tf":3.605551275463989},"65":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"39":{"tf":1.0}}}}}}},"df":2,"docs":{"23":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0}}}},"s":{"df":1,"docs":{"52":{"tf":1.0}},"s":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}}},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}},"h":{"df":1,"docs":{"57":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"d":{"df":11,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"23":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"53":{"tf":2.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"54":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":3.0}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"19":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"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":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":4,"docs":{"14":{"tf":1.0},"50":{"tf":2.0},"74":{"tf":2.8284271247461903},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":26,"docs":{"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":2.0},"59":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":2.23606797749979},"68":{"tf":2.8284271247461903},"82":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"3":{"tf":1.4142135623730951},"85":{"tf":2.8284271247461903},"86":{"tf":1.7320508075688772},"89":{"tf":2.6457513110645907}}},"n":{"c":{"df":8,"docs":{"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":2.8284271247461903}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":17,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":8,"docs":{"11":{"tf":2.6457513110645907},"13":{"tf":1.0},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"63":{"tf":1.0},"68":{"tf":3.4641016151377544},"70":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}},"f":{"a":{"c":{"df":5,"docs":{"42":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"58":{"tf":2.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}}}},"n":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"1":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"23":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}}}}},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"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":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":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":{"42":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"v":{"4":{"(":{"1":{"2":{"7":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{":":{":":{"1":{"df":1,"docs":{"35":{"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":2,"docs":{"35":{"tf":2.449489742783178},"46":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":3.1622776601683795}}}}}}}},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"11":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"63":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"'":{"df":26,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":2.6457513110645907},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"l":{"df":18,"docs":{"12":{"tf":1.0},"14":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"_":{"a":{"d":{"d":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"68":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"7":{"5":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"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":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":15,"docs":{"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":3.3166247903554},"46":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"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":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":5.744562646538029},"54":{"tf":1.0},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}}}},"’":{"df":14,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.0},"76":{"tf":1.0}}}},"’":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}},"s":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}},"k":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"z":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"40":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":9,"docs":{"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"63":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"15":{"tf":1.4142135623730951},"28":{"tf":1.0},"42":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.8284271247461903},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":2.23606797749979}}}}}}},"n":{"d":{"df":9,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"10":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"60":{"tf":2.23606797749979}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":20,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"23":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"&":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":3,"docs":{"35":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":3.0}}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"74":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}},"r":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"21":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"k":{"df":3,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"58":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"1":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0}}}},"v":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"65":{"tf":2.0}}}},"n":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"60":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"21":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"t":{"'":{"df":10,"docs":{"14":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0}}},"df":6,"docs":{"33":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"57":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"12":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.7320508075688772},"58":{"tf":1.0},"89":{"tf":2.23606797749979}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"68":{"tf":1.0},"89":{"tf":1.0}}}},"df":3,"docs":{"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"89":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"y":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"55":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"30":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":2.0},"47":{"tf":1.0},"50":{"tf":8.246211251235321},"51":{"tf":2.0},"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"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":{"(":{"8":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"27":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":15,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.0},"8":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"k":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}}},"t":{"df":1,"docs":{"89":{"tf":1.0}}},"u":{"df":0,"docs":{},"x":{"df":3,"docs":{"3":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"61":{"tf":2.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":9,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"55":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":2.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"50":{"tf":3.0},"52":{"tf":1.0},"68":{"tf":2.0},"89":{"tf":1.0}}}}},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"74":{"tf":1.0},"86":{"tf":1.0}}},"t":{"df":7,"docs":{"2":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"2":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"50":{"tf":2.8284271247461903},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":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":{"50":{"tf":2.0},"51":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"df":13,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"19":{"tf":4.58257569495584},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"w":{"df":3,"docs":{"12":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}}}}}},"m":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"o":{"df":2,"docs":{"3":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}}}},"df":12,"docs":{"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":8.12403840463596},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"3":{"tf":2.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":34,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":2.0},"31":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":3.1622776601683795},"48":{"tf":2.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":4.123105625617661},"54":{"tf":5.291502622129181},"55":{"tf":1.4142135623730951},"57":{"tf":3.0},"58":{"tf":2.0},"59":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.7320508075688772},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"e":{"df":31,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":2.6457513110645907},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"76":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"3":{"tf":1.0},"54":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"65":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"31":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"|":{"(":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"0":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":5,"docs":{"38":{"tf":1.0},"40":{"tf":2.23606797749979},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":6,"docs":{"3":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"q":{"df":2,"docs":{"0":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":16,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":5.0990195135927845},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"46":{"tf":3.3166247903554},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":6.0},"60":{"tf":2.0},"62":{"tf":3.605551275463989},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"84":{"tf":1.0}}}}},"h":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"x":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"33":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":3,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}},"i":{"df":18,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"2":{"tf":2.6457513110645907},"20":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.7320508075688772},"26":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":3.4641016151377544},"54":{"tf":2.23606797749979},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"62":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"31":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"58":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"65":{"tf":2.23606797749979}},"e":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"1":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"b":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.1622776601683795}}}}}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"34":{"tf":4.0},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":3.1622776601683795},"50":{"tf":2.6457513110645907},"52":{"tf":2.23606797749979},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"58":{"tf":2.449489742783178},"59":{"tf":2.0},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"79":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"58":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":2.0},"60":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"54":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"60":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"(":{"c":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"42":{"tf":3.0},"44":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"df":4,"docs":{"53":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"41":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":6,"docs":{"41":{"tf":1.0},"42":{"tf":5.0990195135927845},"44":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"46":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":3.605551275463989},"24":{"tf":1.0},"26":{"tf":3.4641016151377544},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":3.1622776601683795},"54":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":17,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"62":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":16,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":2.449489742783178},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":4.47213595499958},"54":{"tf":1.0},"58":{"tf":3.1622776601683795},"6":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"34":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0}}}},"df":24,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":3.3166247903554},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.6457513110645907},"42":{"tf":1.0},"46":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.8284271247461903},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":4.123105625617661},"59":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"r":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"53":{"tf":1.4142135623730951}}}}},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":30,"docs":{"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":1.7320508075688772},"42":{"tf":3.7416573867739413},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772},"62":{"tf":3.872983346207417},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.7320508075688772},"87":{"tf":2.0},"89":{"tf":2.0},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"52":{"tf":1.0},"74":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":31,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.449489742783178},"52":{"tf":3.1622776601683795},"53":{"tf":2.449489742783178},"54":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.0},"7":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"57":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"23":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":3.1622776601683795},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}},"x":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":28,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.0},"8":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"21":{"tf":1.0},"39":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"86":{"tf":2.23606797749979}}}}}}},"l":{"df":1,"docs":{"53":{"tf":4.242640687119285}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}},"e":{"df":13,"docs":{"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"57":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"14":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"h":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0}}},"i":{"c":{"df":7,"docs":{"44":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"'":{".":{"'":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":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":{"50":{"tf":1.0}}}}},"w":{"df":21,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0}}}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":2.0},"35":{"tf":3.1622776601683795},"37":{"tf":1.0},"58":{"tf":1.4142135623730951}},"’":{"df":1,"docs":{"35":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":4.123105625617661},"19":{"tf":2.449489742783178},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":5.291502622129181},"57":{"tf":3.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":6,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":2.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.449489742783178},"60":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"55":{"tf":1.0}}},".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}}},"df":4,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":4.358898943540674}},"’":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"c":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"2":{"tf":1.0},"30":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"55":{"tf":2.23606797749979}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":2,"docs":{"46":{"tf":1.0},"60":{"tf":1.0}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.7320508075688772}},"f":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}},"t":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"48":{"tf":1.0}}}},"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"26":{"tf":1.0},"58":{"tf":1.0},"72":{"tf":1.0}}}},"df":6,"docs":{"46":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"74":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"l":{"d":{"df":4,"docs":{"39":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.4142135623730951},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":11,"docs":{"12":{"tf":1.4142135623730951},"18":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":35,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":2.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903},"53":{"tf":3.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":2.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"66":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":2.23606797749979},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"r":{"df":21,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":3.4641016151377544},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"89":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":1.0},"89":{"tf":2.0}}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"63":{"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":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":6,"docs":{"35":{"tf":2.449489742783178},"37":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"16":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"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":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}}},"d":{"df":1,"docs":{"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":2.23606797749979},"37":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"i":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"34":{"tf":1.0},"59":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"46":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":4,"docs":{"19":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"65":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"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":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.0}}}}}}}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":15,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"59":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"27":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":14,"docs":{"14":{"tf":2.0},"21":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"52":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":3,"docs":{"49":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"53":{"tf":3.0},"57":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":13,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":2.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"4":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":3.0},"54":{"tf":2.6457513110645907},"57":{"tf":1.0}}}}}}}}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"1":{")":{".":{"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":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"48":{"tf":1.0}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":1,"docs":{"48":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":3.3166247903554},"44":{"tf":2.23606797749979},"55":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":2,"docs":{"34":{"tf":1.0},"52":{"tf":1.0}}}},"n":{"c":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":3.3166247903554}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":5.0990195135927845},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":3.872983346207417},"69":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":4.242640687119285},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"57":{"tf":2.449489742783178},"59":{"tf":2.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"35":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"s":{"df":3,"docs":{"62":{"tf":1.0},"74":{"tf":1.7320508075688772},"78":{"tf":2.6457513110645907}}},"t":{"df":21,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.23606797749979},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"49":{"tf":2.0},"63":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"28":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":27,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"79":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":4.0},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"36":{"tf":1.0},"37":{"tf":3.0},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":5.0990195135927845},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"72":{"tf":1.0}}}}}}}},"df":3,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":2.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"19":{"tf":1.0},"57":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":15,"docs":{"16":{"tf":1.0},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0}},"’":{"df":1,"docs":{"60":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":9,"docs":{"21":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"65":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"37":{"tf":1.0}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"x":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":1,"docs":{"48":{"tf":2.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":13,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":3.1622776601683795},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":3.7416573867739413},"58":{"tf":1.4142135623730951},"59":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":2.0},"21":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"53":{"tf":4.898979485566356},"54":{"tf":1.0},"58":{"tf":4.47213595499958},"60":{"tf":1.7320508075688772},"61":{"tf":2.23606797749979}}}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":2.0}}}}}}}}},"p":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":3.3166247903554},"37":{"tf":2.6457513110645907},"39":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":2.449489742783178},"62":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"50":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"13":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"19":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"&":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"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":12,"docs":{"14":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"f":{"(":{"\"":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"*":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"49":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"b":{"df":1,"docs":{"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"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":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"15":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"i":{"df":2,"docs":{"54":{"tf":2.449489742783178},"60":{"tf":1.0}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"54":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}},"o":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"18":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":2.23606797749979}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"3":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"s":{"1":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"h":{"df":15,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"49":{"tf":2.0},"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"i":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}},"s":{"df":1,"docs":{"57":{"tf":2.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"59":{"tf":1.0}}},"x":{"df":2,"docs":{"57":{"tf":1.0},"60":{"tf":1.0}}},"y":{"df":1,"docs":{"57":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":3.0},"59":{"tf":2.23606797749979},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":2.449489742783178},"68":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":13,"docs":{"23":{"tf":1.7320508075688772},"30":{"tf":3.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0}}}}}},"c":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":3.0}}}}},"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"u":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":1,"docs":{"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}},"e":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"14":{"tf":1.0},"54":{"tf":1.0}}},"df":20,"docs":{"1":{"tf":1.0},"20":{"tf":2.0},"3":{"tf":1.7320508075688772},"33":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.6457513110645907},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}},"m":{"df":10,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},"df":12,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":3.1622776601683795},"90":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"85":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"81":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.7320508075688772},"2":{"tf":2.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"u":{"b":{"df":13,"docs":{"42":{"tf":4.358898943540674},"44":{"tf":3.7416573867739413},"49":{"tf":4.242640687119285},"53":{"tf":2.0},"55":{"tf":3.1622776601683795},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":3.1622776601683795},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"49":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"21":{"tf":2.0},"23":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}}},"t":{"df":5,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"42":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"49":{"tf":1.0}},"u":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"df":1,"docs":{"37":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"62":{"tf":2.0}},"e":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}},"1":{"df":2,"docs":{"30":{"tf":3.3166247903554},"58":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"30":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"30":{"tf":2.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"2":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"d":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"1":{".":{".":{"1":{"0":{"1":{"df":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":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":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":1,"docs":{"74":{"tf":2.0}}}}},"df":1,"docs":{"54":{"tf":1.4142135623730951}},"g":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":2,"docs":{"58":{"tf":3.872983346207417},"63":{"tf":2.449489742783178}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":2.0}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"o":{"d":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"53":{"tf":3.605551275463989},"54":{"tf":2.8284271247461903}}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"df":4,"docs":{"50":{"tf":2.6457513110645907},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0}},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":16,"docs":{"11":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":2.23606797749979},"89":{"tf":1.0}},"i":{"df":2,"docs":{"46":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"29":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"68":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":4,"docs":{"13":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":3.1622776601683795}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.23606797749979}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":2.6457513110645907}}},"2":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":5.196152422706632},"65":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{"df":1,"docs":{"65":{"tf":1.0}}},"2":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"3":{"df":1,"docs":{"34":{"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":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"d":{"df":4,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"53":{"tf":1.0},"60":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":2.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":2,"docs":{"53":{"tf":3.1622776601683795},"54":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":30,"docs":{"13":{"tf":1.0},"14":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":3.7416573867739413},"29":{"tf":1.4142135623730951},"30":{"tf":2.8284271247461903},"31":{"tf":3.3166247903554},"32":{"tf":2.0},"34":{"tf":2.6457513110645907},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":5.477225575051661},"52":{"tf":1.4142135623730951},"53":{"tf":6.324555320336759},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"54":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"’":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":2.6457513110645907}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":2.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.7320508075688772},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":6,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":2.0}}}}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":5,"docs":{"14":{"tf":1.0},"40":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":10,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"19":{"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":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"df":15,"docs":{"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.6457513110645907},"69":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"34":{"tf":1.0},"53":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"18":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"49":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"c":{"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":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}},"t":{",":{"df":1,"docs":{"48":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}},"u":{"8":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":26,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":3.3166247903554},"52":{"tf":2.0},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"n":{"df":30,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.8284271247461903},"16":{"tf":2.0},"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":3.4641016151377544},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":2.8284271247461903},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.0},"79":{"tf":1.7320508075688772}},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"19":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"g":{"b":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"h":{"df":1,"docs":{"59":{"tf":2.23606797749979}},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":1,"docs":{"54":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}},"t":{"df":2,"docs":{"42":{"tf":3.0},"88":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.0}}},"6":{"df":1,"docs":{"35":{"tf":1.0}}},"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":1,"docs":{"39":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"20":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":4.242640687119285},"68":{"tf":2.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":2.23606797749979}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":10,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":9,"docs":{"15":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0}}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"46":{"tf":1.0}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":3,"docs":{"3":{"tf":1.0},"42":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"df":56,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":2.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":3.0},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":2.8284271247461903},"37":{"tf":2.23606797749979},"39":{"tf":1.0},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":1.7320508075688772},"53":{"tf":4.47213595499958},"54":{"tf":2.8284271247461903},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":4.123105625617661},"59":{"tf":1.4142135623730951},"6":{"tf":1.0},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":3.605551275463989},"63":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":2.6457513110645907},"66":{"tf":1.0},"68":{"tf":2.0},"7":{"tf":1.0},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.23606797749979},"87":{"tf":2.0},"89":{"tf":1.7320508075688772},"90":{"tf":2.8284271247461903}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":3.0}}}},"’":{"df":7,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}}}},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"54":{"tf":2.0}}}},"s":{"'":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},".":{"a":{"df":0,"docs":{},"s":{"_":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}}},"1":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"24":{"tf":1.0}}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"23":{"tf":3.4641016151377544},"24":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}},"2":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"23":{"tf":3.3166247903554},"24":{"tf":2.0},"26":{"tf":2.449489742783178},"60":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"14":{"tf":2.0},"26":{"tf":1.7320508075688772}}},"[":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{".":{"1":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":6,"docs":{"2":{"tf":1.0},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"58":{"tf":3.3166247903554},"60":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"2":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.449489742783178},"6":{"tf":1.0},"60":{"tf":1.0}}}}}},"l":{"a":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"23":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":2.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":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":21,"docs":{"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"40":{"tf":3.0}},"s":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":2.6457513110645907}}}},"w":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":3.4641016151377544},"26":{"tf":2.0},"27":{"tf":2.0},"28":{"tf":1.7320508075688772},"30":{"tf":4.123105625617661},"31":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":3.3166247903554}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"21":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":12,"docs":{"26":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.7320508075688772},"82":{"tf":1.0}},"m":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":2,"docs":{"55":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":2,"docs":{"53":{"tf":1.0},"59":{"tf":1.0}}},"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{")":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"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":{},"m":{"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":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.0}}}}}}}},"i":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"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":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"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":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"x":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{")":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"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":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"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":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":3.3166247903554},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"59":{"tf":3.0},"60":{"tf":1.0},"86":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}}},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":8,"docs":{"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":2.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0}}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":8,"docs":{"15":{"tf":1.0},"20":{"tf":1.4142135623730951},"44":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"57":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":2.6457513110645907},"55":{"tf":2.449489742783178},"68":{"tf":1.0}}}}},"df":1,"docs":{"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"57":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":2.23606797749979}},"i":{"c":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"n":{"df":2,"docs":{"50":{"tf":1.0},"88":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951}}}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"50":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"37":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"i":{"df":3,"docs":{"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"18":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"60":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"d":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":2.449489742783178},"60":{"tf":4.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"52":{"tf":1.0},"57":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"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":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":8,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":4.0},"29":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"45":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":3.872983346207417},"54":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":8,"docs":{"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"v":{"df":3,"docs":{"23":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"\"":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"&":{"1":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"39":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"4":{"df":1,"docs":{"57":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":3,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"_":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"35":{"tf":1.0},"48":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"x":{"df":1,"docs":{"57":{"tf":2.449489742783178}}}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"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":{},"t":{"df":1,"docs":{"49":{"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":{},"g":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":2.6457513110645907},"35":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":15,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"37":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"37":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"42":{"tf":1.0}}},"r":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":2.0},"87":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"68":{"tf":1.0},"86":{"tf":1.0}},"i":{"df":14,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"34":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"1":{"0":{".":{"1":{"2":{"df":1,"docs":{"39":{"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":{"(":{"3":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"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":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"q":{"df":1,"docs":{"34":{"tf":1.0}},"l":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"s":{":":{"5":{"6":{":":{"9":{"df":1,"docs":{"65":{"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":3,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}},"s":{":":{"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"6":{":":{"7":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"1":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"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":2.0},"68":{"tf":2.23606797749979}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"85":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"2":{"df":1,"docs":{"57":{"tf":1.0}}},"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":3.1622776601683795},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"63":{"tf":1.0}},"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":{"52":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"r":{"d":{"df":6,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"54":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"21":{"tf":1.0},"37":{"tf":2.0},"46":{"tf":2.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":5.196152422706632},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":3.872983346207417},"18":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0},"57":{"tf":2.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}}},"i":{"c":{"df":6,"docs":{"10":{"tf":1.0},"50":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"58":{"tf":4.242640687119285},"60":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"u":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{"df":2,"docs":{"40":{"tf":2.449489742783178},"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"49":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"d":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"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":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"h":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.7320508075688772},"3":{"tf":1.0},"42":{"tf":1.0},"72":{"tf":3.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":26,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":2.6457513110645907},"19":{"tf":1.0},"21":{"tf":3.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"74":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":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":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":15,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":3.605551275463989},"29":{"tf":2.8284271247461903},"34":{"tf":2.23606797749979},"46":{"tf":1.0},"50":{"tf":4.123105625617661},"51":{"tf":1.7320508075688772},"53":{"tf":3.4641016151377544},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"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":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"o":{"b":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"34":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}},"h":{"df":1,"docs":{"54":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"y":{"df":2,"docs":{"54":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"49":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"14":{"tf":1.0},"46":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}},"df":0,"docs":{}},"[":{".":{".":{"1":{"2":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{".":{"3":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"1":{"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"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":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"13":{"tf":2.23606797749979},"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"`":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":34,"docs":{"11":{"tf":1.0},"13":{"tf":4.242640687119285},"14":{"tf":7.14142842854285},"18":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":3.0},"31":{"tf":1.0},"34":{"tf":2.6457513110645907},"35":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":3.7416573867739413},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"53":{"tf":3.1622776601683795},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.0},"74":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}},"y":{"!":{"(":{"#":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"e":{"df":1,"docs":{"35":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}},"u":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":17,"docs":{"33":{"tf":2.449489742783178},"34":{"tf":5.385164807134504},"35":{"tf":4.123105625617661},"42":{"tf":2.6457513110645907},"48":{"tf":2.8284271247461903},"49":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"52":{"tf":2.23606797749979},"53":{"tf":3.4641016151377544},"55":{"tf":3.4641016151377544},"57":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"60":{"tf":1.0},"62":{"tf":3.605551275463989},"63":{"tf":2.6457513110645907},"65":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":15,"docs":{"12":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"85":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":2.0}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"u":{"b":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":16,"docs":{"25":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0}}},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"m":{"df":2,"docs":{"35":{"tf":1.0},"52":{"tf":1.7320508075688772}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"49":{"tf":4.123105625617661}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"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":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"63":{"tf":1.0},"90":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"37":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"n":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"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":{"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":2,"docs":{"54":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"x":{"df":12,"docs":{"13":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":2.449489742783178},"37":{"tf":2.0},"49":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}}}}},"t":{"a":{"b":{"df":1,"docs":{"87":{"tf":1.0}},"l":{"df":3,"docs":{"21":{"tf":2.449489742783178},"55":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":18,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"26":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":2.6457513110645907},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"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":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":1,"docs":{"26":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"41":{"tf":1.0},"47":{"tf":1.4142135623730951},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"c":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"\\":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"\\":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"89":{"tf":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":{"44":{"tf":2.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"63":{"tf":1.0}}}}},"df":13,"docs":{"35":{"tf":2.23606797749979},"37":{"tf":1.0},"48":{"tf":2.8284271247461903},"49":{"tf":3.605551275463989},"51":{"tf":2.449489742783178},"52":{"tf":3.0},"53":{"tf":4.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":3.1622776601683795},"63":{"tf":1.0},"87":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"0":{"tf":1.0},"40":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"37":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"$":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"62":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"23":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"72":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":18,"docs":{"42":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"57":{"tf":1.0},"64":{"tf":2.449489742783178},"65":{"tf":6.928203230275509},"66":{"tf":6.48074069840786},"67":{"tf":1.0},"68":{"tf":7.0710678118654755},"69":{"tf":3.0},"70":{"tf":2.0},"71":{"tf":1.0},"72":{"tf":3.7416573867739413},"88":{"tf":2.6457513110645907},"89":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"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":{"66":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"40":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"’":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"i":{"df":3,"docs":{"52":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"57":{"tf":1.0}}}}},"’":{"df":3,"docs":{"23":{"tf":1.0},"30":{"tf":1.0},"54":{"tf":1.0}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"72":{"tf":1.0},"89":{"tf":1.0}}},"k":{"df":5,"docs":{"21":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"d":{"df":4,"docs":{"20":{"tf":1.0},"39":{"tf":2.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":13,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"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":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"52":{"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":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":9,"docs":{"2":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":9.0},"58":{"tf":2.23606797749979},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"s":{"=":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"’":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":13,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":14,"docs":{"15":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"w":{"df":5,"docs":{"14":{"tf":1.0},"31":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"u":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":1.0}},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":2.449489742783178}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":19,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.1622776601683795},"54":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"1":{".":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"72":{"tf":1.0},"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"33":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"62":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":3.872983346207417}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"83":{"tf":1.4142135623730951},"85":{"tf":1.0}}}},"p":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"54":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"49":{"tf":1.0},"55":{"tf":1.0}}},">":{":":{":":{"df":0,"docs":{},"f":{"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":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":21,"docs":{"14":{"tf":1.0},"25":{"tf":2.0},"34":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":5.830951894845301},"51":{"tf":1.7320508075688772},"52":{"tf":3.1622776601683795},"53":{"tf":3.872983346207417},"54":{"tf":2.449489742783178},"55":{"tf":4.123105625617661},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":6.082762530298219},"60":{"tf":3.0},"61":{"tf":2.449489742783178},"62":{"tf":3.4641016151377544},"63":{"tf":2.8284271247461903},"74":{"tf":1.0}},"’":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"62":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}},"i":{"df":13,"docs":{"14":{"tf":1.0},"23":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"78":{"tf":1.0}},"m":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.0},"18":{"tf":2.0},"25":{"tf":1.0},"34":{"tf":1.7320508075688772},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"l":{"df":12,"docs":{"12":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"53":{"tf":2.449489742783178}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"49":{"tf":3.7416573867739413}}}}},"o":{"df":29,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"89":{"tf":1.0}}}},"x":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"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":1,"docs":{"54":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":4,"docs":{"54":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":42,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.0},"12":{"tf":2.6457513110645907},"13":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"25":{"tf":3.4641016151377544},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":4.242640687119285},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.449489742783178},"46":{"tf":3.605551275463989},"48":{"tf":3.3166247903554},"49":{"tf":5.291502622129181},"50":{"tf":1.7320508075688772},"51":{"tf":2.6457513110645907},"52":{"tf":3.1622776601683795},"53":{"tf":3.4641016151377544},"54":{"tf":3.1622776601683795},"55":{"tf":4.47213595499958},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.6457513110645907},"59":{"tf":6.557438524302},"60":{"tf":6.082762530298219},"61":{"tf":2.8284271247461903},"62":{"tf":3.3166247903554},"63":{"tf":3.4641016151377544},"65":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"59":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":11,"docs":{"25":{"tf":1.0},"34":{"tf":3.1622776601683795},"46":{"tf":1.0},"52":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.7320508075688772},"87":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772}}},">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"85":{"tf":1.0}}}}}}},"df":4,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"57":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"14":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"58":{"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":{"81":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":2.6457513110645907}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":10,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":2.23606797749979},"70":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":1.0},"86":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"26":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":11,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":7.0710678118654755}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"z":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"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":{"63":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"46":{"tf":3.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":2.0},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"62":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":63,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"19":{"tf":1.7320508075688772},"2":{"tf":2.6457513110645907},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":5.0},"35":{"tf":3.605551275463989},"37":{"tf":3.3166247903554},"39":{"tf":2.23606797749979},"40":{"tf":3.1622776601683795},"42":{"tf":6.928203230275509},"44":{"tf":4.58257569495584},"46":{"tf":6.928203230275509},"48":{"tf":3.1622776601683795},"49":{"tf":3.7416573867739413},"50":{"tf":3.0},"51":{"tf":1.0},"52":{"tf":5.385164807134504},"53":{"tf":6.782329983125268},"54":{"tf":6.164414002968976},"55":{"tf":4.795831523312719},"57":{"tf":4.795831523312719},"58":{"tf":5.291502622129181},"59":{"tf":4.795831523312719},"60":{"tf":2.6457513110645907},"61":{"tf":3.3166247903554},"62":{"tf":4.898979485566356},"63":{"tf":4.47213595499958},"65":{"tf":3.605551275463989},"66":{"tf":1.4142135623730951},"68":{"tf":3.605551275463989},"69":{"tf":1.0},"7":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":2.8284271247461903},"75":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"r":{"1":{".":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"34":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"<":{"'":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":2.8284271247461903},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":3.1622776601683795},"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"f":{"df":3,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}},"v":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"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":{"57":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"5":{"df":1,"docs":{"39":{"tf":1.0}}},"6":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"0":{".":{"1":{".":{"0":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"4":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"u":{"8":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"[":{"0":{"df":1,"docs":{"39":{"tf":1.0}}},"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"52":{"tf":3.0},"54":{"tf":2.6457513110645907},"60":{"tf":1.0}},"i":{"d":{"df":13,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":2.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":44,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":3.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":4.58257569495584},"37":{"tf":3.3166247903554},"38":{"tf":1.0},"39":{"tf":2.6457513110645907},"40":{"tf":3.7416573867739413},"46":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"52":{"tf":4.898979485566356},"53":{"tf":5.744562646538029},"54":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":4.898979485566356},"58":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":4.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":3.1622776601683795},"65":{"tf":3.0},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.449489742783178},"89":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"55":{"tf":1.0}},"u":{"3":{"2":{"df":1,"docs":{"61":{"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":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":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":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":34,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"30":{"tf":1.7320508075688772},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":4.358898943540674},"6":{"tf":2.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":2.23606797749979},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"9":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"35":{"tf":3.3166247903554},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"38":{"tf":1.0},"55":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":7,"docs":{"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"40":{"tf":1.7320508075688772},"52":{"tf":2.0},"54":{"tf":2.8284271247461903},"57":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}},"e":{"c":{"!":{"[":{"'":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}},"0":{"df":1,"docs":{"52":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":1,"docs":{"40":{"tf":1.0}}},"df":5,"docs":{"39":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"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":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"39":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":4,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":6,"docs":{"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":5,"docs":{"39":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"62":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":14,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":4.358898943540674},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"23":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}}}}},"s":{"a":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":3,"docs":{"40":{"tf":1.0},"42":{"tf":1.0},"90":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"9":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":25,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":2.0},"89":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"53":{"tf":1.7320508075688772},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":18,"docs":{"14":{"tf":2.23606797749979},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":6,"docs":{"44":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":1,"docs":{"53":{"tf":3.605551275463989}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"’":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":6,"docs":{"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"88":{"tf":1.0}}},"v":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":6,"docs":{"27":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"11":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"14":{"tf":1.0},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"3":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":16,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}}},"—":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"z":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":14,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"40":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"’":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"r":{"d":{"df":10,"docs":{"14":{"tf":2.0},"29":{"tf":2.449489742783178},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"27":{"tf":1.0},"30":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":27,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"35":{"tf":1.0},"72":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"68":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"p":{"df":1,"docs":{"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"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":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":2.8284271247461903}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}}},"df":23,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":2.6457513110645907},"74":{"tf":1.0},"89":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"0":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"90":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":1.0}}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}},"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"df":24,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":2.8284271247461903},"19":{"tf":1.7320508075688772},"23":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"35":{"tf":3.1622776601683795},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":3.7416573867739413},"49":{"tf":1.7320508075688772},"50":{"tf":3.1622776601683795},"51":{"tf":1.4142135623730951},"52":{"tf":4.898979485566356},"57":{"tf":6.782329983125268},"59":{"tf":2.449489742783178},"6":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"69":{"tf":1.0},"8":{"tf":3.7416573867739413},"88":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":2.0}}},"2":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":2.8284271247461903},"23":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"48":{"tf":3.7416573867739413},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"57":{"tf":6.557438524302},"59":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"55":{"tf":2.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":1.0},"44":{"tf":2.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"52":{"tf":1.7320508075688772},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"4":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"’":{"d":{"df":2,"docs":{"42":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0}}},"v":{"df":3,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}}}},"z":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"52":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"18":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"(":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"breadcrumbs":{"root":{"0":{".":{".":{"1":{"0":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"=":{"9":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":1,"docs":{"44":{"tf":1.0}}},"2":{"7":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"6":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"8":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"8":{".":{"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"1":{"1":{"1":{"1":{"_":{"0":{"0":{"0":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":18,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"18":{"tf":2.0},"19":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"57":{"tf":2.8284271247461903},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"69":{"tf":2.0},"88":{"tf":2.0},"89":{"tf":1.4142135623730951}},"o":{"7":{"7":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{".":{".":{"2":{"0":{")":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{")":{".":{"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":{"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":{}},"x":{"0":{"1":{"2":{"3":{"4":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"1":{",":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"1":{"0":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"4":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":2,"docs":{"12":{"tf":1.0},"54":{"tf":1.7320508075688772}}},"=":{"1":{"0":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"12":{"tf":1.0}}},"5":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"0":{"df":3,"docs":{"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"0":{".":{".":{"=":{"1":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"59":{"tf":1.0}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"df":9,"docs":{"19":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":2.8284271247461903},"44":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"1":{"df":2,"docs":{"44":{"tf":1.0},"50":{"tf":1.0}}},"2":{".":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"3":{"4":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.0}}},"df":0,"docs":{}},"7":{".":{"0":{".":{"0":{".":{"1":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":4,"docs":{"35":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"60":{"tf":1.0},"8":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"13":{"tf":1.0}}}}},"3":{"5":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":1,"docs":{"52":{"tf":1.0}}},"4":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"5":{"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.7320508075688772},"60":{"tf":1.0}}},"6":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"5":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}},"8":{"df":1,"docs":{"14":{"tf":1.0}}},"df":3,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"7":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"8":{"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"9":{",":{"2":{"3":{"4":{",":{"9":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"2":{"0":{",":{"3":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":28,"docs":{"11":{"tf":2.449489742783178},"12":{"tf":2.8284271247461903},"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"28":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"37":{"tf":2.449489742783178},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"52":{"tf":3.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"2":{",":{"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"0":{"1":{"5":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"8":{"df":2,"docs":{"63":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}}},"9":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"19":{"tf":1.0},"52":{"tf":1.0}}},"2":{"4":{"df":1,"docs":{"14":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"4":{"0":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"57":{"tf":1.0}}},"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}}},"df":22,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":2.0},"14":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"3":{",":{"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{".":{"=":{"7":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"11":{"tf":1.0}}},"5":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"57":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951}}},"4":{"\"":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.4142135623730951},"28":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.6457513110645907},"53":{"tf":2.0},"54":{"tf":2.449489742783178},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"4":{",":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"48":{"tf":2.0}}},"df":0,"docs":{}},"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":14,"docs":{"11":{"tf":1.0},"12":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"57":{"tf":2.6457513110645907},"59":{"tf":1.4142135623730951},"65":{"tf":1.0},"72":{"tf":1.0}}},"5":{",":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"0":{"0":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":7,"docs":{"19":{"tf":1.0},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":2.6457513110645907},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}}},"7":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":22,"docs":{"12":{"tf":2.6457513110645907},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"48":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"57":{"tf":3.1622776601683795},"58":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"69":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}},"6":{".":{"4":{"df":1,"docs":{"12":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"0":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"11":{"tf":1.0}}},"4":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"5":{"7":{",":{"2":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"49":{"tf":1.0}}},"df":10,"docs":{"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"35":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"6":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0}}},"7":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"5":{"df":1,"docs":{"55":{"tf":1.0}}},"df":5,"docs":{"37":{"tf":1.7320508075688772},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}}},"8":{"df":7,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":2.23606797749979},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}},"9":{"1":{"5":{",":{"7":{"0":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"2":{"2":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"37":{"tf":1.7320508075688772},"54":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":4,"docs":{"37":{"tf":2.449489742783178},"40":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.872983346207417}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}},"e":{".":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"x":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"a":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"j":{"df":1,"docs":{"57":{"tf":1.0}}}},"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{".":{".":{"3":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"b":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"58":{"tf":1.0}},"i":{"df":1,"docs":{"58":{"tf":1.7320508075688772}},"l":{"df":2,"docs":{"30":{"tf":1.0},"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}},"v":{"df":17,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"2":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"52":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":11,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"2":{"tf":1.7320508075688772},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":3.605551275463989},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":2.8284271247461903},"89":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"d":{"df":4,"docs":{"11":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":3,"docs":{"2":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}}}},"t":{"df":4,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":2.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}}},"/":{"a":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"/":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"c":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"44":{"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":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"44":{"tf":2.6457513110645907},"69":{"tf":1.0},"88":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"61":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"44":{"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":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"4":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}}},"o":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.23606797749979},"44":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":26,"docs":{"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"(":{"2":{"df":1,"docs":{"68":{"tf":1.0}}},"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":2.8284271247461903},"68":{"tf":1.0}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"23":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"46":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.4142135623730951}}}}}}},"df":12,"docs":{"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":10,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":2.0},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"53":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"30":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}}}},"df":1,"docs":{"57":{"tf":1.7320508075688772}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"49":{"tf":2.0}}}}}},"o":{"df":1,"docs":{"50":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"3":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"b":{"a":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"i":{"a":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}}},"o":{"c":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"53":{"tf":2.0}}},"df":0,"docs":{},"w":{"df":23,"docs":{"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":3.7416573867739413},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":2.8284271247461903},"65":{"tf":1.0},"7":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"37":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":8,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}},"n":{"df":6,"docs":{"3":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":15,"docs":{"11":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}},"z":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}}}},"df":1,"docs":{"35":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"51":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},">":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":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":{"59":{"tf":1.7320508075688772}}}},"n":{"df":1,"docs":{"51":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"t":{"df":8,"docs":{"25":{"tf":1.4142135623730951},"39":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"e":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"y":{"df":1,"docs":{"46":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":14,"docs":{"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"29":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"58":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":7,"docs":{"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.0},"50":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.0},"42":{"tf":1.7320508075688772},"55":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"60":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"0":{"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":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"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":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"37":{"tf":1.7320508075688772},"48":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":5,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}},"g":{"df":5,"docs":{"52":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.4142135623730951},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"65":{"tf":1.0}}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"m":{"df":6,"docs":{"18":{"tf":1.4142135623730951},"37":{"tf":2.0},"57":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.0}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"y":{"df":4,"docs":{"12":{"tf":3.0},"39":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{":":{":":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"k":{"df":6,"docs":{"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0}}},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"!":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"\"":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"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":{},"q":{"!":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"68":{"tf":1.0}}},"6":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}},"7":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"1":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}},"n":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":3,"docs":{"63":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":8,"docs":{"16":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"60":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":6,"docs":{"34":{"tf":3.605551275463989},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"59":{"tf":3.3166247903554},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"23":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"52":{"tf":1.0}}}}},"t":{".":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"t":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"62":{"tf":1.0}}},"k":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"33":{"tf":1.0},"34":{"tf":2.0},"62":{"tf":2.8284271247461903},"65":{"tf":3.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"b":{"'":{"a":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"26":{"tf":1.4142135623730951},"42":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"d":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"72":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"37":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"i":{"c":{"df":35,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"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},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"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},"4":{"tf":1.7320508075688772},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"86":{"tf":1.7320508075688772},"9":{"tf":1.0}}},"df":1,"docs":{"13":{"tf":1.0}}}}},"df":7,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"50":{"tf":2.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"57":{"tf":2.6457513110645907},"63":{"tf":2.0}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":6,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"66":{"tf":1.0}}}}},"df":6,"docs":{"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":13,"docs":{"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":3,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":7,"docs":{"30":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"55":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.7320508075688772},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}}}},"w":{"df":9,"docs":{"11":{"tf":1.0},"16":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":2.0},"51":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"52":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"1":{"tf":1.0},"2":{"tf":1.7320508075688772},"42":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"72":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"df":15,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"30":{"tf":1.0},"90":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"89":{"tf":2.0}}}}},"d":{"df":2,"docs":{"57":{"tf":2.23606797749979},"8":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"t":{"df":5,"docs":{"11":{"tf":2.23606797749979},"42":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"90":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"62":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"57":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"3":{"tf":1.0},"65":{"tf":1.0},"89":{"tf":1.7320508075688772}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"0":{"tf":1.0},"54":{"tf":1.0},"90":{"tf":1.4142135623730951}}},"l":{"df":7,"docs":{"11":{"tf":1.0},"18":{"tf":1.4142135623730951},"25":{"tf":1.0},"34":{"tf":2.23606797749979},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"11":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"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":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":2.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":2.23606797749979},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"58":{"tf":2.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":21,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"12":{"tf":1.0},"49":{"tf":2.23606797749979},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}}},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":1,"docs":{"60":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}},"t":{"df":2,"docs":{"53":{"tf":3.0},"61":{"tf":1.0}}}},"df":2,"docs":{"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"49":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"51":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"19":{"tf":3.1622776601683795},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"86":{"tf":1.0},"89":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"g":{"df":4,"docs":{"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"68":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.6457513110645907}}},"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":1.0},"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":2.449489742783178}}}}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":3.4641016151377544},"50":{"tf":1.0},"60":{"tf":1.4142135623730951}},"s":{"(":{"9":{"5":{".":{".":{"1":{"0":{"3":{"df":1,"docs":{"62":{"tf":1.0}}},"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":0,"docs":{},"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":{"50":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"c":{".":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"/":{"c":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"2":{"df":1,"docs":{"44":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"|":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}}}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"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":0,"docs":{},"s":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}},"s":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"52":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":34,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":3.3166247903554},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":3.1622776601683795},"53":{"tf":3.7416573867739413},"54":{"tf":3.0},"55":{"tf":1.7320508075688772},"58":{"tf":3.7416573867739413},"59":{"tf":3.1622776601683795},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":3.1622776601683795},"63":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":13,"docs":{"12":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"68":{"tf":1.0}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":11,"docs":{"16":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951}}}}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.4142135623730951},"62":{"tf":1.0}}}},"c":{"df":2,"docs":{"13":{"tf":1.0},"23":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"52":{"tf":3.3166247903554},"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":4,"docs":{"15":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"46":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.7320508075688772},"90":{"tf":1.0}}}}}}},"df":14,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.23606797749979},"46":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"66":{"tf":3.3166247903554},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":5.477225575051661},"90":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":3.3166247903554},"39":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":3.3166247903554},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.6457513110645907},"52":{"tf":1.4142135623730951},"53":{"tf":3.1622776601683795},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"69":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.0},"68":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"14":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"58":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":12,"docs":{"14":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":3.605551275463989},"57":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":8,"docs":{"10":{"tf":1.0},"35":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":2.23606797749979}}}}}}},"df":1,"docs":{"68":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"58":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":17,"docs":{"28":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"65":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"14":{"tf":3.0},"19":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":2.23606797749979}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"57":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":15,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"46":{"tf":2.0},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":2.449489742783178},"58":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"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":{"2":{"tf":1.0}}}}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":2.23606797749979},"26":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"r":{"df":3,"docs":{"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}},"r":{"df":2,"docs":{"14":{"tf":1.0},"34":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"61":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":5,"docs":{"24":{"tf":2.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.449489742783178}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"21":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"47":{"tf":1.0},"52":{"tf":6.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":4.0}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":41,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":4.69041575982343},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":3.605551275463989},"48":{"tf":1.7320508075688772},"49":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"51":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.0},"54":{"tf":2.449489742783178},"55":{"tf":3.4641016151377544},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":4.58257569495584},"59":{"tf":1.4142135623730951},"60":{"tf":2.0},"62":{"tf":5.0},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":3.7416573867739413},"73":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"60":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"37":{"tf":3.4641016151377544}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":2.23606797749979},"20":{"tf":1.0},"38":{"tf":2.449489742783178},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{"df":1,"docs":{"34":{"tf":1.0}}},"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":1.0},"40":{"tf":1.0},"57":{"tf":3.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"21":{"tf":1.0},"26":{"tf":2.6457513110645907},"53":{"tf":1.0},"62":{"tf":1.0}}},"m":{"a":{"df":1,"docs":{"14":{"tf":1.0}},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.449489742783178},"74":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"35":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":3.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"85":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.0},"63":{"tf":2.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"52":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"44":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":32,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.7320508075688772},"31":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":2.449489742783178},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":3.4641016151377544},"52":{"tf":1.4142135623730951},"53":{"tf":3.605551275463989},"55":{"tf":2.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.7320508075688772},"78":{"tf":1.0},"8":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"90":{"tf":1.0}}},"x":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":2,"docs":{"42":{"tf":1.0},"55":{"tf":3.7416573867739413}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"df":1,"docs":{"14":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":2.8284271247461903},"53":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"7":{"tf":1.0}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":19,"docs":{"35":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"59":{"tf":1.0},"61":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":5,"docs":{"2":{"tf":1.0},"54":{"tf":3.3166247903554},"58":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"18":{"tf":2.6457513110645907},"19":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"4":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"s":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"61":{"tf":1.0}}}}},"s":{"(":{"1":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"53":{"tf":1.0}}},"3":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"53":{"tf":1.0}}},"_":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"c":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"4":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"82":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"14":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":2.0},"7":{"tf":3.1622776601683795},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"20":{"tf":1.0},"50":{"tf":1.0}}}}}}},"df":3,"docs":{"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"87":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"55":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"62":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":25,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{">":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.7320508075688772},"14":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":2.0},"55":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"s":{"\"":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"x":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}},"n":{"df":0,"docs":{},"u":{"df":3,"docs":{"19":{"tf":1.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"66":{"tf":1.7320508075688772},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"88":{"tf":1.0}}},"t":{"df":5,"docs":{"42":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":2.449489742783178}}}},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"8":{"tf":1.0}}},"t":{"df":8,"docs":{"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":11,"docs":{"23":{"tf":4.123105625617661},"24":{"tf":1.7320508075688772},"25":{"tf":3.0},"26":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"63":{"tf":2.6457513110645907}}},"y":{">":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"37":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":4.69041575982343},"54":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":5,"docs":{"19":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":2.6457513110645907},"58":{"tf":1.7320508075688772},"59":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"47":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":10,"docs":{"41":{"tf":1.0},"42":{"tf":5.196152422706632},"44":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"59":{"tf":1.0},"62":{"tf":3.605551275463989},"68":{"tf":3.0},"74":{"tf":1.0},"88":{"tf":2.23606797749979},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"’":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":31,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.0},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"16":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"13":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":7,"docs":{"33":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":2.8284271247461903},"63":{"tf":1.0},"89":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":3.605551275463989}}}}}}}}}},"df":0,"docs":{}}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.8284271247461903},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.7320508075688772}}}},"l":{"df":3,"docs":{"31":{"tf":3.0},"32":{"tf":1.0},"50":{"tf":2.23606797749979}}}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"t":{"a":{"df":35,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":2.0},"12":{"tf":2.6457513110645907},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"18":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":2.6457513110645907},"23":{"tf":2.449489742783178},"24":{"tf":2.23606797749979},"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"35":{"tf":2.8284271247461903},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":5.477225575051661},"54":{"tf":3.0},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"58":{"tf":2.449489742783178},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"65":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"y":{"df":3,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":2.0},"57":{"tf":1.0}}}},"b":{"df":0,"docs":{},"g":{"!":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"3":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"34":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"42":{"tf":1.0},"50":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"14":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":6,"docs":{"34":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":1,"docs":{"11":{"tf":1.0}}},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":15,"docs":{"12":{"tf":2.6457513110645907},"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}},"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":{"63":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.4142135623730951},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":2.6457513110645907},"52":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"89":{"tf":1.0}},"—":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":20,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"42":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":3.4641016151377544},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"55":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"65":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":2.449489742783178},"50":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"28":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":9,"docs":{"42":{"tf":1.0},"44":{"tf":2.23606797749979},"52":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"14":{"tf":1.0},"53":{"tf":4.58257569495584},"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"34":{"tf":1.7320508075688772},"62":{"tf":3.0},"63":{"tf":2.8284271247461903}},"e":{"(":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":4,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":2.23606797749979}}}}}}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":6,"docs":{"23":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"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":{"53":{"tf":1.7320508075688772}}}},"r":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":1,"docs":{"12":{"tf":1.0}},"r":{"df":2,"docs":{"12":{"tf":1.0},"57":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"40":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}}}}}},"v":{"df":5,"docs":{"0":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"83":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":9,"docs":{"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}}}},"df":0,"docs":{}}},"df":2,"docs":{"50":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":2,"docs":{"27":{"tf":1.0},"54":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":32,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":2.8284271247461903},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"78":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"2":{"tf":1.0},"44":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"42":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"44":{"tf":2.6457513110645907},"62":{"tf":1.0},"68":{"tf":3.605551275463989},"88":{"tf":1.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}},"d":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"59":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"55":{"tf":2.449489742783178},"61":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":6,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"51":{"tf":1.7320508075688772},"59":{"tf":2.449489742783178},"66":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"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":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"42":{"tf":1.0},"53":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"60":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"18":{"tf":2.0}}}}}},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"(":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"c":{"df":5,"docs":{"69":{"tf":2.449489742783178},"70":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":2.449489742783178},"89":{"tf":2.23606797749979}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"54":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":2.8284271247461903},"89":{"tf":1.0}}}}}}}},"df":3,"docs":{"27":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":20,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"74":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"15":{"tf":1.0},"2":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"62":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}}},"g":{":":{":":{"b":{"a":{"b":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.8284271247461903}}},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":15,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.449489742783178},"89":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":1.0}},"e":{"df":6,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.0}}},"’":{"df":0,"docs":{},"t":{"df":12,"docs":{"34":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"11":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":4,"docs":{"20":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"55":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"n":{"df":3,"docs":{"64":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":4.69041575982343},"54":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":2.0}}}},"df":0,"docs":{},"e":{"df":7,"docs":{"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"48":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"55":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772}}}},"df":3,"docs":{"55":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":1,"docs":{"66":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":20,"docs":{"14":{"tf":2.0},"22":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.449489742783178}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"37":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":3,"docs":{"31":{"tf":1.0},"6":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"19":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"y":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":2.0},"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.7320508075688772}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"63":{"tf":2.0},"90":{"tf":4.0}}}}},"df":3,"docs":{"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"65":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"58":{"tf":1.0}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"12":{"tf":1.0},"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":3.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.7320508075688772}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"49":{"tf":1.0},"60":{"tf":1.0}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"46":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"d":{"df":5,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.0},"35":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"46":{"tf":1.0}}}}}}},"d":{"df":16,"docs":{"15":{"tf":1.0},"16":{"tf":2.0},"27":{"tf":1.0},"30":{"tf":1.0},"39":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"39":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"31":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"21":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"r":{"df":4,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":16,"docs":{"34":{"tf":1.0},"35":{"tf":5.291502622129181},"37":{"tf":2.6457513110645907},"39":{"tf":1.7320508075688772},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":2.449489742783178},"53":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"19":{"tf":1.0},"35":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}}},"v":{":":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"74":{"tf":1.0}}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":2.8284271247461903}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}}}}},"q":{"df":1,"docs":{"63":{"tf":2.8284271247461903}},"u":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"52":{"tf":2.0}}}},"df":0,"docs":{}}}},"df":5,"docs":{"12":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":2.0},"65":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"(":{"_":{"df":2,"docs":{"60":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":2,"docs":{"46":{"tf":3.1622776601683795},"48":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"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":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":1,"docs":{"65":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"31":{"tf":1.0}}},"r":{".":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":21,"docs":{"14":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":2.23606797749979},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":5.5677643628300215},"50":{"tf":1.7320508075688772},"53":{"tf":2.6457513110645907},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"60":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"85":{"tf":1.0}}}}}}}},"t":{"c":{"df":5,"docs":{"34":{"tf":1.0},"4":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":15,"docs":{"18":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.4142135623730951},"39":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"52":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"9":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":34,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":2.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":2.6457513110645907},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"78":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}},"e":{"(":{"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"52":{"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":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":4,"docs":{"19":{"tf":1.0},"2":{"tf":1.0},"54":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":13,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"31":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"72":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":2.0}}},"df":0,"docs":{}}},"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":{"74":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":2.0},"61":{"tf":1.0},"65":{"tf":2.23606797749979}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":2,"docs":{"23":{"tf":1.0},"52":{"tf":1.0}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"90":{"tf":1.0}}}},"n":{"df":3,"docs":{"52":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"20":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"62":{"tf":1.0}}}},"s":{"df":4,"docs":{"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":3.3166247903554},"18":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":3.4641016151377544},"46":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":3.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"7":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":2.449489742783178},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}},"f":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"3":{"2":{"df":3,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"25":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"3":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":27,"docs":{"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.6457513110645907},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"74":{"tf":1.0},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"78":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"37":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":5,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":2.0},"57":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}},"e":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":4,"docs":{"46":{"tf":3.872983346207417},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"58":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"61":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"w":{"df":2,"docs":{"63":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":10,"docs":{"33":{"tf":1.0},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"e":{":":{"/":{"/":{"/":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"/":{"a":{"d":{"d":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":1,"docs":{"44":{"tf":1.0}}},"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":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"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":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"46":{"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":{},"e":{"df":0,"docs":{},"n":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"\"":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"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":{"46":{"tf":1.0}}}}},"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":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"|":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"?":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":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":{"46":{"tf":2.449489742783178},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":11,"docs":{"3":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":2.449489742783178},"44":{"tf":2.8284271247461903},"46":{"tf":4.0},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"68":{"tf":4.242640687119285},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":6,"docs":{"3":{"tf":1.0},"44":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":2.0}}}}}}}}},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"|":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"n":{"d":{"df":9,"docs":{"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":2,"docs":{"48":{"tf":1.0},"60":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"(":{"&":{"df":1,"docs":{"14":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"[":{"0":{".":{".":{"6":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"29":{"tf":1.4142135623730951},"50":{"tf":1.0}},"m":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"<":{"'":{"a":{">":{"(":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":24,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"21":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.23606797749979},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"21":{"tf":1.0},"37":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}}},"x":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"13":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"6":{"4":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":5,"docs":{"11":{"tf":2.0},"25":{"tf":1.0},"48":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"78":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}},"w":{"df":3,"docs":{"17":{"tf":1.7320508075688772},"18":{"tf":1.0},"37":{"tf":1.4142135623730951}}}},"y":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"59":{"tf":2.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":{},"t":{"df":1,"docs":{"59":{"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":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"89":{"tf":1.0}}}},"n":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"61":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":38,"docs":{"14":{"tf":2.0},"15":{"tf":3.0},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":3.0},"28":{"tf":2.23606797749979},"29":{"tf":1.7320508075688772},"3":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":3.605551275463989},"35":{"tf":2.23606797749979},"37":{"tf":3.7416573867739413},"42":{"tf":3.605551275463989},"44":{"tf":2.449489742783178},"46":{"tf":3.7416573867739413},"48":{"tf":2.6457513110645907},"49":{"tf":4.47213595499958},"50":{"tf":3.605551275463989},"51":{"tf":1.0},"52":{"tf":4.358898943540674},"53":{"tf":5.291502622129181},"54":{"tf":3.0},"55":{"tf":2.8284271247461903},"57":{"tf":3.3166247903554},"58":{"tf":3.1622776601683795},"59":{"tf":5.0},"60":{"tf":2.8284271247461903},"61":{"tf":3.1622776601683795},"62":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772},"65":{"tf":2.8284271247461903},"68":{"tf":2.8284271247461903},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.0}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":2.23606797749979},"61":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"52":{"tf":2.0},"61":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":31,"docs":{"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.0}}}}},"o":{"(":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"_":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"r":{"c":{"df":2,"docs":{"52":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"14":{"tf":1.7320508075688772},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"62":{"tf":1.0},"89":{"tf":1.0}}}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"57":{"tf":1.0},"64":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"46":{"tf":1.0},"54":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"r":{"df":3,"docs":{"35":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"26":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0}}},"df":3,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"42":{"tf":2.6457513110645907},"44":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"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":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"14":{"tf":1.0},"31":{"tf":1.0}}},"1":{"df":1,"docs":{"42":{"tf":1.0}}},"2":{"df":1,"docs":{"42":{"tf":1.0}}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"15":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":48,"docs":{"13":{"tf":1.0},"15":{"tf":4.242640687119285},"16":{"tf":2.449489742783178},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":3.3166247903554},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"34":{"tf":4.358898943540674},"35":{"tf":2.449489742783178},"37":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"45":{"tf":1.4142135623730951},"46":{"tf":2.6457513110645907},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":2.6457513110645907},"50":{"tf":3.4641016151377544},"51":{"tf":1.0},"52":{"tf":4.58257569495584},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.449489742783178},"58":{"tf":3.872983346207417},"59":{"tf":2.8284271247461903},"60":{"tf":2.6457513110645907},"61":{"tf":4.47213595499958},"62":{"tf":4.242640687119285},"63":{"tf":2.449489742783178},"65":{"tf":3.872983346207417},"68":{"tf":3.3166247903554},"69":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.0}},"’":{"df":2,"docs":{"21":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}}},"df":7,"docs":{"3":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}},"r":{"b":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"c":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"57":{"tf":2.0}},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"35":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.7416573867739413},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"74":{"tf":2.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.7320508075688772}},"i":{"c":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"df":11,"docs":{"3":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"11":{"tf":1.4142135623730951},"13":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}},"n":{"df":7,"docs":{"32":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"26":{"tf":2.0}}}}}}}}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"58":{"tf":2.23606797749979},"7":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"86":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":11,"docs":{"23":{"tf":1.0},"26":{"tf":1.0},"31":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":9,"docs":{"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"30":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0}}},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"22":{"tf":1.0},"32":{"tf":1.4142135623730951},"60":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"_":{"1":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":2,"docs":{"12":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"34":{"tf":1.0},"57":{"tf":1.7320508075688772},"72":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"33":{"tf":1.0},"42":{"tf":1.4142135623730951}}}},"w":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"31":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"63":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"54":{"tf":1.0},"57":{"tf":2.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"74":{"tf":1.0}}}}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"2":{"0":{"0":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"60":{"tf":2.23606797749979},"65":{"tf":2.449489742783178}}}}},"i":{":":{":":{"d":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"90":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"63":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"54":{"tf":1.0}}}},"n":{"d":{"df":4,"docs":{"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":1.0}},"i":{"df":1,"docs":{"46":{"tf":1.0}}},"l":{"df":10,"docs":{"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"41":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":3.4641016151377544},"54":{"tf":2.8284271247461903},"79":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"79":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":2.23606797749979},"42":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"k":{",":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":2,"docs":{"40":{"tf":1.0},"63":{"tf":1.7320508075688772}}}},"df":2,"docs":{"40":{"tf":3.3166247903554},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"3":{"tf":1.0},"35":{"tf":2.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"k":{".":{"c":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"14":{"tf":1.0},"57":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"21":{"tf":3.3166247903554},"23":{"tf":2.23606797749979},"24":{"tf":2.0},"26":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":2.6457513110645907},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0}}},"v":{"df":0,"docs":{},"y":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"46":{"tf":3.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":3.3166247903554},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"(":{"&":{"(":{"*":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"[":{"0":{".":{".":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"4":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":3.3166247903554}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"3":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"14":{"tf":2.8284271247461903},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"p":{"df":8,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"66":{"tf":2.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":2.0}}}}}},"n":{"c":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.7320508075688772},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"'":{"df":18,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":27,"docs":{"14":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"30":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"62":{"tf":2.449489742783178},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":4.69041575982343}},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"52":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"d":{"df":8,"docs":{"13":{"tf":1.4142135623730951},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"/":{".":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"/":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.8284271247461903},"44":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":2.449489742783178},"44":{"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":{}}}}}},"w":{"'":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{",":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":1,"docs":{"85":{"tf":1.0}},"s":{":":{"/":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}},"i":{".":{"df":1,"docs":{"58":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"/":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":2.0},"15":{"tf":2.8284271247461903},"19":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":4.0},"39":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":3.3166247903554},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":4.0},"58":{"tf":4.0},"59":{"tf":2.0},"60":{"tf":2.449489742783178},"61":{"tf":2.6457513110645907},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":2,"docs":{"11":{"tf":1.0},"35":{"tf":1.7320508075688772}}},"d":{"=":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":2,"docs":{"57":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951}},"e":{"a":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"63":{"tf":1.0}},"i":{"df":4,"docs":{"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":3.0}}}}}}}},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":8,"docs":{"37":{"tf":1.0},"52":{"tf":1.0},"57":{"tf":2.6457513110645907},"58":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.3166247903554},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"13":{"tf":1.0},"55":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"39":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":4.123105625617661},"54":{"tf":1.0},"58":{"tf":2.6457513110645907},"6":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"<":{"'":{"a":{"df":2,"docs":{"50":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":6,"docs":{"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"60":{"tf":1.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"(":{"&":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":12,"docs":{"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"48":{"tf":2.23606797749979},"49":{"tf":3.4641016151377544},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"62":{"tf":1.4142135623730951},"65":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":23,"docs":{"14":{"tf":1.0},"25":{"tf":2.23606797749979},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":5.385164807134504},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":3.3166247903554},"53":{"tf":3.605551275463989},"54":{"tf":2.6457513110645907},"55":{"tf":3.1622776601683795},"57":{"tf":1.4142135623730951},"58":{"tf":3.1622776601683795},"59":{"tf":5.291502622129181},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":3.7416573867739413},"63":{"tf":3.605551275463989},"65":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"15":{"tf":1.0},"39":{"tf":1.0}}}}}}},"df":2,"docs":{"23":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0}}}},"s":{"df":1,"docs":{"52":{"tf":1.0}},"s":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}}},"n":{"c":{"df":1,"docs":{"58":{"tf":1.0}},"h":{"df":1,"docs":{"57":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"d":{"df":11,"docs":{"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"87":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"19":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"54":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"23":{"tf":1.0}}}}}}}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"35":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"19":{"tf":1.4142135623730951},"53":{"tf":2.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"54":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":3.0}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"19":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"u":{"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":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{")":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":4,"docs":{"14":{"tf":1.0},"50":{"tf":2.0},"74":{"tf":2.8284271247461903},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":26,"docs":{"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":2.0},"58":{"tf":2.0},"59":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":2.23606797749979},"68":{"tf":2.8284271247461903},"82":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"3":{"tf":1.4142135623730951},"85":{"tf":3.0},"86":{"tf":1.7320508075688772},"89":{"tf":2.6457513110645907}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"85":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"c":{"df":8,"docs":{"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"63":{"tf":2.8284271247461903}},"e":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":17,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"23":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":8,"docs":{"11":{"tf":2.6457513110645907},"13":{"tf":1.0},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":3,"docs":{"63":{"tf":1.0},"68":{"tf":3.4641016151377544},"70":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"58":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}},"f":{"a":{"c":{"df":5,"docs":{"42":{"tf":1.0},"49":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"58":{"tf":2.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}}}},"n":{"df":3,"docs":{"55":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}}}},"o":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"1":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"55":{"tf":1.0}},"t":{"df":3,"docs":{"1":{"tf":1.7320508075688772},"2":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":5,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"23":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}}}}},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"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":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":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":{"42":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"v":{"4":{"(":{"1":{"2":{"7":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{":":{":":{"1":{"df":1,"docs":{"35":{"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":2,"docs":{"35":{"tf":2.449489742783178},"46":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":1.0}},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":3.1622776601683795}}}}}}}},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"11":{"tf":1.0}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"44":{"tf":1.0},"46":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"63":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"t":{"'":{"df":26,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":3.872983346207417},"54":{"tf":2.23606797749979},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":2.6457513110645907},"59":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"l":{"df":18,"docs":{"12":{"tf":1.0},"14":{"tf":2.0},"34":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":2.23606797749979},"54":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0}}}}},"_":{"a":{"d":{"d":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":1,"docs":{"68":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"7":{"5":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"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":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"65":{"tf":1.0},"68":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":15,"docs":{"19":{"tf":1.0},"21":{"tf":1.4142135623730951},"42":{"tf":3.3166247903554},"46":{"tf":1.0},"49":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.7320508075688772}}},"r":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"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":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}},"t":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"47":{"tf":1.0},"52":{"tf":5.744562646538029},"54":{"tf":1.0},"59":{"tf":2.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"34":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0}}}}}},"’":{"df":14,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.0},"76":{"tf":1.0}}}},"’":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"o":{"b":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"84":{"tf":1.0}}}}}}}},"s":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}},"k":{"'":{".":{".":{"=":{"'":{"df":0,"docs":{},"z":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"40":{"tf":1.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":9,"docs":{"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"63":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"15":{"tf":1.4142135623730951},"28":{"tf":1.0},"42":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.8284271247461903},"68":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":2.23606797749979}}}}}}},"n":{"d":{"df":9,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":17,"docs":{"10":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.4142135623730951},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"n":{"df":8,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"60":{"tf":2.23606797749979}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":20,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.4142135623730951},"23":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":2.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":2.6457513110645907},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"&":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":3,"docs":{"35":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":3.0}}}}}}},"s":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":8,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"74":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}},"r":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"21":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"k":{"df":3,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"58":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":8,"docs":{"1":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"87":{"tf":1.0},"89":{"tf":1.0}}}},"v":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"65":{"tf":2.0}}}},"n":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":2.0},"27":{"tf":1.0},"28":{"tf":1.0},"60":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"21":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"t":{"'":{"df":10,"docs":{"14":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0}}},"df":6,"docs":{"33":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"57":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":5,"docs":{"12":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.7320508075688772},"58":{"tf":1.0},"89":{"tf":2.23606797749979}}}}},"x":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"30":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"68":{"tf":1.0},"89":{"tf":1.0}}}},"df":3,"docs":{"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"89":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":14,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":2.449489742783178},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}},"y":{"'":{"df":1,"docs":{"68":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":1,"docs":{"55":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"30":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":2.0},"47":{"tf":1.0},"50":{"tf":8.366600265340756},"51":{"tf":2.449489742783178},"53":{"tf":1.0},"58":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"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":{"(":{"8":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":6,"docs":{"27":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"'":{"a":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":15,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"62":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":2.0},"8":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"60":{"tf":1.0}}}},"k":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}}},"t":{"df":1,"docs":{"89":{"tf":1.0}}},"u":{"df":0,"docs":{},"x":{"df":3,"docs":{"3":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"61":{"tf":2.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":9,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":4.358898943540674},"55":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":2.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":4,"docs":{"50":{"tf":3.0},"52":{"tf":1.0},"68":{"tf":2.0},"89":{"tf":1.0}}}}},"o":{"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"74":{"tf":1.0},"86":{"tf":1.0}}},"t":{"df":7,"docs":{"2":{"tf":1.0},"31":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"2":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.6457513110645907}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"50":{"tf":2.8284271247461903},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"x":{"df":1,"docs":{"50":{"tf":1.0}}}},"<":{"'":{"a":{">":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"a":{"df":0,"docs":{},"n":{"_":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"<":{"'":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":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":{"50":{"tf":2.0},"51":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"k":{"df":13,"docs":{"20":{"tf":1.0},"23":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"44":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"p":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"19":{"tf":4.795831523312719},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"t":{"df":2,"docs":{"46":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"w":{"df":3,"docs":{"12":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.0}}}}}}},"m":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"o":{"df":2,"docs":{"3":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}}}},"df":13,"docs":{"16":{"tf":1.0},"3":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"56":{"tf":1.0},"62":{"tf":8.246211251235321},"63":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"72":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":4,"docs":{"3":{"tf":2.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"df":34,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"19":{"tf":2.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":2.0},"31":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":3.1622776601683795},"48":{"tf":2.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":4.123105625617661},"54":{"tf":5.291502622129181},"55":{"tf":1.4142135623730951},"57":{"tf":3.0},"58":{"tf":2.0},"59":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.7320508075688772},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"54":{"tf":1.0},"62":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}},"k":{"df":0,"docs":{},"e":{"df":31,"docs":{"10":{"tf":1.0},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"42":{"tf":2.6457513110645907},"44":{"tf":2.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"76":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"s":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"26":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}},"x":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"14":{"tf":1.0},"2":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"3":{"tf":1.0},"54":{"tf":1.0},"89":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"55":{"tf":1.0},"65":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"31":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"|":{"(":{"a":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}},".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"0":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":5,"docs":{"38":{"tf":1.0},"40":{"tf":2.23606797749979},"42":{"tf":1.0},"52":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"r":{"df":0,"docs":{},"k":{"df":6,"docs":{"3":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"q":{"df":2,"docs":{"0":{"tf":1.0},"83":{"tf":2.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":16,"docs":{"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.7320508075688772},"37":{"tf":5.291502622129181},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"46":{"tf":3.3166247903554},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":6.164414002968976},"60":{"tf":2.0},"62":{"tf":3.605551275463989},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"84":{"tf":1.0}}}}},"h":{"df":1,"docs":{"16":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"60":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"y":{"df":1,"docs":{"65":{"tf":1.0}}}},"x":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"72":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}}}},"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"n":{"df":22,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.0},"90":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"33":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":3,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"15":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":9,"docs":{"47":{"tf":1.7320508075688772},"48":{"tf":1.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.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"44":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"52":{"tf":1.0}},"i":{"df":18,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":1.4142135623730951},"2":{"tf":2.6457513110645907},"20":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.7320508075688772},"26":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":3.4641016151377544},"54":{"tf":2.23606797749979},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"62":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"31":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"58":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"35":{"tf":1.7320508075688772},"46":{"tf":2.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"57":{"tf":1.7320508075688772},"65":{"tf":2.23606797749979}},"e":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"1":{"2":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"(":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"b":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":2.0}}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.1622776601683795}}}}}}},"t":{"a":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"s":{"(":{"df":0,"docs":{},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"o":{"d":{"df":18,"docs":{"14":{"tf":1.4142135623730951},"34":{"tf":4.123105625617661},"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":3.1622776601683795},"50":{"tf":2.6457513110645907},"52":{"tf":2.23606797749979},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":2.449489742783178},"58":{"tf":2.449489742783178},"59":{"tf":2.0},"60":{"tf":1.0},"63":{"tf":2.23606797749979},"79":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"58":{"tf":2.23606797749979}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"59":{"tf":2.0},"60":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"3":{"2":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"d":{"df":2,"docs":{"54":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"37":{"tf":1.0},"60":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"35":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"(":{"c":{"1":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}},"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"<":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"k":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":5,"docs":{"42":{"tf":3.0},"44":{"tf":2.449489742783178},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"i":{"df":4,"docs":{"53":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"41":{"tf":1.0},"43":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0}}}},"df":6,"docs":{"41":{"tf":1.0},"42":{"tf":5.0990195135927845},"44":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"68":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"66":{"tf":1.0}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"48":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":28,"docs":{"14":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":2.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":2.0},"90":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"46":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"14":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":3.7416573867739413},"24":{"tf":1.0},"26":{"tf":3.4641016151377544},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":3.1622776601683795},"54":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"p":{"df":0,"docs":{},"s":{"c":{":":{":":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":2.0}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":17,"docs":{"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"30":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":3.1622776601683795},"54":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.0},"62":{"tf":1.0},"68":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":17,"docs":{"14":{"tf":1.4142135623730951},"28":{"tf":2.449489742783178},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":4.47213595499958},"54":{"tf":1.0},"58":{"tf":3.1622776601683795},"6":{"tf":1.4142135623730951},"7":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":2.449489742783178}}}},"df":0,"docs":{},"t":{"df":4,"docs":{"34":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0}}}},"df":24,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":3.3166247903554},"34":{"tf":2.0},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.6457513110645907},"42":{"tf":1.0},"46":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.8284271247461903},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":4.123105625617661},"59":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"x":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":1,"docs":{"54":{"tf":3.4641016151377544}},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"_":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{":":{":":{"a":{"d":{"d":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":2,"docs":{"69":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"r":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"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":{"53":{"tf":1.4142135623730951}}}}},"t":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":30,"docs":{"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":1.7320508075688772},"42":{"tf":3.7416573867739413},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.23606797749979},"61":{"tf":1.7320508075688772},"62":{"tf":3.872983346207417},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.23606797749979},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.7320508075688772},"87":{"tf":2.0},"89":{"tf":2.0},"9":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"n":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}}},"df":2,"docs":{"52":{"tf":1.0},"74":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":31,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":2.449489742783178},"52":{"tf":3.1622776601683795},"53":{"tf":2.449489742783178},"54":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.449489742783178},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"65":{"tf":2.0},"68":{"tf":2.0},"7":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":2,"docs":{"11":{"tf":1.0},"46":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"57":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"23":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":3.1622776601683795},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"w":{"(":{"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":0,"docs":{}},"x":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.0}}}},"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":28,"docs":{"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":2.0},"8":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"21":{"tf":1.0},"39":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"65":{"tf":1.0},"86":{"tf":2.23606797749979}}}}}}},"l":{"df":1,"docs":{"53":{"tf":4.242640687119285}}}},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}},"e":{"df":13,"docs":{"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"39":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"57":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"14":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"h":{"df":4,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0}}},"i":{"c":{"df":7,"docs":{"44":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"'":{".":{"'":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"(":{"\"":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":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":{"50":{"tf":1.0}}}}},"w":{"df":21,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.6457513110645907},"60":{"tf":2.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0}}}},"s":{"/":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"2":{"tf":2.0},"35":{"tf":3.1622776601683795},"37":{"tf":1.0},"58":{"tf":1.4142135623730951}},"’":{"df":1,"docs":{"35":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":22,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"18":{"tf":4.123105625617661},"19":{"tf":2.449489742783178},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":5.291502622129181},"57":{"tf":3.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"69":{"tf":1.0},"74":{"tf":2.23606797749979},"88":{"tf":1.0},"89":{"tf":1.0}}}}},"df":6,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":2.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.449489742783178},"60":{"tf":1.0}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"55":{"tf":1.0}}},".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}}},"df":4,"docs":{"33":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":4.58257569495584}},"’":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"c":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"2":{"tf":1.0},"30":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"55":{"tf":2.23606797749979}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"(":{"_":{"df":2,"docs":{"46":{"tf":1.0},"60":{"tf":1.0}}},"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":1,"docs":{"46":{"tf":1.7320508075688772}},"f":{"c":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}},"t":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"48":{"tf":1.0}}}},"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"26":{"tf":1.0},"58":{"tf":1.0},"72":{"tf":1.0}}}},"df":6,"docs":{"46":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"74":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"l":{"d":{"df":4,"docs":{"39":{"tf":1.0},"40":{"tf":1.0},"54":{"tf":1.4142135623730951},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"c":{"df":11,"docs":{"12":{"tf":1.4142135623730951},"18":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.4142135623730951},"9":{"tf":1.0}}},"df":35,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.7320508075688772},"22":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":2.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.0},"44":{"tf":2.449489742783178},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":2.6457513110645907},"52":{"tf":2.8284271247461903},"53":{"tf":3.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"57":{"tf":2.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"66":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":2.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":2.23606797749979},"86":{"tf":1.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"r":{"df":21,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":3.4641016151377544},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":2.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"89":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"52":{"tf":1.0},"89":{"tf":2.0}}},"o":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"<":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"df":1,"docs":{"39":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"3":{"2":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":2.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"63":{"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":2,"docs":{"52":{"tf":1.0},"59":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":6,"docs":{"35":{"tf":2.449489742783178},"37":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":6,"docs":{"16":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"55":{"tf":1.0},"66":{"tf":1.0}}}}}}},"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":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}}}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"57":{"tf":1.0}}}}},"d":{"df":1,"docs":{"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":2.23606797749979},"37":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.4142135623730951},"42":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"33":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":2.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"49":{"tf":1.0},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}},"r":{".":{"0":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}}}},"i":{"df":2,"docs":{"48":{"tf":1.0},"59":{"tf":1.0}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}}}}},"df":4,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"34":{"tf":1.0},"59":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"46":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{":":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}}},"df":4,"docs":{"19":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"65":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"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":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":2.0}}}}}}}}},"v":{"df":1,"docs":{"54":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":15,"docs":{"14":{"tf":1.0},"19":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"59":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"27":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}},"df":14,"docs":{"14":{"tf":2.0},"21":{"tf":1.0},"35":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"11":{"tf":1.0},"53":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":2,"docs":{"52":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":3,"docs":{"49":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"53":{"tf":3.0},"57":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":17,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.23606797749979},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"4":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":3.0},"54":{"tf":2.6457513110645907},"57":{"tf":1.0}}}}}}}}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"1":{")":{".":{"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":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"48":{"tf":1.0}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"3":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":1,"docs":{"48":{"tf":1.0}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":3.3166247903554},"44":{"tf":2.23606797749979},"55":{"tf":1.0},"85":{"tf":1.4142135623730951},"89":{"tf":2.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"df":2,"docs":{"34":{"tf":1.0},"52":{"tf":1.0}}}},"n":{"c":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"62":{"tf":3.3166247903554}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"!":{"(":{"\"":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":2.23606797749979}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"14":{"tf":1.0},"39":{"tf":1.0},"46":{"tf":5.0990195135927845},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":3.872983346207417},"69":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"54":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"15":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":4.242640687119285},"51":{"tf":2.0},"52":{"tf":1.4142135623730951},"57":{"tf":2.449489742783178},"59":{"tf":2.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"’":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":3,"docs":{"35":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"s":{"df":3,"docs":{"62":{"tf":1.0},"74":{"tf":1.7320508075688772},"78":{"tf":2.8284271247461903}}},"t":{"df":21,"docs":{"13":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":2.23606797749979},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.8284271247461903},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"_":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"q":{"df":3,"docs":{"59":{"tf":1.0},"63":{"tf":2.23606797749979},"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"49":{"tf":2.0},"63":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":9,"docs":{"28":{"tf":1.0},"37":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":27,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":2.449489742783178},"62":{"tf":1.0},"65":{"tf":2.8284271247461903},"66":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":2.449489742783178},"79":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"41":{"tf":1.0},"42":{"tf":4.0},"44":{"tf":1.0},"62":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":13,"docs":{"36":{"tf":1.7320508075688772},"37":{"tf":3.1622776601683795},"4":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":2.6457513110645907},"56":{"tf":1.0},"57":{"tf":5.291502622129181},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"72":{"tf":1.0}}}}}}}},"df":3,"docs":{"44":{"tf":1.4142135623730951},"48":{"tf":1.0},"57":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"21":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":2.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"’":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"r":{"df":2,"docs":{"19":{"tf":1.0},"57":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"30":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":15,"docs":{"16":{"tf":1.0},"23":{"tf":2.23606797749979},"24":{"tf":1.0},"35":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"61":{"tf":1.0}},"’":{"df":1,"docs":{"60":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"e":{"c":{"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":9,"docs":{"21":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.0},"72":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"37":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"65":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"37":{"tf":1.0}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"37":{"tf":1.0}}}}},"x":{"df":2,"docs":{"15":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"<":{"df":0,"docs":{},"f":{"3":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":1,"docs":{"48":{"tf":2.0}}},"x":{"1":{"df":1,"docs":{"48":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}},"df":13,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":3.1622776601683795},"53":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":3.7416573867739413},"58":{"tf":1.4142135623730951},"59":{"tf":3.7416573867739413},"63":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":12,"docs":{"13":{"tf":1.4142135623730951},"2":{"tf":2.0},"21":{"tf":2.23606797749979},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"53":{"tf":5.0990195135927845},"54":{"tf":1.0},"58":{"tf":4.47213595499958},"60":{"tf":1.7320508075688772},"61":{"tf":2.23606797749979}}}}}}},"l":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":2.0}}}}}}}}},"p":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"39":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":23,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":3.3166247903554},"37":{"tf":2.6457513110645907},"39":{"tf":1.4142135623730951},"46":{"tf":2.449489742783178},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"60":{"tf":2.0},"63":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"55":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"55":{"tf":2.449489742783178},"62":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"53":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}}},"df":1,"docs":{"50":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"13":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"72":{"tf":1.0}}}},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"23":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"19":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":3,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"t":{"!":{"(":{"\"":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"60":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"&":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"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":12,"docs":{"14":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":1.0},"46":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"f":{"(":{"\"":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"n":{"!":{"(":{"\"":{"*":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"49":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}},"df":2,"docs":{"53":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"15":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"w":{"df":1,"docs":{"61":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}}},"b":{"df":1,"docs":{"53":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":1,"docs":{"34":{"tf":1.0}}}},"df":1,"docs":{"53":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}}}}}},"df":0,"docs":{}}}}}}}}},"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":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"57":{"tf":1.0}}}}}},"df":0,"docs":{}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"57":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":4,"docs":{"15":{"tf":1.0},"3":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":2.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"i":{"df":2,"docs":{"54":{"tf":2.449489742783178},"60":{"tf":1.0}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"19":{"tf":1.4142135623730951}}}}}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"54":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}},"o":{"df":1,"docs":{"57":{"tf":1.0}}},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"18":{"tf":2.449489742783178}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":2.23606797749979}}}},"p":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"3":{".":{"df":0,"docs":{},"x":{"df":1,"docs":{"48":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"2":{"df":1,"docs":{"58":{"tf":1.0}}},"df":1,"docs":{"50":{"tf":1.4142135623730951}}},"s":{"1":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"h":{"df":15,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"49":{"tf":2.0},"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}},"i":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"57":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.0}}},"s":{"df":1,"docs":{"57":{"tf":2.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":1,"docs":{"59":{"tf":1.0}}},"x":{"df":2,"docs":{"57":{"tf":1.0},"60":{"tf":1.0}}},"y":{"df":1,"docs":{"57":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"14":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":3.0},"59":{"tf":2.23606797749979},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"v":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"42":{"tf":2.449489742783178},"68":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"b":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":13,"docs":{"23":{"tf":1.7320508075688772},"30":{"tf":3.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.6457513110645907},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0}}}}}},"c":{"_":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"62":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":3.0}}}}},"df":2,"docs":{"35":{"tf":1.0},"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"72":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"u":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0}},"t":{"df":1,"docs":{"72":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":1,"docs":{"65":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}},"e":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.0},"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":2,"docs":{"14":{"tf":1.0},"54":{"tf":1.0}}},"df":20,"docs":{"1":{"tf":1.0},"20":{"tf":2.0},"3":{"tf":2.23606797749979},"33":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.6457513110645907},"47":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":2.23606797749979},"57":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}},"m":{"df":10,"docs":{"20":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"'":{"df":2,"docs":{"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}}},"’":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},"df":16,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":2.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"73":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":3.1622776601683795},"90":{"tf":1.0}},"s":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"46":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"37":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"85":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":2,"docs":{"46":{"tf":1.0},"81":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"72":{"tf":1.0}}},"i":{"d":{"df":15,"docs":{"14":{"tf":1.7320508075688772},"2":{"tf":2.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"u":{"b":{"df":13,"docs":{"42":{"tf":4.358898943540674},"44":{"tf":3.7416573867739413},"49":{"tf":4.242640687119285},"53":{"tf":2.0},"55":{"tf":3.1622776601683795},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"c":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"68":{"tf":1.0}}}}},"df":4,"docs":{"42":{"tf":3.1622776601683795},"55":{"tf":1.4142135623730951},"60":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"49":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"21":{"tf":2.0},"23":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}}},"t":{"df":5,"docs":{"35":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"60":{"tf":1.4142135623730951}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"2":{"tf":1.0},"42":{"tf":1.0}}}}}}}},"q":{"df":1,"docs":{"49":{"tf":1.0}},"u":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"df":1,"docs":{"37":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"65":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"62":{"tf":2.0}},"e":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"#":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}},"1":{"df":2,"docs":{"30":{"tf":3.3166247903554},"58":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"30":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"30":{"tf":2.0}}},"a":{"c":{"df":0,"docs":{},"e":{"df":5,"docs":{"2":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"n":{"d":{"'":{"df":1,"docs":{"42":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{")":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"1":{".":{".":{"1":{"0":{"1":{"df":2,"docs":{"42":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":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":{"42":{"tf":1.4142135623730951},"74":{"tf":1.0}},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":1,"docs":{"74":{"tf":2.0}}}}},"df":1,"docs":{"54":{"tf":1.4142135623730951}},"g":{"df":7,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"57":{"tf":2.23606797749979},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":2,"docs":{"58":{"tf":3.872983346207417},"63":{"tf":2.449489742783178}}}},"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":2.0}}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"(":{"&":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"(":{"1":{"0":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"5":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"o":{"d":{"df":1,"docs":{"53":{"tf":2.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"5":{"df":1,"docs":{"53":{"tf":1.0}}},"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":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"<":{"df":0,"docs":{},"t":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"53":{"tf":3.605551275463989},"54":{"tf":2.8284271247461903}}}},"df":1,"docs":{"53":{"tf":2.449489742783178}}},"df":4,"docs":{"50":{"tf":2.6457513110645907},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0}},"e":{"a":{"d":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":16,"docs":{"11":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":2.23606797749979},"89":{"tf":1.0}},"i":{"df":2,"docs":{"46":{"tf":1.0},"65":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"72":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"29":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"68":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":4,"docs":{"13":{"tf":1.0},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":3.1622776601683795}},"e":{"df":0,"docs":{},"r":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":3,"docs":{"39":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":1,"docs":{"46":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.23606797749979}}}}}},"t":{"1":{".":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"(":{"&":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"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":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"34":{"tf":2.6457513110645907}}},"2":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":5.196152422706632},"65":{"tf":2.23606797749979}},"e":{".":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}}},"1":{"df":1,"docs":{"65":{"tf":1.0}}},"2":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"3":{"df":1,"docs":{"34":{"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":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"d":{"df":4,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":2.23606797749979},"53":{"tf":1.0},"60":{"tf":1.0}},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"55":{"tf":1.0},"72":{"tf":2.0}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"53":{"tf":2.6457513110645907},"54":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"r":{"c":{":":{":":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"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":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":2,"docs":{"53":{"tf":3.1622776601683795},"54":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"c":{"<":{"df":0,"docs":{},"r":{"c":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":30,"docs":{"13":{"tf":1.0},"14":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":3.872983346207417},"29":{"tf":1.4142135623730951},"30":{"tf":2.8284271247461903},"31":{"tf":3.4641016151377544},"32":{"tf":2.0},"34":{"tf":2.6457513110645907},"35":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":5.477225575051661},"52":{"tf":1.4142135623730951},"53":{"tf":6.324555320336759},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0},"84":{"tf":1.0}},"e":{"c":{"df":1,"docs":{"50":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"54":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"31":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"’":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":2.6457513110645907}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"2":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"s":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":2.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"65":{"tf":1.0}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"37":{"tf":1.7320508075688772},"45":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":6,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"y":{"_":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":2.449489742783178}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":2.0}}}}}},"df":1,"docs":{"72":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":5,"docs":{"14":{"tf":1.0},"40":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":10,"docs":{"11":{"tf":1.7320508075688772},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}}},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"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":{"19":{"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":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"df":15,"docs":{"39":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":2.6457513110645907},"69":{"tf":1.0},"72":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"34":{"tf":1.0},"53":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"18":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"49":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"c":{"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":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"46":{"tf":2.0},"74":{"tf":1.0}}}}},"t":{",":{"df":1,"docs":{"48":{"tf":1.0}}},"df":5,"docs":{"46":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.0},"87":{"tf":1.0}}},"u":{"8":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}}},"df":26,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":3.3166247903554},"52":{"tf":2.0},"53":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"46":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}},"n":{"df":30,"docs":{"12":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.8284271247461903},"16":{"tf":2.0},"19":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":3.4641016151377544},"27":{"tf":1.7320508075688772},"28":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"46":{"tf":3.3166247903554},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.449489742783178},"61":{"tf":2.8284271247461903},"63":{"tf":1.7320508075688772},"65":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.0},"79":{"tf":1.7320508075688772}},"s":{"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.7320508075688772}}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"19":{"tf":1.0},"53":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"g":{"b":{"(":{"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"h":{"df":1,"docs":{"59":{"tf":2.23606797749979}},"s":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0}}}},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"55":{"tf":1.0},"58":{"tf":1.0}},"i":{"df":1,"docs":{"54":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":1.7320508075688772}}},"t":{"df":2,"docs":{"42":{"tf":3.0},"88":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"t":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"(":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}}},"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{":":{":":{"df":0,"docs":{},"v":{"4":{"df":1,"docs":{"35":{"tf":1.0}}},"6":{"df":1,"docs":{"35":{"tf":1.0}}},"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":1,"docs":{"39":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":11,"docs":{"20":{"tf":1.7320508075688772},"22":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"n":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":20,"docs":{"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":3.0},"45":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.8284271247461903},"64":{"tf":1.0},"65":{"tf":2.23606797749979},"66":{"tf":4.242640687119285},"68":{"tf":2.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.0},"88":{"tf":2.0},"89":{"tf":2.23606797749979}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"65":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":10,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":2.6457513110645907},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"7":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":9,"docs":{"15":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"63":{"tf":1.0}}},"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"=":{"1":{"df":1,"docs":{"46":{"tf":1.0}}},"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":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"a":{"c":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":2,"docs":{"14":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":3,"docs":{"3":{"tf":1.0},"42":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"df":74,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"13":{"tf":2.23606797749979},"14":{"tf":2.449489742783178},"15":{"tf":2.23606797749979},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":2.6457513110645907},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":3.1622776601683795},"24":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":3.0},"36":{"tf":1.0},"37":{"tf":2.449489742783178},"39":{"tf":1.0},"4":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":3.1622776601683795},"52":{"tf":1.7320508075688772},"53":{"tf":4.47213595499958},"54":{"tf":2.8284271247461903},"55":{"tf":2.449489742783178},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"58":{"tf":4.358898943540674},"59":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":3.605551275463989},"63":{"tf":1.7320508075688772},"64":{"tf":2.23606797749979},"65":{"tf":2.8284271247461903},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":2.6457513110645907},"87":{"tf":2.449489742783178},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"90":{"tf":3.1622776601683795}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":3.0}}}},"’":{"df":7,"docs":{"14":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"58":{"tf":1.0},"7":{"tf":1.0}}}}}},"x":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"(":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"54":{"tf":2.0}}}},"s":{"'":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}},".":{"a":{"df":0,"docs":{},"s":{"_":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"26":{"tf":1.0},"28":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"\"":{"b":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"14":{"tf":1.0}}}}}}},"1":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"24":{"tf":1.0}}}}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":8,"docs":{"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"23":{"tf":3.4641016151377544},"24":{"tf":1.7320508075688772},"26":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}},"2":{"df":5,"docs":{"14":{"tf":2.6457513110645907},"23":{"tf":3.3166247903554},"24":{"tf":2.0},"26":{"tf":2.449489742783178},"60":{"tf":1.4142135623730951}}},"3":{"df":2,"docs":{"14":{"tf":2.0},"26":{"tf":1.7320508075688772}}},"[":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"5":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{".":{"1":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":6,"docs":{"2":{"tf":1.0},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"58":{"tf":3.3166247903554},"60":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":8,"docs":{"2":{"tf":1.7320508075688772},"35":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.449489742783178},"6":{"tf":1.0},"60":{"tf":1.0}}}}}},"l":{"a":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":32,"docs":{"12":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":2.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"44":{"tf":1.7320508075688772},"46":{"tf":1.7320508075688772},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"50":{"tf":1.0},"65":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":8,"docs":{"14":{"tf":1.4142135623730951},"23":{"tf":1.0},"40":{"tf":1.0},"44":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}},"y":{"df":1,"docs":{"58":{"tf":1.0}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":2.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":{"35":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":21,"docs":{"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":3.7416573867739413},"27":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"42":{"tf":2.6457513110645907},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"40":{"tf":3.0}},"s":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"\"":{")":{")":{".":{"df":0,"docs":{},"o":{"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":{"(":{"5":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"t":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"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":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":2.449489742783178}}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.7320508075688772}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}},"df":1,"docs":{"55":{"tf":2.6457513110645907}}}},"w":{"df":1,"docs":{"72":{"tf":1.0}}}}}},"df":10,"docs":{"14":{"tf":3.4641016151377544},"26":{"tf":2.0},"27":{"tf":2.0},"28":{"tf":1.7320508075688772},"30":{"tf":4.123105625617661},"31":{"tf":1.7320508075688772},"46":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":3.3166247903554}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"21":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"21":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"df":7,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":2.0},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"1":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"47":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"46":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":12,"docs":{"26":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.7320508075688772},"82":{"tf":1.0}},"m":{"df":2,"docs":{"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":2,"docs":{"55":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"f":{".":{"0":{".":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":2,"docs":{"53":{"tf":1.0},"59":{"tf":1.0}}},"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{")":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"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":{},"m":{"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":{},"s":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.0}}}}}}}},"i":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"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":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"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":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"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":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"34":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"x":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":3,"docs":{"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"(":{"2":{")":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"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":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"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":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":3.3166247903554},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"59":{"tf":3.0},"60":{"tf":1.0},"86":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}}},"n":{"d":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":8,"docs":{"26":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":3.1622776601683795},"58":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":5,"docs":{"37":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.449489742783178}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"34":{"tf":1.0},"54":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"42":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":2.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"37":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"14":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"37":{"tf":1.0},"52":{"tf":1.0}}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}}},"t":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":8,"docs":{"15":{"tf":1.0},"20":{"tf":1.4142135623730951},"44":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"86":{"tf":1.0},"89":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"57":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.6457513110645907},"9":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"23":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":2.6457513110645907},"55":{"tf":2.449489742783178},"68":{"tf":1.0}}}}},"df":1,"docs":{"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":3,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"60":{"tf":1.0}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"57":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"65":{"tf":2.23606797749979}},"i":{"c":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"w":{"df":4,"docs":{"42":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"n":{"df":2,"docs":{"50":{"tf":1.0},"88":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":2,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":1.4142135623730951}}}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"34":{"tf":1.0},"49":{"tf":2.8284271247461903},"50":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":2,"docs":{"11":{"tf":1.4142135623730951},"37":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"12":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"i":{"df":3,"docs":{"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":11,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"2":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":4,"docs":{"18":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"60":{"tf":1.0}}},"z":{"df":0,"docs":{},"e":{"d":{">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":11,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.7320508075688772},"23":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":2.449489742783178},"60":{"tf":4.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"52":{"tf":1.0},"57":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"72":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"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":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"df":8,"docs":{"12":{"tf":1.7320508075688772},"13":{"tf":2.449489742783178},"14":{"tf":4.123105625617661},"29":{"tf":2.23606797749979},"50":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"21":{"tf":1.4142135623730951},"48":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"45":{"tf":1.0},"58":{"tf":1.0},"68":{"tf":1.7320508075688772},"90":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":4.123105625617661},"54":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":8,"docs":{"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":10,"docs":{"73":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"35":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"v":{"df":3,"docs":{"23":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"(":{"\"":{"a":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"&":{"1":{"0":{"df":1,"docs":{"40":{"tf":1.0}}},"df":1,"docs":{"52":{"tf":1.0}}},"2":{"df":1,"docs":{"52":{"tf":1.0}}},"3":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"3":{"df":1,"docs":{"39":{"tf":1.0}},"u":{"8":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"4":{"df":1,"docs":{"57":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":3,"docs":{"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"57":{"tf":1.4142135623730951}}},"_":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"37":{"tf":2.0},"57":{"tf":1.0}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"t":{"df":2,"docs":{"35":{"tf":1.0},"48":{"tf":1.0}},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}}},"v":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"x":{"df":1,"docs":{"57":{"tf":2.449489742783178}}}},"_":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"f":{"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":{},"t":{"df":1,"docs":{"49":{"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":{},"g":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"26":{"tf":2.6457513110645907},"35":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.0},"62":{"tf":1.0}},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":15,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"37":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"14":{"tf":1.0},"15":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"37":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"42":{"tf":1.0}}},"r":{"c":{"df":4,"docs":{"42":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.0},"21":{"tf":1.0},"39":{"tf":1.0},"44":{"tf":1.0},"68":{"tf":1.0},"8":{"tf":2.0},"87":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"8":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"54":{"tf":4.898979485566356}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"59":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"68":{"tf":1.0},"86":{"tf":1.0}},"i":{"df":14,"docs":{"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":3.605551275463989},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"66":{"tf":1.0},"90":{"tf":1.0}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"58":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"34":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}},"l":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"t":{"(":{"1":{"0":{".":{"1":{"2":{"df":1,"docs":{"39":{"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":{"(":{"3":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"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":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"q":{"df":1,"docs":{"34":{"tf":1.0}},"l":{"!":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.7320508075688772}}}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"b":{".":{"df":0,"docs":{},"r":{"df":7,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"65":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.0},"88":{"tf":1.4142135623730951}},"s":{":":{"5":{"6":{":":{"9":{"df":1,"docs":{"65":{"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":3,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772}},"s":{":":{"1":{"0":{"df":1,"docs":{"34":{"tf":1.0}}},"1":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"6":{":":{"7":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"1":{"5":{"df":1,"docs":{"34":{"tf":1.0}}},"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":2.0},"68":{"tf":2.23606797749979}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"f":{"df":1,"docs":{"85":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"k":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"57":{"tf":1.0}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"2":{"df":1,"docs":{"57":{"tf":1.0}}},"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":11,"docs":{"12":{"tf":1.0},"13":{"tf":1.0},"21":{"tf":3.3166247903554},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"57":{"tf":1.0},"63":{"tf":1.0}},"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":{"52":{"tf":1.0}}}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"21":{"tf":1.0}}}},"n":{"d":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}},"r":{"d":{"df":6,"docs":{"14":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"49":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":3,"docs":{"54":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":7,"docs":{"14":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"65":{"tf":1.7320508075688772},"74":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":10,"docs":{"21":{"tf":1.0},"37":{"tf":2.0},"46":{"tf":2.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":5.196152422706632},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":4.0},"18":{"tf":1.0},"37":{"tf":1.4142135623730951},"46":{"tf":1.0},"57":{"tf":2.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0}}}}}}},"i":{"c":{"df":6,"docs":{"10":{"tf":1.0},"50":{"tf":2.8284271247461903},"55":{"tf":1.7320508075688772},"58":{"tf":4.242640687119285},"60":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.4142135623730951}}}}},"u":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}},"y":{"df":2,"docs":{"53":{"tf":1.0},"57":{"tf":1.0}}}},"d":{":":{":":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"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":{"df":2,"docs":{"40":{"tf":2.449489742783178},"42":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"f":{"df":2,"docs":{"46":{"tf":1.0},"74":{"tf":1.0}},"m":{"df":0,"docs":{},"t":{":":{":":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"49":{"tf":1.0},"51":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"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":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"42":{"tf":1.0},"59":{"tf":1.7320508075688772}}}},"s":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":3.1622776601683795}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"o":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"60":{"tf":1.0}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":2,"docs":{"42":{"tf":1.0},"46":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"42":{"tf":1.7320508075688772},"46":{"tf":2.23606797749979},"74":{"tf":1.4142135623730951}}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{":":{":":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"59":{"tf":1.4142135623730951}},"s":{":":{":":{"a":{"d":{"d":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"c":{":":{":":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{":":{":":{"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":0,"docs":{},"t":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"n":{"c":{":":{":":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"{":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{":":{":":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"{":{"c":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{":":{":":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"h":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"34":{"tf":1.0},"65":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":4,"docs":{"28":{"tf":1.7320508075688772},"3":{"tf":1.0},"42":{"tf":1.0},"72":{"tf":3.3166247903554}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"46":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"78":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"df":26,"docs":{"12":{"tf":1.4142135623730951},"13":{"tf":1.7320508075688772},"14":{"tf":2.6457513110645907},"19":{"tf":1.0},"21":{"tf":3.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.4142135623730951},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":2.8284271247461903},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"74":{"tf":1.0}}}}},"r":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"8":{"(":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"f":{")":{".":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":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":{"79":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":15,"docs":{"13":{"tf":1.4142135623730951},"14":{"tf":3.605551275463989},"29":{"tf":2.8284271247461903},"34":{"tf":2.23606797749979},"46":{"tf":1.0},"50":{"tf":4.123105625617661},"51":{"tf":1.7320508075688772},"53":{"tf":3.4641016151377544},"55":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":2.8284271247461903},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.0},"74":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}},"2":{".":{"a":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"50":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"50":{"tf":2.23606797749979}}},":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"35":{"tf":1.0}}},"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":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}},"o":{"b":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":10,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"23":{"tf":1.0},"24":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"34":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":1,"docs":{"55":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":1,"docs":{"53":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"55":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"53":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"50":{"tf":1.0}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"53":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"@":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"1":{"2":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"t":{"a":{"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"14":{"tf":1.0}},"h":{"df":1,"docs":{"54":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":1,"docs":{"14":{"tf":1.0}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"y":{"df":0,"docs":{},"z":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}}},"y":{"df":2,"docs":{"54":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"49":{"tf":1.4142135623730951}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{"\"":{"1":{"2":{"7":{".":{"0":{".":{"0":{".":{"1":{":":{"8":{"0":{"8":{"0":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"14":{"tf":1.0},"46":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}},"df":0,"docs":{}},"[":{".":{".":{"1":{"2":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{".":{"3":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{".":{"1":{"4":{"df":1,"docs":{"13":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"13":{"tf":1.4142135623730951}}},"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":{"13":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"13":{"tf":1.0},"14":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"13":{"tf":2.23606797749979},"14":{"tf":1.0}}},"df":0,"docs":{}}}}},"`":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":34,"docs":{"11":{"tf":1.0},"13":{"tf":4.242640687119285},"14":{"tf":7.211102550927978},"18":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":2.449489742783178},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"27":{"tf":1.0},"28":{"tf":2.23606797749979},"29":{"tf":3.1622776601683795},"31":{"tf":1.0},"34":{"tf":2.6457513110645907},"35":{"tf":2.23606797749979},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"49":{"tf":3.7416573867739413},"50":{"tf":2.8284271247461903},"51":{"tf":1.0},"53":{"tf":3.1622776601683795},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":2.449489742783178},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":2.0},"74":{"tf":2.0},"77":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}},"y":{"!":{"(":{"#":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"52":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"e":{"df":1,"docs":{"35":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":2.6457513110645907}}}}},"u":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}},"df":17,"docs":{"33":{"tf":2.8284271247461903},"34":{"tf":5.477225575051661},"35":{"tf":4.123105625617661},"42":{"tf":2.6457513110645907},"48":{"tf":2.8284271247461903},"49":{"tf":1.7320508075688772},"50":{"tf":2.23606797749979},"52":{"tf":2.23606797749979},"53":{"tf":3.4641016151377544},"55":{"tf":3.4641016151377544},"57":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":3.1622776601683795},"60":{"tf":1.0},"62":{"tf":3.605551275463989},"63":{"tf":2.6457513110645907},"65":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"12":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":2.0},"42":{"tf":2.449489742783178},"43":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0}}}},"’":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"85":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":2,"docs":{"39":{"tf":1.0},"53":{"tf":2.0}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"52":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"u":{"b":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"55":{"tf":2.0}}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"68":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"r":{"df":2,"docs":{"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"46":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"46":{"tf":1.7320508075688772},"76":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"61":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":16,"docs":{"25":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"58":{"tf":2.0},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0},"72":{"tf":1.0}}},"k":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}}},"m":{"df":2,"docs":{"35":{"tf":1.0},"52":{"tf":1.7320508075688772}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.4142135623730951}},"i":{"df":1,"docs":{"49":{"tf":4.123105625617661}},"z":{"df":0,"docs":{},"e":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"49":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"y":{">":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"n":{"d":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"35":{"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":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":4,"docs":{"42":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"68":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.4142135623730951},"63":{"tf":1.0},"90":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":8,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"58":{"tf":1.0},"62":{"tf":1.0},"76":{"tf":1.0}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"37":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"46":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"46":{"tf":1.0}}}}}}},"n":{":":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"62":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"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":{"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"c":{"df":2,"docs":{"54":{"tf":2.8284271247461903},"58":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"30":{"tf":1.0}}}}}}},"df":1,"docs":{"62":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"55":{"tf":1.0},"60":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"x":{"df":12,"docs":{"13":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":2.449489742783178},"37":{"tf":2.0},"49":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":9,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0},"89":{"tf":1.4142135623730951}}}}}}}},"t":{"a":{"b":{"df":1,"docs":{"87":{"tf":1.0}},"l":{"df":3,"docs":{"21":{"tf":2.449489742783178},"55":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":18,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"26":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":2.6457513110645907},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"62":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}},"s":{"_":{"a":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"(":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"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":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"df":1,"docs":{"26":{"tf":1.0}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"k":{"df":3,"docs":{"41":{"tf":1.0},"47":{"tf":1.4142135623730951},"56":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"/":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"/":{"a":{"d":{"d":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"c":{"df":2,"docs":{"88":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"\\":{"d":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"\\":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"89":{"tf":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":{"44":{"tf":2.0},"53":{"tf":1.0},"68":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"63":{"tf":1.0}}}}},"df":13,"docs":{"35":{"tf":2.23606797749979},"37":{"tf":1.0},"48":{"tf":2.8284271247461903},"49":{"tf":3.605551275463989},"51":{"tf":2.449489742783178},"52":{"tf":3.0},"53":{"tf":4.0},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":3.1622776601683795},"63":{"tf":1.0},"87":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"0":{"tf":1.0},"40":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"61":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":2,"docs":{"52":{"tf":1.0},"58":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"1":{"tf":1.0},"15":{"tf":1.0},"37":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"$":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"62":{"tf":2.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"m":{"df":5,"docs":{"23":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"(":{"df":1,"docs":{"72":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"65":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":18,"docs":{"42":{"tf":1.0},"44":{"tf":2.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"57":{"tf":1.0},"64":{"tf":2.8284271247461903},"65":{"tf":7.0},"66":{"tf":6.708203932499369},"67":{"tf":2.0},"68":{"tf":7.280109889280518},"69":{"tf":3.4641016151377544},"70":{"tf":2.6457513110645907},"71":{"tf":2.0},"72":{"tf":4.0},"88":{"tf":2.6457513110645907},"89":{"tf":1.0}},"s":{"/":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{".":{"df":0,"docs":{},"r":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"s":{"df":1,"docs":{"65":{"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":{"66":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"74":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{")":{"?":{".":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{")":{".":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":3,"docs":{"40":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"55":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":7,"docs":{"37":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"57":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"’":{"df":5,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"60":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":5,"docs":{"46":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"i":{"df":3,"docs":{"52":{"tf":1.0},"59":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.0},"23":{"tf":1.0},"57":{"tf":1.0}}}}},"’":{"df":3,"docs":{"23":{"tf":1.0},"30":{"tf":1.0},"54":{"tf":1.0}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":1,"docs":{"62":{"tf":1.0}}},"v":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{},"’":{"df":0,"docs":{},"r":{"df":3,"docs":{"15":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":11,"docs":{"16":{"tf":1.0},"26":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"72":{"tf":1.0},"89":{"tf":1.0}}},"k":{"df":5,"docs":{"21":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"d":{"df":4,"docs":{"20":{"tf":1.0},"39":{"tf":2.0},"50":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":13,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"35":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},":":{":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"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":{"df":0,"docs":{},"m":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"s":{"(":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"52":{"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":{}}}}},"p":{"a":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"54":{"tf":2.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"df":9,"docs":{"2":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":9.0},"58":{"tf":2.23606797749979},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.7320508075688772},"74":{"tf":1.0}},"s":{"=":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"’":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":13,"docs":{"13":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":14,"docs":{"15":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"65":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"46":{"tf":1.0}}}}}}}},"w":{"df":5,"docs":{"14":{"tf":1.0},"31":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0}},"n":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}},"u":{"df":8,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"2":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"68":{"tf":1.0}},"n":{"df":0,"docs":{},"k":{"df":1,"docs":{"60":{"tf":2.449489742783178}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":19,"docs":{"10":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":2.0},"53":{"tf":3.1622776601683795},"54":{"tf":2.8284271247461903},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":2.0},"62":{"tf":2.0},"89":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"1":{".":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"o":{"df":2,"docs":{"72":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":8,"docs":{"33":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"62":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"62":{"tf":3.872983346207417}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":2.0}}}}},"df":0,"docs":{}}},"df":2,"docs":{"83":{"tf":2.0},"85":{"tf":1.0}}}},"p":{"df":4,"docs":{"21":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"57":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"13":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"54":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"37":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"49":{"tf":1.0},"55":{"tf":1.0}}},">":{":":{":":{"df":0,"docs":{},"f":{"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":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"59":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":21,"docs":{"14":{"tf":1.0},"25":{"tf":2.23606797749979},"34":{"tf":2.449489742783178},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":6.0},"51":{"tf":2.0},"52":{"tf":3.1622776601683795},"53":{"tf":3.872983346207417},"54":{"tf":2.449489742783178},"55":{"tf":4.123105625617661},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"59":{"tf":6.244997998398398},"60":{"tf":3.0},"61":{"tf":2.449489742783178},"62":{"tf":3.4641016151377544},"63":{"tf":2.8284271247461903},"74":{"tf":1.0}},"’":{"df":1,"docs":{"59":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"46":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":3,"docs":{"62":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"55":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.0},"60":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}}},"i":{"df":13,"docs":{"14":{"tf":1.0},"23":{"tf":1.0},"31":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"78":{"tf":1.0}},"m":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.4142135623730951}},"m":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"77":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"58":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":8,"docs":{"11":{"tf":1.0},"18":{"tf":2.0},"25":{"tf":1.0},"34":{"tf":1.7320508075688772},"53":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}},"y":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"v":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"12":{"tf":1.4142135623730951}},"l":{"df":12,"docs":{"12":{"tf":2.449489742783178},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"62":{"tf":1.7320508075688772}}}}},"v":{"df":1,"docs":{"53":{"tf":2.449489742783178}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"49":{"tf":3.7416573867739413}}}}},"o":{"df":29,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"2":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"42":{"tf":2.0},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.0},"65":{"tf":1.7320508075688772},"68":{"tf":1.0},"89":{"tf":1.0}}}},"x":{".":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{")":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"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":1,"docs":{"54":{"tf":1.0}}},"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":4,"docs":{"54":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":42,"docs":{"10":{"tf":2.6457513110645907},"11":{"tf":2.449489742783178},"12":{"tf":3.0},"13":{"tf":2.0},"14":{"tf":2.449489742783178},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"2":{"tf":1.7320508075688772},"25":{"tf":3.4641016151377544},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.6457513110645907},"35":{"tf":4.242640687119285},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":2.449489742783178},"46":{"tf":3.605551275463989},"48":{"tf":3.3166247903554},"49":{"tf":5.291502622129181},"50":{"tf":1.7320508075688772},"51":{"tf":2.8284271247461903},"52":{"tf":3.1622776601683795},"53":{"tf":3.4641016151377544},"54":{"tf":3.1622776601683795},"55":{"tf":4.47213595499958},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.6457513110645907},"59":{"tf":6.557438524302},"60":{"tf":6.244997998398398},"61":{"tf":2.8284271247461903},"62":{"tf":3.3166247903554},"63":{"tf":3.4641016151377544},"65":{"tf":1.0},"68":{"tf":1.4142135623730951},"74":{"tf":2.6457513110645907},"78":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.4142135623730951}},"’":{"df":2,"docs":{"59":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"1":{"2":{"8":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"2":{"df":11,"docs":{"25":{"tf":1.0},"34":{"tf":3.1622776601683795},"46":{"tf":1.0},"52":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":2.0},"65":{"tf":1.4142135623730951},"7":{"tf":1.0},"74":{"tf":1.7320508075688772},"87":{"tf":1.0}}},"df":0,"docs":{}},"6":{"4":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"8":{"df":5,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"14":{"tf":1.0},"35":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772}}},">":{"(":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"85":{"tf":1.0}}}}}}},"df":4,"docs":{"11":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"46":{"tf":1.0}}}}},"r":{"df":3,"docs":{"34":{"tf":1.0},"37":{"tf":1.0},"90":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"57":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"14":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"58":{"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":{"81":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"72":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"35":{"tf":1.0},"58":{"tf":2.6457513110645907}}}},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"4":{"tf":1.0}}}},"t":{"_":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"15":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":10,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":2.23606797749979},"70":{"tf":1.0}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":1.0},"86":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"26":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":11,"docs":{"16":{"tf":1.0},"28":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"68":{"tf":1.0},"8":{"tf":1.0},"87":{"tf":1.0}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":2.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"f":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":7.211102550927978}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"46":{"tf":1.0}}}},"z":{"df":1,"docs":{"60":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"46":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"60":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"_":{"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":{"63":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}}},"df":1,"docs":{"46":{"tf":1.4142135623730951}}}}},"df":6,"docs":{"46":{"tf":3.0},"54":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.7320508075688772},"78":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":2.0},"40":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.7320508075688772},"62":{"tf":1.0},"65":{"tf":1.0},"72":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":2,"docs":{"53":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"7":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"65":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":65,"docs":{"1":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"13":{"tf":2.23606797749979},"14":{"tf":2.8284271247461903},"15":{"tf":1.0},"19":{"tf":1.7320508075688772},"2":{"tf":3.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":2.23606797749979},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":5.0},"35":{"tf":3.605551275463989},"37":{"tf":3.3166247903554},"39":{"tf":2.23606797749979},"40":{"tf":3.1622776601683795},"42":{"tf":6.928203230275509},"44":{"tf":4.58257569495584},"46":{"tf":6.928203230275509},"48":{"tf":3.1622776601683795},"49":{"tf":3.7416573867739413},"50":{"tf":3.0},"51":{"tf":1.0},"52":{"tf":5.385164807134504},"53":{"tf":6.782329983125268},"54":{"tf":6.164414002968976},"55":{"tf":4.795831523312719},"57":{"tf":4.795831523312719},"58":{"tf":5.291502622129181},"59":{"tf":4.795831523312719},"60":{"tf":2.6457513110645907},"61":{"tf":3.3166247903554},"62":{"tf":4.898979485566356},"63":{"tf":4.47213595499958},"65":{"tf":3.605551275463989},"66":{"tf":1.4142135623730951},"68":{"tf":3.605551275463989},"69":{"tf":1.0},"7":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.3166247903554},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":2.449489742783178},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":2.8284271247461903},"89":{"tf":1.4142135623730951},"90":{"tf":1.7320508075688772}},"e":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}},"r":{"1":{".":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"34":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"34":{"tf":1.7320508075688772}}},"<":{"'":{"a":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"34":{"tf":2.8284271247461903},"46":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"34":{"tf":3.1622776601683795},"49":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"z":{"df":6,"docs":{"11":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"f":{"df":3,"docs":{"11":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":2.23606797749979}}},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"44":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}},"v":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"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":{"57":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"(":{"5":{"df":1,"docs":{"39":{"tf":1.0}}},"6":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"0":{".":{"1":{".":{"0":{"df":2,"docs":{"34":{"tf":1.0},"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":2.0}}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"52":{"tf":2.0}}}}}}},"df":1,"docs":{"52":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"4":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"4":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"u":{"8":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"6":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"6":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}}}}}},"df":1,"docs":{"35":{"tf":1.4142135623730951}}},"[":{"0":{"df":1,"docs":{"39":{"tf":1.0}}},"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"52":{"tf":3.0},"54":{"tf":2.6457513110645907},"60":{"tf":1.0}},"i":{"d":{"df":13,"docs":{"25":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"42":{"tf":1.0},"46":{"tf":2.0},"50":{"tf":2.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":44,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":3.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"2":{"tf":1.0},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":3.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":2.449489742783178},"35":{"tf":4.58257569495584},"37":{"tf":3.3166247903554},"38":{"tf":1.0},"39":{"tf":2.6457513110645907},"40":{"tf":3.7416573867739413},"46":{"tf":2.23606797749979},"50":{"tf":2.449489742783178},"52":{"tf":4.898979485566356},"53":{"tf":5.744562646538029},"54":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":4.898979485566356},"58":{"tf":2.0},"59":{"tf":1.0},"60":{"tf":4.0},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":3.1622776601683795},"65":{"tf":3.0},"7":{"tf":1.4142135623730951},"74":{"tf":1.0},"8":{"tf":2.449489742783178},"89":{"tf":1.0}},"e":{"(":{"&":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":1,"docs":{"55":{"tf":1.0}},"u":{"3":{"2":{"df":1,"docs":{"61":{"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":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{":":{":":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{":":{":":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"a":{"df":1,"docs":{"37":{"tf":1.0}}},"df":0,"docs":{}}}},"df":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":{"37":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"27":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":35,"docs":{"10":{"tf":1.0},"16":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":2.23606797749979},"27":{"tf":1.7320508075688772},"28":{"tf":2.0},"30":{"tf":1.7320508075688772},"34":{"tf":2.23606797749979},"39":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"52":{"tf":3.1622776601683795},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":4.358898943540674},"6":{"tf":2.449489742783178},"60":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.0},"8":{"tf":2.449489742783178},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"9":{"tf":3.1622776601683795}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"35":{"tf":3.3166247903554},"37":{"tf":1.0},"42":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"38":{"tf":1.0},"55":{"tf":1.4142135623730951}},"s":{"df":1,"docs":{"37":{"tf":1.0}}}}}}}},"df":7,"docs":{"19":{"tf":1.4142135623730951},"39":{"tf":3.1622776601683795},"40":{"tf":1.7320508075688772},"52":{"tf":2.0},"54":{"tf":2.8284271247461903},"57":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772}},"e":{"c":{"!":{"[":{"'":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}},"0":{"df":1,"docs":{"52":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"df":1,"docs":{"40":{"tf":1.0}}},"df":5,"docs":{"39":{"tf":2.0},"52":{"tf":2.23606797749979},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"62":{"tf":1.0}}},"3":{"4":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"40":{"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":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":3,"docs":{"39":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"<":{"_":{"df":1,"docs":{"52":{"tf":1.4142135623730951}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"<":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"df":1,"docs":{"55":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"3":{"2":{"df":1,"docs":{"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":1,"docs":{"61":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":4,"docs":{"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.4142135623730951},"74":{"tf":1.0}}}}},"t":{"df":6,"docs":{"39":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.7320508075688772}}},"u":{"3":{"2":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"8":{"df":1,"docs":{"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":5,"docs":{"39":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"62":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":14,"docs":{"12":{"tf":1.0},"14":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":4.58257569495584},"40":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.0},"74":{"tf":1.0}}}}}},"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"46":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":8,"docs":{"23":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"72":{"tf":1.0},"90":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":5,"docs":{"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"86":{"tf":1.0}}}}},"s":{"a":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"42":{"tf":1.0},"44":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"86":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":3,"docs":{"40":{"tf":1.0},"42":{"tf":1.0},"90":{"tf":1.0}}},"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":3,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"2":{"tf":1.4142135623730951},"46":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"55":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":25,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.0},"24":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"44":{"tf":1.0},"46":{"tf":2.6457513110645907},"49":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.8284271247461903},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"57":{"tf":2.0},"89":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"53":{"tf":1.7320508075688772},"72":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"y":{"df":18,"docs":{"14":{"tf":2.23606797749979},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":2.6457513110645907},"46":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951},"68":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":21,"docs":{"35":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":2.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}}}},"r":{"df":6,"docs":{"44":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"60":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"v":{"df":1,"docs":{"50":{"tf":1.0}}}},"a":{"df":0,"docs":{},"k":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}},"df":1,"docs":{"53":{"tf":3.605551275463989}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":1,"docs":{"90":{"tf":1.0}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"l":{"df":4,"docs":{"44":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"68":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"’":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"25":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0}}}},"r":{"df":6,"docs":{"50":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"88":{"tf":1.0}}},"v":{"df":2,"docs":{"50":{"tf":1.0},"58":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":4,"docs":{"46":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"46":{"tf":1.0},"62":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":6,"docs":{"27":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"11":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"37":{"tf":1.0},"46":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"55":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"61":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"14":{"tf":1.0},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"53":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}},"y":{"'":{"df":1,"docs":{"60":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":1.0},"89":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":3,"docs":{"34":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979}}}}},"df":0,"docs":{},"e":{"b":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"3":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":16,"docs":{"2":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":2.0},"35":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"68":{"tf":1.0},"72":{"tf":1.0},"8":{"tf":1.0}}}}},"—":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"z":{"a":{"df":0,"docs":{},"r":{"d":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"&":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"61":{"tf":1.0}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":14,"docs":{"14":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"8":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"40":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"’":{"df":0,"docs":{},"t":{"df":7,"docs":{"2":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"35":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.0}}}}},"r":{"d":{"df":10,"docs":{"14":{"tf":2.0},"29":{"tf":2.449489742783178},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"27":{"tf":1.0},"30":{"tf":1.0},"59":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":27,"docs":{"11":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"39":{"tf":1.0},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"61":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"44":{"tf":2.8284271247461903}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":2.0},"34":{"tf":1.0},"40":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"35":{"tf":1.0},"72":{"tf":1.4142135623730951},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"68":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":2,"docs":{"50":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"’":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":5,"docs":{"46":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0}},"p":{"df":1,"docs":{"58":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"c":{"!":{"[":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"59":{"tf":1.0}}}}}}}},"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":{"59":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"14":{"tf":1.0},"59":{"tf":2.8284271247461903}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"!":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"57":{"tf":1.0}}}}}},"df":23,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"56":{"tf":1.0},"58":{"tf":2.0},"60":{"tf":1.0},"62":{"tf":2.0},"65":{"tf":2.449489742783178},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":2.6457513110645907},"74":{"tf":1.0},"89":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":8,"docs":{"0":{"tf":1.0},"46":{"tf":1.0},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"90":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"46":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}}}}},"x":{"(":{"&":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"12":{"tf":1.0}}},"1":{"df":1,"docs":{"12":{"tf":1.0}}},"2":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":1.0}}},"8":{"6":{"_":{"6":{"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}},"c":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"df":24,"docs":{"12":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":2.0},"16":{"tf":2.8284271247461903},"19":{"tf":1.7320508075688772},"23":{"tf":1.7320508075688772},"26":{"tf":2.23606797749979},"35":{"tf":3.1622776601683795},"37":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"48":{"tf":3.7416573867739413},"49":{"tf":1.7320508075688772},"50":{"tf":3.1622776601683795},"51":{"tf":1.4142135623730951},"52":{"tf":4.898979485566356},"57":{"tf":6.782329983125268},"59":{"tf":2.449489742783178},"6":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"69":{"tf":1.0},"8":{"tf":3.7416573867739413},"88":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}},"1":{"df":1,"docs":{"48":{"tf":2.0}}},"2":{">":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"48":{"tf":1.4142135623730951}}},"df":13,"docs":{"12":{"tf":1.0},"16":{"tf":2.8284271247461903},"23":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"48":{"tf":3.7416573867739413},"49":{"tf":2.0},"50":{"tf":2.8284271247461903},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"57":{"tf":6.557438524302},"59":{"tf":2.449489742783178},"60":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"50":{"tf":1.0},"90":{"tf":1.0}}}},"df":1,"docs":{"55":{"tf":2.0}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"40":{"tf":1.0},"44":{"tf":2.0}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"52":{"tf":1.7320508075688772},"76":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":16,"docs":{"4":{"tf":1.0},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"r":{"df":4,"docs":{"49":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951}}},"v":{"df":2,"docs":{"46":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"52":{"tf":1.0}}}}}}},"’":{"d":{"df":2,"docs":{"42":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"35":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.4142135623730951}}}},"r":{"df":3,"docs":{"46":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0}}},"v":{"df":3,"docs":{"21":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}}}},"z":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"52":{"tf":2.23606797749979},"57":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"18":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"62":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"p":{"(":{"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":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"(":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"(":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"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":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"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":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"title":{"root":{"a":{"d":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"13":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"84":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"4":{"tf":1.0},"86":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"51":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"24":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"38":{"tf":1.0}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"38":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"47":{"tf":1.0},"56":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"17":{"tf":1.0},"66":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"87":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"d":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}},"t":{"a":{"df":5,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"30":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"df":0,"docs":{},"g":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"o":{"c":{"df":1,"docs":{"69":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"35":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}}}}}}},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"17":{"tf":1.0},"37":{"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":6,"docs":{"15":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"75":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}}}},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"45":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"41":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"40":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"50":{"tf":1.0},"51":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"70":{"tf":1.0}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"19":{"tf":1.0}}}}}},"m":{"a":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"62":{"tf":1.0},"80":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":1,"docs":{"83":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"36":{"tf":1.0},"37":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"47":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"43":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"23":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"55":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"37":{"tf":1.0},"74":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"55":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0}}}}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"78":{"tf":1.0}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"36":{"tf":1.0},"57":{"tf":1.0}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"3":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"31":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"29":{"tf":1.0},"32":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"22":{"tf":1.0},"32":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"2":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0},"64":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"8":{"tf":1.0},"9":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"53":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"14":{"tf":1.0},"29":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"51":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"83":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"25":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"59":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"77":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"51":{"tf":1.0},"60":{"tf":1.0},"68":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":5,"docs":{"2":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"5":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"9":{"tf":1.0}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"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/docs/tomorrow-night.css b/docs/tomorrow-night.css new file mode 100644 index 0000000..5b4aca7 --- /dev/null +++ b/docs/tomorrow-night.css @@ -0,0 +1,102 @@ +/* Tomorrow Night Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-attribute, +.hljs-tag, +.hljs-regexp, +.ruby .hljs-constant, +.xml .hljs-tag .hljs-title, +.xml .hljs-pi, +.xml .hljs-doctype, +.html .hljs-doctype, +.css .hljs-id, +.css .hljs-class, +.css .hljs-pseudo { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-preprocessor, +.hljs-pragma, +.hljs-built_in, +.hljs-literal, +.hljs-params, +.hljs-constant { + color: #de935f; +} + +/* Tomorrow Yellow */ +.ruby .hljs-class .hljs-title, +.css .hljs-rule .hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-value, +.hljs-inheritance, +.hljs-header, +.hljs-name, +.ruby .hljs-symbol, +.xml .hljs-cdata { + color: #b5bd68; +} + +/* Tomorrow Aqua */ +.hljs-title, +.css .hljs-hexcolor { + color: #8abeb7; +} + +/* Tomorrow Blue */ +.hljs-function, +.python .hljs-decorator, +.python .hljs-title, +.ruby .hljs-function .hljs-title, +.ruby .hljs-title .hljs-keyword, +.perl .hljs-sub, +.javascript .hljs-title, +.coffeescript .hljs-title { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.javascript .hljs-function { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; +} + +.coffeescript .javascript, +.javascript .xml, +.tex .hljs-formula, +.xml .javascript, +.xml .vbscript, +.xml .css, +.xml .hljs-cdata { + opacity: 0.5; +} + +.hljs-addition { + color: #718c00; +} + +.hljs-deletion { + color: #c82829; +}