From d605926bddc26ca62517b246b3713b147892dd60 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Mon, 23 Mar 2020 19:37:38 +0800 Subject: [PATCH] Deploy flaggo/python3-source-code-analysis to github.com/flaggo/python3-source-code-analysis.git:gh-pages --- .gitignore | 19 + .travis.yml | 49 + LICENSE | 3 + Makefile | 17 + gitbook/fonts/fontawesome/FontAwesome.otf | Bin 0 -> 124988 bytes .../fonts/fontawesome/fontawesome-webfont.eot | Bin 0 -> 76518 bytes .../fonts/fontawesome/fontawesome-webfont.svg | 685 ++ .../fonts/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 152796 bytes .../fontawesome/fontawesome-webfont.woff | Bin 0 -> 90412 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 0 -> 71896 bytes .../plugin.css | 55 + .../plugin.js | 25 + gitbook/gitbook-plugin-edit-link/plugin.js | 30 + .../gitbook-plugin-fontsettings/buttons.js | 151 + .../gitbook-plugin-fontsettings/website.css | 291 + .../gitbook-plugin-github-buttons/plugin.js | 91 + .../plugin.js.map | 1 + gitbook/gitbook-plugin-github/plugin.js | 14 + gitbook/gitbook-plugin-highlight/ebook.css | 131 + gitbook/gitbook-plugin-highlight/website.css | 426 + gitbook/gitbook-plugin-lunr/lunr.min.js | 7 + gitbook/gitbook-plugin-lunr/search-lunr.js | 59 + .../gitbook-plugin-page-toc-button/plugin.css | 106 + .../gitbook-plugin-page-toc-button/plugin.js | 106 + gitbook/gitbook-plugin-prism/prism-coy.css | 226 + gitbook/gitbook-plugin-prism/prism-dark.css | 129 + gitbook/gitbook-plugin-prism/prism-funky.css | 117 + .../gitbook-plugin-prism/prism-okaidia.css | 123 + .../prism-solarizedlight.css | 150 + .../gitbook-plugin-prism/prism-tomorrow.css | 122 + .../gitbook-plugin-prism/prism-twilight.css | 199 + gitbook/gitbook-plugin-prism/prism.css | 139 + .../jquery.mark.min.js | 7 + gitbook/gitbook-plugin-search-plus/search.css | 41 + gitbook/gitbook-plugin-search-plus/search.js | 263 + .../gitbook-plugin-sharing-plus/buttons.js | 71 + gitbook/gitbook-plugin-splitter/splitter.css | 22 + gitbook/gitbook-plugin-splitter/splitter.js | 128 + .../footer.css | 15 + gitbook/gitbook.js | 4 + .../apple-touch-icon-precomposed-152.png | Bin 0 -> 4817 bytes gitbook/images/favicon.ico | Bin 0 -> 4286 bytes gitbook/style.css | 9 + gitbook/theme.js | 4 + index.html | 533 ++ objects/dict-object/dict-mem.png | Bin 0 -> 116396 bytes objects/dict-object/index.html | 1104 +++ objects/list-object/PyListStructure.png | Bin 0 -> 11631 bytes objects/list-object/index.html | 831 ++ objects/long-object/index.html | 1043 +++ objects/long-object/long-storage.png | Bin 0 -> 15927 bytes objects/long-object/long-x-add.png | Bin 0 -> 5445 bytes objects/long-object/long-x-sub.png | Bin 0 -> 6309 bytes objects/object/PyObject.jpg | Bin 0 -> 7545 bytes objects/object/PyVarObject.jpg | Bin 0 -> 12372 bytes objects/object/index.html | 763 ++ objects/object/object-category.jpg | Bin 0 -> 53588 bytes objects/object/object-runtime-relation.jpg | Bin 0 -> 32878 bytes objects/set-object/index.html | 987 +++ objects/set-object/set-insert-nine.png | Bin 0 -> 69113 bytes objects/set-object/set-insert-one.png | Bin 0 -> 52879 bytes objects/set-object/set-insert-two.png | Bin 0 -> 53960 bytes objects/set-object/set.png | Bin 0 -> 52635 bytes objects/simple-interpreter/index.html | 474 ++ objects/str-object/index.md | 1 + package-lock.json | 7282 +++++++++++++++++ package.json | 20 + preface/code-organization/index.html | 532 ++ preface/modify-code/index.html | 515 ++ preface/unix-linux-build/index.html | 547 ++ preface/windows-build/build-files.png | Bin 0 -> 38105 bytes preface/windows-build/index.html | 505 ++ preface/windows-build/vs2017-build.png | Bin 0 -> 187137 bytes preface/windows-build/vs2017-configure.png | Bin 0 -> 197963 bytes preface/windows-build/vs2017-installation.png | Bin 0 -> 431854 bytes preface/windows-build/vs2017-properties.png | Bin 0 -> 132436 bytes search_index.json | 1 + search_plus_index.json | 1 + 78 files changed, 19174 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 gitbook/fonts/fontawesome/FontAwesome.otf create mode 100644 gitbook/fonts/fontawesome/fontawesome-webfont.eot create mode 100644 gitbook/fonts/fontawesome/fontawesome-webfont.svg create mode 100644 gitbook/fonts/fontawesome/fontawesome-webfont.ttf create mode 100644 gitbook/fonts/fontawesome/fontawesome-webfont.woff create mode 100644 gitbook/fonts/fontawesome/fontawesome-webfont.woff2 create mode 100644 gitbook/gitbook-plugin-back-to-top-button/plugin.css create mode 100644 gitbook/gitbook-plugin-back-to-top-button/plugin.js create mode 100644 gitbook/gitbook-plugin-edit-link/plugin.js create mode 100644 gitbook/gitbook-plugin-fontsettings/buttons.js create mode 100644 gitbook/gitbook-plugin-fontsettings/website.css create mode 100644 gitbook/gitbook-plugin-github-buttons/plugin.js create mode 100644 gitbook/gitbook-plugin-github-buttons/plugin.js.map create mode 100644 gitbook/gitbook-plugin-github/plugin.js create mode 100644 gitbook/gitbook-plugin-highlight/ebook.css create mode 100644 gitbook/gitbook-plugin-highlight/website.css create mode 100644 gitbook/gitbook-plugin-lunr/lunr.min.js create mode 100644 gitbook/gitbook-plugin-lunr/search-lunr.js create mode 100644 gitbook/gitbook-plugin-page-toc-button/plugin.css create mode 100644 gitbook/gitbook-plugin-page-toc-button/plugin.js create mode 100644 gitbook/gitbook-plugin-prism/prism-coy.css create mode 100644 gitbook/gitbook-plugin-prism/prism-dark.css create mode 100644 gitbook/gitbook-plugin-prism/prism-funky.css create mode 100644 gitbook/gitbook-plugin-prism/prism-okaidia.css create mode 100644 gitbook/gitbook-plugin-prism/prism-solarizedlight.css create mode 100644 gitbook/gitbook-plugin-prism/prism-tomorrow.css create mode 100644 gitbook/gitbook-plugin-prism/prism-twilight.css create mode 100644 gitbook/gitbook-plugin-prism/prism.css create mode 100644 gitbook/gitbook-plugin-search-plus/jquery.mark.min.js create mode 100644 gitbook/gitbook-plugin-search-plus/search.css create mode 100644 gitbook/gitbook-plugin-search-plus/search.js create mode 100644 gitbook/gitbook-plugin-sharing-plus/buttons.js create mode 100644 gitbook/gitbook-plugin-splitter/splitter.css create mode 100644 gitbook/gitbook-plugin-splitter/splitter.js create mode 100644 gitbook/gitbook-plugin-tbfed-pagefooter/footer.css create mode 100644 gitbook/gitbook.js create mode 100644 gitbook/images/apple-touch-icon-precomposed-152.png create mode 100644 gitbook/images/favicon.ico create mode 100644 gitbook/style.css create mode 100644 gitbook/theme.js create mode 100644 index.html create mode 100644 objects/dict-object/dict-mem.png create mode 100644 objects/dict-object/index.html create mode 100644 objects/list-object/PyListStructure.png create mode 100644 objects/list-object/index.html create mode 100644 objects/long-object/index.html create mode 100644 objects/long-object/long-storage.png create mode 100644 objects/long-object/long-x-add.png create mode 100644 objects/long-object/long-x-sub.png create mode 100644 objects/object/PyObject.jpg create mode 100644 objects/object/PyVarObject.jpg create mode 100644 objects/object/index.html create mode 100644 objects/object/object-category.jpg create mode 100644 objects/object/object-runtime-relation.jpg create mode 100644 objects/set-object/index.html create mode 100644 objects/set-object/set-insert-nine.png create mode 100644 objects/set-object/set-insert-one.png create mode 100644 objects/set-object/set-insert-two.png create mode 100644 objects/set-object/set.png create mode 100644 objects/simple-interpreter/index.html create mode 100644 objects/str-object/index.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 preface/code-organization/index.html create mode 100644 preface/modify-code/index.html create mode 100644 preface/unix-linux-build/index.html create mode 100644 preface/windows-build/build-files.png create mode 100644 preface/windows-build/index.html create mode 100644 preface/windows-build/vs2017-build.png create mode 100644 preface/windows-build/vs2017-configure.png create mode 100644 preface/windows-build/vs2017-installation.png create mode 100644 preface/windows-build/vs2017-properties.png create mode 100644 search_index.json create mode 100644 search_plus_index.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..36276d8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# Node rules: +## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +## Dependency directory +## Commenting this out is preferred by some people, see +## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git +node_modules + +# Book build output +_book + +# eBook build output +*.epub +*.mobi +*.pdf + +# mac +.DS_Store \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..4dd3b54 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,49 @@ +language: node_js + +node_js: + - "10.6" + +# 缓存依赖 +cache: + directories: + - $HOME/.npm + +before_install: + - export TZ='Asia/Shanghai' # 更改时区 + +# 依赖安装 +install: + - npm install gitbook-cli -g + # 安装 gitbook 插件 + - gitbook install + # npm -g 是全局安装, 下面的npm install是安装在项目的node_modules中,这两种构建不冲突 + - npm install + +# 构建脚本 +script: + - gitbook build + # 不冲突 + - npm run build + +# 分支白名单 +branches: + only: + - master # 只对 master 分支进行构建 + +# GitHub Pages 部署 +deploy: + provider: pages + skip_cleanup: true + # 在项目仪表盘的 Settings -> Environment Variables 中配置 + github_token: $GITHUB_TOKEN + # 将 build 目录下的内容推送到默认的 gh-pages 分支上,并不会连带 build 目录一起 + local_dir: _book + on: + branch: master + +# 通知 +notifications: + email: + recipients: + - wangbinxin001@126.com + on_failure: always \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..66177fc --- /dev/null +++ b/LICENSE @@ -0,0 +1,3 @@ +本作品采用知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。 +要查看该许可协议,可访问 http://creativecommons.org/licenses/by-nc-sa/4.0/ +或者写信到 Creative Commons, PO Box 1866, Mountain View, CA 94042, USA。 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..803e1e1 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +help: + @echo "\033[32minit\033[0m" + @echo " 初始化GitBook" + @echo "\033[32mrun\033[0m" + @echo " 运行GitBook服务器" + @echo "\033[32mbuild\033[0m" + @echo " 构建GitBook静态页面" + +init: + sudo npm i -g gitbook-cli + gitbook install + +run: + gitbook serve + +build: + gitbook build diff --git a/gitbook/fonts/fontawesome/FontAwesome.otf b/gitbook/fonts/fontawesome/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..d4de13e832d567ff29c5b4e9561b8c370348cc9c GIT binary patch literal 124988 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ÐT?>-5aYhU|+1c>&YMpPK5x#-mbV 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'NS^o{z1ZKlHsAybrl=JE7AP369ntV%vB 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 CDx5C> literal 0 HcmV?d00001 diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/gitbook/fonts/fontawesome/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..c7b00d2ba8896fd29de846b19f89fcf0d56ad152 GIT binary patch literal 76518 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%0DyT{kunD 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⋙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 z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/gitbook/fonts/fontawesome/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f221e50a2ef60738ba30932d834530cdfe55cb3e GIT binary patch literal 152796 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

=v_rA!CPE#mM^4@)}X7qf;At+v)G*FZd&; zy?NqUnt;NNNMWLA%l4wI5KdaBwS^`}^ix}E_7m=0=&c|9@<&w5sD7Gn!)y#!FZz13 zdYig~JSHIF6!eE!qw7z+9FE7s>bNjpQ>bwUB5FPoa3Yl;m=gPn!2M(kM>~8Ojxe>H zW$4hf36N-<$w^=k{F*V8Q?q0?0p3j<%hL27f?Z%DtVj3hZy`&A;qoKu8Gcs7vlzSZ zP}jncpHdHjxY1ipKZk~nzd%EWfuZ5U&=G{7!wzIEcK(7$VB~Pq5#cY`tV8ve;N-OW z={2NEB?+l%@uHpajTR`bM9*Co)fG&=q zHdxS+Ob(l3Ic=!i;(zv8zkh|lDnf}!6_Tf4VRw!i5%$;z6)#r6j+}LD!otRjS_?89 zWTj{;@BxwIu$3D&tW*`>O3b^l{BbemMQ?mjFf#i9 zOtrpwquM|^#}Y1^D9r-J49Fp%Dfyr=NNvF!XdnyG8q+8Qdosk?r4rbGq2)-FwUW#~ z^TNcDtb(sOu>3DMcX)^H@K`hPy7qDN8^%q&LX>EZ$Lc25Rz;`ar|kDWJVRF|aTJ`wLVvDBxc8Ijp+kP*ct(b@qs zi4k2MVVNkwOu1yt+SezH_|Ukr4)W6)-|zBqiAo}2~5p|W@mRFWyzf$m|bES^Ih%IB}5rF&KE zi7Ul&y7GzG=nL%nROJ5TTTh7lPrQ}9pB@->ftwiO3{MYL$Ho9roaOOieS{B(=ZkRH zB#eM?`Vj|m{DBPHR7n)M6E{|FpyO;dh;#SYBDS47aoA&{GfpG&FO^wco@P|azIWz_ zhAOH2AS1;QeJR>alamnePZ%ZySmE7V6*iRsD&R%aKc?vCt;UuYTs!-(`QD!M z2P^qs?tU6Jn%)9>I9^E)zl0!rv&)i3copSY{wzHs@TAAFM^U%6-Sp(mlBe8Kpw zaD=I06InH-FwL+_%YcrWFU61n^w!6*_W}0_xfi%_j?6((P?&)X$QIZ2Pon?L2S%8t+fFXHxv$B+quBNHRGe zFJQ^}8N8jP@OC^<*iujL%K*2|SF=(anNr7wNH25aFLo2iUYn1a$WQB6qAJl5RK@SD z@9aQVlRWbQZK1Z(TB3J8i+AQqzTc(61pHCAh6upo*y5$sOW3Mx!AMbprFz@pfy7cY ze)E$&k9(VGJW0kgKbbUsg|UXaDdr-DzT>Slt~t=0dGZq|@^TpybVn-`89(WvVpaq`1rMJyX#fe>-IQwhg-fa^CbV?0Jt(P!2{lpQbdk8YCF!` z(!Z{AhE{KN2fWq@cFO7lFW$xW5+#CC(dFrF;U)1X%^&%SWEbTa3yM-0s85(kycJu5R8^ZUVvDwr<%wy3Wjeu9I z$01-HS|LLKgb`C=uVM6cHRRz?&?h_$`bCDpZbK%|+0(9y^2K*?Nri!k;Gx93N^8)p z_hgnTR8WbiNz@BlRwfbeN&FLe@YTTi!Ue;Lp=PR@>9%tYG^A5OI)&At_9i=E0|FmE zRsDWTRU{j^yv2A=K)Uf>%jL*dwJ;l!<}GG37lEyK%Xp9d0Z&|w+aEVx65iHrAIBqC zA!@js){_10X}SO!)o&8&d@MQ092p{y z_?LW8p9BIp__)tzbG_!W*$@)s>n^`KnhrVn=jUDifb)50z|St@S2;9`MROGP+T7q; zA?e8We^pGZ&Fh zu((K)CYBqFTKkQBBASmTjIMvXHPVckS%KurFe8Cf5Iq9vN|t9ZHi1>XCYdro5Lzynrhr-^OWAIqCt-q0 z=4uN5pfu<3q=|gacB;^Rm6!P^4OMX->UHCU(3!8_xPHsqFa6~&d_qI?%eMrg z(ZKoJji1b@|AX-s3%yZ4qy7yRGXC@i$<0soqpbs=dn(~+HC;LnklzUlx^~#;_(r!g zN$oT#5|A1wX0|xqDm+R_#_tC&1oI=5Bfk@X7@SZ$L1^>lh0E8XFQ4W+hkL>9W>*-i zHjKCV9NRr(?mu=xAn0>`6X$2dl8Kd>}n*pRwgP^Il# zbXdibSNq0fd!Oi6y*b^X$ZpN}FQbrAoqbjpcUun++Bvf!t?_R&*-%_Ex940Q{_+0a zyxP~E?|q^$$M5RXnCxVOM&a9DSD%&J2M_BWr(=zkW#DBMw!kAe=Tsl>@6FOqMlq8x zmZ#f6lQlP4KrfQ6hukl2T5%^wogv*8*4^UzknpC6k8!V5zH`*QGJh~|g+uIKd?*FP zoP#sp0PBM*QQqhuo#q4LdXA1T6h}!Ijf;}Q4mBt0prJ987`nXRq(oICI$duc z>16uMW3OcHuUOCO0JxY=*o8{)6>m|nhZfmi!ZbwZBMVJnixKwW7VZwWobz)udt( z@`f(C`caWn(zu0_n<`>0)s54qEWc>m46}|=7fVkmwX2>zr*lqYwGfjGx}f&XL+zbs zOx9iDx|S*Fi@qZ6V?%`Nq`b9Mpl0&amhP*1R%}~*ep_5TJmQL39OH&{Mfw+@Ln2K< zkbp$jRN$~wI+N;1(H^LFQfP#3hD}q^rK85Bf1Ne|1>?l{Y2GSDR+$a{gZj8&V?~Yq z(P!^F%6h;0SN2J{#rTx*%gdcfPLnpuDLH8U!3vu(uUh2E2%SJ0HNk~qL6DIy z>C{NHO%c0<>_VUs_?LrMrgekZc5)P~KI!UIVE)0Z#jYznA4$1c7V*O14V#MOdDdg? z*Lluu?8$jEs?BpEq--p=+_c#T{* z%)}*@bL6e|;YW-bwW3xj_ zm>57aYKQzo5xnDv@rsjgJ1gY<1T=$EB<1l`@qhWD03pd!>2fGKQ~o8AY8R0{%y=Ji z-jFJi^7hF#&p0w;kJuY)$E$KD(oSD(Fr^n^1`{G|?Ey2R;TkGVic+^@)yeFt9XnPr z9C`n$9dds`;)`Q=`JCE%V{_Z=NKI`$+l@1u*njaH zW3#4sm9oZ=EJxybP1x4J+66#F+&~e6gesQ?+f>~0JOqnaTIFh5$`;kK%CFifSXi0X z7VA~$Yw-a70e7*iF3EY)@(KJ-C_4_&9ib@(teSELp%*@5g~M9kve$#uFE$Rf1E@~r zEQF_MPj`aC4bq&!K8AilD6GvCay*9-z)zL_E&&+L3^`A6{D-BnbTS8wcOoa}3aE_b zPUe&x%^_fy>K`X%QM0B)Wvhd60kIqgxk;xKq`)v32Zjb+Nhh!~-QZZ#9ixEzZhn$h%#u=L*j8r`Ig-zety>2{s<0hCp2)ia3b{+C# zmDYv@DQC}3%d7qR<~6Nd*G*xSeEt@fMVWdoTOqHWz4a3Zm-(#cFh2a$L5vUPqS$_@ zU|C7C=xyt)Csfgyp`KL3m9woBWur|QAhUsQzF70d*cscWUVqP1|NifVx9O6wz(AAu z(my_ga9cmJ_V4-Z9}Ay{%?VnFS7H3|E}`3`SVL9VInt2tcjFFmdS%>2M{(V=cqT4+ zQZdaFicwmQ15EUC_j$1-uPWvhllOHR|fY{{7)rUjO{o0I{D6Fng+j< zE!?c-=4VbwFwTMOGBcllDe7C@L-asHmqmno8T@vR!8i4FdRW2y=Wp1R%bgStsB{!_ zK1bV&IS-PbI9e}eoBCifNHoC|IF9VMb>S?6Nf%TM99zj@0+@_-mfSmQ6gdkMFn?py zVloAzv;1#sz1DPHv)uPubYW9Nw6NyT;iq1Dp0)Nr_0pZ}l0LbmF1FU|v}uc%T{uBL z1QW8wO^tp$EY61HT^p-wp@$oq7DoBwcfRygKWlydrKb)bG9K-do3Y7x*V?oN=dS2M z^Cc|$Q*PM19mNcJF)z1ChozIneo;IhvwvXyK(-dAiKI&)<0-}u`a-7aW0AvuBEPWD z6odQ#k%4XhXF~jl+ROkycn4~v`Z1EJG>`+mN5l;RhXA?))E#Yn6z?$<2Cjgc8O&u+ z9<72HP5de2#}7 zc6!?srMs(mqpeX>wkd61=fnSO`C=HOQ-TNw0K;|))Ho8x17ElKSw(&0xal^VL$BGY zukbsr99!YGecTqjP`7-f%4%~h42?-uFt2^6sNL$Y)ZC!2@VTyR8Bx^J8yZ&^=H9}< zZjZaF^4dy8p1nHAd2sb?SwXhS?ZJ)eFx`L;_(ixiyOGbLd*N!geDr_v6v3~+!Gab} z3b~Po0!X9@90_jVG67Cf5h4PLcZ-Fo*C^o{jo_A?meX2&j8<#{unMG1A%ebXeB)ow zUvcvziB{R}hZ~8^RT+i~2~TyC(ECLXzY z#reju?@g?Ef;DWu<*xAU`{a9#KfS%vb3ua@oF`m}G)0%Ov8IB_hKe~q*?RBWJ9id# zZu{|^iiTt`r7_%8G)S6J6}hsI(h{}=poQ9% z0}ES?{=RHqq$1fE>QqvdV-k&N#0qgHtH*}NsXx8*#=Kfn@5=<-vF6-(YYNoq=RTUa zsP7v$Z4Ma&gm9TJv2Nn{ig2nq-L~wmS>q0^-+zFrPVrpZf{8zvw03pmhL1FdXQ-{Q zOnt&v$Z5LU;^lKc9jWomofm7JSvkeaRwXW+7f&ph9t^EpaPJf6G&ju8@LXno#hvpr zl{fBaN>1Cg<)TaW11^ZJ1abqO)*&g{Gy+7|9DAwN^(h3@zvL;YnSKl{3(o{##Setv6v^_ zm>5%;QaVG8$%+WZll8SO%Op*&3TS*HaTY@7%fEYjNvZA?HifXJW1DjBxWuZiuX2JLv}# z7qni!|B{Ptm@#u&GQM`{`N7r&cft#iMy+AYn8$Xi3)Y2#(-$P-^8`Kcc{!^RKMp$S zw1C5Mc65MYb>PHzPY) zeXG`QTQ{e|*X^sAvu@k^RejT&zrknn8Q;tyfU@r_v6bb|ExCDai>GbD^k^s)oxY&W z(=zwwCC_}L@G>9!&1WdUvhPfxmy7MiW*7s>*dS$z#|lBbJUr8wVDm!JM0Fysk&DzT z>~Tr}VQR;C4&GO8M3ExGh$2cAvn2gsF`yu?W>e&Te_?=39Yu_ z%E`{{{Hw3F&zRBPHgo3Sr`dgvJho+BPhmIPk@D4#f0SQePH7U3mXsXUqMhvNp~oar z0_IE>JEP#Jf^X5(nJ`Dre*x)hPrVyk;NI>urR zUHqd@{jtz+KGnKTWq?97$(I@%W0HFl_rHa{>s z2hEp|VnUrsahQwz6Ui>Z;Aqp(qPI%7OAn%N9qAN>Lokn>9qD2|+<`p=*TZJMhTJy- zophyxwM#K67=Up;_Mfzilg0ua7P~P#&qd%Vn!irOjDtQDRBtz2M`zo<@kav)^xmE*IRU1u~=kfyrRHkREB4^&UK5f&DIrJ$4~Ki+-R{yVKaqW$Sa>V z{<~fFINF;bv$xhpCb^kvx9Cb$C>qtZu_3K8bIGhl6T9bWRUVJmtA}c|dEFBiO<0~u zc$C^~!&>g}$nDI|?=Htl(4h*sQyz%GZQ_AayuQ+TWUQ(hibT-S377*j7a!83QY5pY zMf=$z_kA{a$rL6{xg^LwD}whmk+CLOYMzoPs2R&6lpo92np?YhgoGYC)?&!)IdhJzlY$6_q7*h+@Y@D-07htO z0itlk9^mUl99_X;nPtU;K*B@=3YD-~R)AKG3>Z{zbJ-m>i_NB3{R;z=|2V1n^66bW zr}f=7zA{u1s#sGw;q?j6UVi(}w&r#Ze&XiuPxx&YuFYK+s!YtyoxkvrZ*QOc=0tyQ zV97iiR}?D(PVyJV+*?%>JtqRs|D=yu$Av3G9pmTz*Pm~1=x+=!A5$HwO`P*{7P$9m z;~OVC$5dBeGq>V`aKjUg*Zl0rSEo&yvT&Sj-LmkCu+8hWg|vo8X-pU$M0^8il7YL> zdkln0y+Lh>*acWa^nnTTupoM`24h3xLrDhjA2VzgC9%H3FqH_{gX>nWs%p#DF1D^+ zkTd?gXk5KqWB2K8U9FYNt6aLT-kyrNvkoA6NC$Do=S$$otlLM~mCZ%%1 zEdMM`W(`%#D_gtTbf3LOt{=CEd2Yqq*$XI|R2`7>T03}rrIU*7?cpoWTgRepWkVj)gRpRpO zOh%1{Y`%$I9^LN<$(P*U$(@?sIKI&qkmZU`UqIGOu&r>f3q$;cDRF%!WrY_YUu*yBkbFT@~FnJXrzN_uQsyc9S&6c)PgkP;Sz z6Qm%JKXz!#reDl@Kk=&Zlg}B)UaxO{{m>N$YU9!7rcHZiEbLi0=0>*i1PcK2P? zm%QR4W&PTjuIL>`;objp)q~0|e#;uw9{!gtN=hDc-_i@_Km27|Dsk80%YqZGpK23p z>*7;6`Cmah3HdkB287Zw0$5QHE83J><$rzj{K+htHjE>uq*E_{ey{phoRE-FxN)tR<}!cNcZ3#tZZO`0Ckp$$GWjxY4?QC2`1Jp zAQ8gY>41*NkQw|d0Ysfv1G$~}$x~r14~&&g!KKgVAKG@!jo93FOS`W)W9#i~*Xx3T z&el$B*`W?@8txds{$o{ywNF^NW?JK-C{CpT;$1I7dm%pMHk&Nlto6Fprs0>cS}j(quhrskSgcOR zG}!|l*FD{f?^8|W9*+_emOwu~Xr?gtLRvC=XqO~ue{dUP*D+y*kk8d zuU)x(>v?x9?x@fbklr*m#u^ma>T)6GLsvMQ8tX*ti_|*BSD`Lo51#xnTQhi@uF5L5 z--v3rYO39q(j876Mhh0Z!-}8Bt|}pz+c>%1$%A$-S73eshxjMxwInjw@<_l(gd|Nm zwh(g880L|L-=~&K!5k|E5t^{{F+W5A%3Q?Tk@F@01d7{}?`kNEc=&Y+$Ai}a=piT0 zVLx-j#)G89&3N~ycLfF1fsh4%0Lm7-aR}mSilG({Y6C={nV%VP`ZZY3IQ{SA*vF(C zL%pkehTUp$d0@clKM6$`??aF%Kflcpe3l1ak>k;VX^1*j8JNJIw$ zrtzsmces=ozUP3IgO8aG!F&_<`>OA*Oz@ELjW;S`trb!GS>oF3?&eN}C5hf2NixTm zV32#u&nxQ#zKF~;_Mgvv<5lJnUc$zAqk&+&@(ngK#1oZwSNpuqyRW;}c}5sg!eNK4>$N_{Em*WgwJ#$cG+!D?2<=&v(76I%QYqD(`naYz;kA z{5x6-whU7N_73~4)9ZB>ZZ-0PP0m)f^3|E1o=oA%RW%66w6;l&H4|H_n!>kFzG2z59jklL zRI;5IOvuj}KWQ|MLyrg8$wKaw2Y$2zey4#s2YnAj2J{kYV{yrgh)NKI1U-VuB)EcG zMJhu$&PNh$M3p4T91viQEI;6xbYAT8xrH0lfbrhA6(4`@<15A~d2}R;1!iPnwQ%kQ zQ__EW-U16d%kzIqPr2aSL$UKFc|3D3XXDry9%#FA?bNAjuWT#4ZM@RnORKK8y=m3n z&m6yZKU1Ur0MVETYHgg{fA8_n>|KTS!@x0o%tH$PN_-4jYTiy8FI9sDbuMOONceJU|HtxB` z>RLzUn+*5!SMA1zN6Mup@)WBxZKgur{)jfUi@#1ar*G<6jr3{bf^6~V!X&V)50O)9YtrZiQB zG_{bgNz`088}7BvhB>oqX3mbq<~;x1C5MYrR5l-w_^~SvDsdr6{m9`@O)82}W417? z8C?~8TD`NOZtT?5El-8m4duerz=X`w=IK-J9TUthSyDNnkjrMvg{ZxmEB1F!FeRun zCz+x^tKS=SN9B2)!E?K_^>=NbF&RQsp_>=u(+SK0+ovR?N`mI%H1Sw(*#3!XCPg*D zcbq7%Fjx%Qph2X-{)9FQ2zrXVlwdUwEtz;&a&sYqAuf)vOCVYt20JiJ=!?bbr%i6C z<`AvVX>e6Azb_QD%)SsKR>-$5L|Df8rgT+VvwYbL&$IP{YdSDLV+>6C)bqF9cZjhm za$Grh#mDxqXE%hNx+OJrY+Zx1ej2ZERRt@;HWtgw&+%MEYg1g7HNGSp0(THkg{Mq! zUYeN@SO8n#A@OQO?7VZcS(7iLxS5&xlV*Nmx7vGIC^(^e{}q?-pFCsxUG>@SbAz4p zWDKI$Z-tRYQT{As^#Zn((ntUw=#b3mV9Yd~kT2n0jH(z*S}gP*L=~CuKtM`jsM0Rm zq87OqkXhso3b?8U0;F6A%sI?a7%|oDZ3{+00|zwZXxgbKXPEZOhk;{-5YNk#%VF|t zfP4Nw0HH(REbyd|&trVrq04}Lo_y7WA%Ktp(VBB9CJ^y9+TUrT$FUPa!%oT}o|gH= zkpOTLtvii;s0gOK;)o!+wDz=;?F5FAIJs=LAg0}_o@vrsCYU01nsbQlpq*f;;#_x3 zqq**wcjMio=30o-C(YzpK;oPt;98WkfNeeL1e7)M6fv}g878RK=pPKKMZm_eiM=o< z=;m5M84(c_@9ZeLAL<&sBpH2SfUW>JmHS7MJ+xsv?1%3mz8$a+9*8U11|*R<%-$of z&>>TGgcpP9IwxPz!?0082`Z1G#y&iS#NpHj`f-Z3NoWEncBqQcC}0S3-fN4CCWhb} z*;(#&sH&oFvoVHE$i&|(HkEBy$(*B`whl$n`eI`u!wp4gW0aHLFb`R5R~nlY+9euB zgEiz?D?ZLJqFu`AJs)}*bB%7*Wsu}-pn=6Wo!*zihqVjJb2JM$0YoO&z3EIE2xALH zBiV?#gfFR>hM~rgKdG1^w&C=4U1~OlX88;-Ae|c3u;ThO;mpo{!7Fg3-1h+zB?^p) zy&ii!zO>Q}qZC*l24JhCk++aw%85fyVKt*LF=3Ewi z7!7kfoL*Pa?#LBX&Ss-K9u(`^1+3m4uR#{h>J0M%yan_kL zs>l(rq&jDsicpV!l22=DqB5>&xgb!j>}q;tjXvUs#T z7wQOQ2m2eB5l5H-C zPZ19$1nXPQosNL4R#|Kguj-EK2|onpI#(kq3L@-ktq-zp4w)yy90#}>Qe`K`i8HIl z?GP0)Qv28Gh#dxl0tcdHqVX6;rZ;PDUFB+pT&c?FnQG$@ep?X3kukRppEj3Q3F6DT z48v`Of0Sx<=$cw9>s(es+$+mIr_Ccftg@H8L*Bzj9+dsE4|WDtkIZd~UDIi*I19Q} zhZVtCITn*DyR9z8$uV~@PK8k3U&SGmhiSwR5SaUe@m=O+HV4x!nr89y5Cd3*n8yi_ z;uv~sg{;~s60K^p!Hxps3I&p;z^+(RtQM|X70v3GHJ7S;ofeN`32H(gfU$8`s*sK# zax25fr?fCltlOcu)e4NIjT|g|c!3oo6b9T?GPlLW9Bz!6Zbh_cW>XN~k|X4(TB#u3 zr2_2&1{A~Xj-Uxv=F(M z%%on^qWI{Oi=N?urb(YgGZ8B?0+~hA&2WWd(h$Q~Va@^x0+2rzxtX zg3HzJID_;Do+^r^Lbh^1F(9BCp@^Igw7@UB;e*5#OOwYI_jjm}HTC2pp$c6u-xcH`(!(b4chdI>OarR8<&l1Zgr}fMvxs6;NEMVddJn70MWNMz*y&YrU23kfK*vK(WbE z@KjK{Rmewz<0%n$}49>Dk-6fB=SJ}Oka*FP)hJjPr{0jED6PLn5Y(d#L?e+9i3MsBK?h= z0%K4PITAwYgPQvA2#`6HrN2Q)1x)K>9N8bvmLdLI1^;~$WHw~0in!{fP!R@xGe@?Un6Z&# zKuTEBZXwK85Hao`P$RxfFlR-hW7srEhNM7xM&HpURXl^3uMcW{>3t{<7`y`M!zHY* zXSFK9M%IX#B9(sXbU%h*fWBk^-2zD*`d3pwOS)57QChK)!FbP{6Ot&9cMy0*l8n&T zOvo{aSV!3ZnL169D_DiZf%ru{DDJAV@hH3G0dyKfj`(2E1IDAqqYuykk@gIlvj^}c zwMQTDM;wj@bOCX?ytTN5hs2k(^7yC(MFEq4cjo76(xaZDAYkNAOf`#lixTv1)i2-> zei}K9yBCuD36KUYl~$tb!Zt1AAtNg=G$4dbg9GrvBfnx@lscBaW{pyCmm-@bVML5) zd9egv^5o@roxAB~ZT_}N(|c59SuXi=LD->@zkS=XmzRyo<5P#IJto&WB9-ojF5PcO z8n(JWs*3E1@;@RGt=bb!qfk}t$U=qJk1pM_^t>M}-FDOY7hHgvM`meVV6EnWyQ(lo zg7b$OLm0aPjVjbPk|p6wS-ICAKbZ%*yl*o{l)=Xsn>4F$!@kDbpJBPjUx!oWj$d~~ z-O!*Py03fRhWS%#ehl96dg#2Js5^{VK-71!!a9W$2`zY%t3t}9vN+OKDcA)S{)@VSMx8qydGz+MwO!{SGBY*S#{~Ww0UY-(%O=qcj+qg#9V!G*P@8* zQb8yEypIn6WAW_hdox-PxnC@#7YJG_!2svYUGE z%PgyPTIbHSI%}6@?(3a&WqQ%F_WKr$8_$#;cBe(pdg>E_T}?aMCMD=lnAEnTDIpHL zf1*7Ru#An!9*{-szhXR_HI`i4XMsxIqeP5+mhImqW7EJU1pGz&MlB*zB;o6YFH10i zZ;QCuM9}!$2XyHI5qGp9-Us4Q`e_p(=oNd(P(~B@pR_`S0s0~YqfbIm#DN);bH>kD zGqzY9zr!XQIf^#Gr3U#IW>UcgGpqoM6~8@!hf#;|wT7P=KjWV@er9|M-_YwP7jt|O zM{4LB{JWAfbAUF6Xz@GLo7J012SOfH05?T!wqy zHueZ4`q!bdwX}y9ZH;8C-SN^)^BW%wwtNV>3J!3HpurbtY{r|mac)y9m&0(&m?i|V918hNUtuqPo3tOF{$Lf+1|o#yoNK&| zRoVh2=l+ut%_t^GD%0@z2Qe>Q4Jztvh#G&4_K7(u^$Fg$W!ffzinI|bcGxb!PQi31 zIfzHGpWvU+ZINaR6b(hlroNflA2TBM2jxe``YVOOQ*(soPKYC=^CCqD_J=biX>pv& zgVxMSrj9KQPgYPgB`-E#afgOnd_?O?TDZ~IPme53jvd86^=P@a?S!dT9C@+4z{}z> z_JBAQ`eD>(&ZYdj(O1}TbZv83-L&riAKu;rK&tZG8=v=->AmmFmMJ?k%T~58+ZfoT zEOqH12rJD6RGNrNaYSrr6j9Mw!fG^XlxU3gh9sL0jhnLW+%u2pEX?hT3@G2K>JV+%?M9q zh4skgAw@ogHWA^49)d4a&~6~H)u_rN^s2tLj<`*&E&)%~(Z8S22)oXnvwq^Z>Tv~S z>jL`fVwZh_eLb7GqPA5~4r;3=POK`(tBfx2uW0UC-8pv>yGZ^(Z3m~7aFmaxlpk(j zg1&Uh73<{>bAQQgt@+){CN8ch$WQ85#@tzAcEn~}q@1Pf8v0>WyAIn^Y_K=2;j}d4Y^o01 z7}hXyO#(y#mN5!vvB9??v#@~@@ryn&OdJ4d$nihtet1L-@y+#(qzI$`!B}Fc1Qm;G z2gr}{OYY6cp33))z3fsZ)oh!%(P*;D=K0o|`o$M+>Fk&|@r_Bn&9M*Jt-3M3v9YP$ zUEMpj%(;4;O;2*;T3ew_j#iYlw{#_^&#b7L6A=KTrg}(Poylm$8A~5cUF0$s$Gdm5 zI)jiYZ){rH(!98O6+F6)pFL@!g#D)h)j#?$Hj_0 z-e91$t#f`?0r-?GU06j{Cl@qc4OsNmI@L7ld>&LAh7q`V_*^-)RclP{AZRiG2R7D1 zgT{k`cvI2+UcwO0wj8Mwxk!D8|x@`cyu<%+^$I3YO65+#Tn;A)~`r(X>Fq3s`Vg4-?Zr)&OUI@ zw(YHLUb`btUg)$Ar%{)~g0Pq&9t1MJHEA&9Sg)6J3&)D95JDYhVulVSm zY~R3@pZs<-+>b-0m4sxlLPPmKuhkp^R`>H#0zeVD1KMAsO5~6EA%_G{dYlaS$;X`o`c%$4+aG6&+1`Lk~{(6e~7fu40fdmVqS zaHTTHpKEIZo(!vC!+c zop#fkcU|)Rj~BH?w=F5EnYd*^SGBTy@`j~s=ilHlM#jt!rA-+FbJExi)EK@nU z3LC;#RF0cwQFk?lI9;~DXDIiqYkl;ulXpC}zW32xrcQh6&qD2J4pqESs~mh&431sUuo{iK7H=FPc!?CtnkHOZhLUYs~2AQ>W+C=oz_vL zgI2on@zm?e?9Dusv>jT$Wj!4AEQ4Bb$kCSl#iCLTb-B=IzU z?1FcF9ZhZiEC`rLIBR&8Gw>M{1Og!$#25I@*f8!ZL1%cK`fO5@5>gWXE{zEZ;AslO$rc_cib)OrQ^$5nPGR-1 zP}Wo6Mu%bFj$sQ8@93WBgWn@k8JvxDusv{p%w6xK)UiIG<48TnQZDJmVW-LEoImRa zHaN8lv{WNo6%r4LT|@1}%R5}mQO)-IoR&CA8$z~%=3VpkeaCWNMD2h!MCN9-j9=4t z=y$a}vwg?;Psl$SO@I(dhUdN4huC4EMc}sYSOdX_Y2c=UC|am5mVU`M4?P)iPFl-js3QXH&7=eq5aY71-A zzh&35Psfhk9~#?K^p{NAXVye`Yhq2LknCcp?np;VS~m)>;E5$+jvcAyCy+nMtJPfi zlJf3t4=BGrTgUWQ8f|u6*X!GRf3k1RoP9s(UHQo5D|0mZdp0oF^|!J7m&ANP*}nVI zh1cyh=IQqt1mlWc-2Mulnlf=;j^_U2H5&n73k4BuSbvv)N4QhrEWRsAU(g2vtOF}D zETI{#4+a*4GSnqO zTpaivJ~v3;LD^f$vH^#;EEAXAGgm_;EFFmLB!3Su2l1?xFndSVBaYe8eiTRL$Yy?L zVv(6}bLfCd0v@Y4DRj~J3c36@@mu}$)6af3Zh2;>+y1jq%JXA~kAad*-TrB}KA z)ob@G3i>N=-cdGgQrin`)vK?vIXO68vdw=2P}isIHugTdO-cbZVAJ!{YI>H=8Glw> ztH0_)=KS!N!{A*W$4Riee!vp<-=A3@cpcoJZL4!@F;s`TI7;dL3M2*g)ffukZN(+X zuKw@a*Y}(ejpUct&zk;iX1x9O^mhn5;mFq@EXd8@2wCA8Db@S%+POD3HO+Usij3CY zhhKR3{VPBG8n}gHUwl2%!jAJ_1$|)0HR4XJqhZif*kLinLEjr)6crESgbNBT(s;Xd zVhprF+~zc;-?bD-h(nW}QPxX(r^PA%O7h#;RHXm7pIr_6y!dOk|JaT^LC&{}C2N?; z<`>6Vop}zuQK?>u!G$#|gONj#PC2?-2tD9Wa~1Cd%5>6e#MwY>${I>D*+M)hDi7Jv zX`nIhCrxaRqTw3Zlb#`}TKyGYf8&Y@h0Kv^pW11Z|)`DvS!w-8llq^x44XzmD5^{#af3$TWoBd zmU~=TX>?g+;c@1;qWk*4>=T67RtmyOVoFJu4>|(Xu^tj}kR%Wp+!=LR_ypw&tSOn1 z0Pon`e&yPGQ6q922dwJ|Vo4`S$16bph~ZlXs|b2KYit1?Gy2J6qqP8xDY~bRh4}rn zNuQ1T7o^e0Fwd)MdNQq8Y*-I^KqOSY68uyOQhW(C!epDI){mnPNM=IwXCfQi+&bs0 zg?}1(2x1u(h7m_d?BzjQyyvL*=no!g*pcWU2m`Kw>#RDeN6o6~eUmm`zVGsllRAxK zj48{zmK64#sWU5DTBWMIyb8I!`R%9`@Jy7HPz zzptQY@JcP`PNnUZ=Nt=^ZlIu_i_B$0FOiAYHcpagSSUDXzeG@?HaG0)H7%q z-esyqf=k9c)s^LFpUYx4D?dlN$Rtk}*@M)NDj4O_J}S1{qvB7p9@GN=jJOX8Cb5ME z-z9{zfRS9E4_y>cB&m-;Lb!}Z`H6r5fmmQzbF&s8Oc-v_fFym|y2M=sj;W z7Fu9~{=t6Opl7rfkqvrO8PRlV`a(d}4EfQ0&}A9*ozT~tl>Uqx2Y~lLrgmMhZ{G!-yAN(%YOCvf-o3gFxMJOHtKHAH z7xnfQwI>g*Us6y?v%Ium387~UpLK4J7$+3fmAY(8w;tRLyX!CBc?U>nXba+dQkk}Z z{w~YEA@D`#a04K^4faRwm;*opGW($CB1oR*4S}H3EFk*8qZIgR1UG&D3m29Mg%YKX z*L`owI2A(ruD6hb+30AEQp{Gk=m^svDGJkZwAEqM2I6nsMVH1+LF*7IH~uBtS9+9f zhu(ST&|dfN_H$^B!ea1!PURe~y*uE4iS9T6o)BcD@OqW51J873ybVKCS?3jX3_UY7)a zOT2xA_cV`sVkiy?^%$^aSz}$s6HA-g)SXOrfBC5n+LvRR^#^sycMc`@E+fQCQo`EoB@xF!=NHA zfsWOlpaqe*fQ-dkNKF~X!T-liQOCy6R@Ct8plL_;Qql>zKb^v~82pSTfoQ@+p|sc- zB0aQaeWQ=R?B`fBSY*Y}-Xn2Zya`_lI~TMBDh}>E)B&#TIgA?(8lTP)ro5;S!l|H; z%(H_@ZPa?177g{7FBNRmxqO8D95R;o6fEz1+4)AZ@=G&(*|1=zH3U4Ig`PqBq5-l~ zq?5EAz6w+5UiexZOVKdYVw{%bcPdvDnAte}0m22Q@#_ysY_?<`ZyGHh9-mFhtLe&Rt!PC6iPWR9S-0A{_kO^U?Ryi2JJF zN8dmC{QvdyU-!My^=07w)Yy59mJ=|Ukdbr_=YcOdqzhcfjuK9!Jv;X(A&WvB{F4lKqf^lmBaD^lL`c;Pp}}LV&Q0h8w9X72A}Tu2pS9PfhztZ=&$^OTB=Zlkc=U(mA4_=>Z{z;z;5oqDWOOWqEl~|` zK*AyWCRP7NTp^d9PEtkKSKvRdq&W8@^&ji+8|D^6xX8%6;3T#A_$!%6aA*vF8eK|C zaZ82P!gNuU1uqlpVV2WH6J!;vPt-S(A+sJXF}PX}69%~SGRA6sGT`}%uAp;Ui=DirGJr}G~AWfF@e2Uri25lWK`;eW_sRzryO4TSnbdVk8V z$9{nIg>V(Tai|$tLx|VS_@8K@?*N|{28F04FED~@sCOh9!;N9ENkZzlW_msBPGFr6 zy^{>FfsoiAN>aSVaSgJ=CHwpP-#LUV6RA{xXmEh@k11})CH@Qf;?}8VT{!5BnghPiZh{PbNDGfl&If7yn~~^)@3f4VOz* z=?oQV$jc~GBot1aSfk6O^s8l~Z{S;Msqp!cB@>b;i(0DD4+za83nqZio+6q*{7y@q6T zC38DbbnG;lJ5V(8T(T0l9;5J6oTjSXSm&^y2JAUIWT z^LNf<7O7UGenmO?Ecj*}$j&}hpD@i#R)Kd?pHSU1GwT~PzF2XJ=2Yn$j~}veKM;@* z&OhJ#MLv#xam04>etqLc$+HkQmaTe@*nHI26Yrqj= z7%Oir*D?*L8s$MMtoY&xM?KyyBC!_qZSIYJs;>*Y30l}lju?FKD;yU|a~x_^4fO_S zqN|^pppT7(jtBM^vdPrVSi#|wJ|!K0M&B>a42432{051(x$BP!<r4Ia2H|W6K_y{M|oy>w%HT1=}LV$iEDpy0zd$CH<>k^;<>o)CbNFE3nbK&MuV1M z0)5~@{_w(k@*70WrfwzGy@^cxSmY38wEkdI$w2oe5gMkG{vagj@}_Q~pIig@@_2AP zm|ykwlU%1FpIC0IfO2M)5fEB9>o7E`p=SE(8$`_sCEnD{P%trdiXWu@baHfw>48n% zr?^h#)`OQ%YWtyYG9a3ekkM%VwPa!qh>e0$EE`pj-IG>{)UP$(?3K}b^$u>E@Cw%H zNDeT4z0k%v?(|iBC#8A1fc4V{TbJ)$zI?Crsru{lP{3~L6ZY&~MwuU%?R^Tl5|CFw z`9GXH7gR%f`WkxS^y%V1=+Wir@2WrU=K%=H7WK)!R6p>s8J`go&R{~%j#BOmnLGSM z)weO@={V%42pulZVawbi3{F&U)T$ne`AWiehp++_oa%q&any$32ClhCv>|7$-R6+x zX#2{|-@bL_06Au9kc3G?$!&#S-C582zNh>}7YP^~Zkr*h?QC4rw{1Z~k(mN``E9fz zG*{*9%ZNUr4k^$9ns?Qj#i)rJ)~-qh%8X2VImbRSoROmmb}$tbikKtqq6@|{_zqM` zWDet&F;#C)YIQO-L+PB?Hoq;8Ho~`u4xik2-k4jaJTT?vvh(&OS01=*?!9v_JFqf2 z&=$Y^`kx+if_@4CA-)CR9$z1{OWJLiww>^%QokICe@ z_x#0|Os}w7E2dw<^e^w6xv4d3(7ML7ub!~um5&b1U3~7^+4G~JxwF=uyJ$`ys+lvd ze1u+^p}I7!zLNTKYnc|Jcsj|Y)_&Sj;@H&aBuWDU|Bc_qVFiWvM`u;yYk+PW)&K`q zfJqosbwv5G7JJ;ZD8cfD7;s*ooPxorSjKvdQ1zU(lb4HI%za+%XZ6SWOO^(d-#hDJ zLtU1~;?84NiBxD_B(iV=vU9&Yu2Olk>_Eq{{-NYgknH*!PV?G?)1zfY%8h<|w7iII z@IKN<)l{o;KWnL<^xgJm<;MC+uom!VLwlF?Rab_nUAert`@Zxr?ed+~xBZnyw1z-zi!t?CZ=;Z^oBpWgfh z)6)t)MvrG+19H7wIrLJ_yghl{yd268O9z5A$>V~i&VQqBdVkH>Os%T&0)9Q!RcZY1 z)vY$K%AT#3USE}mstShxY28e)5D)?Zto*134Kl9(`sP(i#RF-`c!<7D1(f)IuO_Nd zkUjd}Dtv~|!%kggXnp?%8j`F(S5~1^Y}ddJ7zHUN2#9cvn1o`)X-!$3&~@Y-3dzin z%j}fbU++Kg)`9-l6|$Is-I%6NFat}Iqw2hKn_yO)9ffJ4Q9TrWbj znEa?|t(=FrmkpZjnoD@(%Xc+DLd`sGtpA`>puj+&A38?fuAyVxgMPz3s0FMGL)S;$ z^R?G=zmU`qX6L$BRL@BcETgGS~{AjKhJ7Pf2?zvI)KZ94ZvJyvorWll0X zrv7B-FR&|pREtmT6n{FHqCfhONL%VY!qP+mK+nC%k+%?iMdoDC1T38n@;MPWUI2KQ z5oW`Tbub$pN632ILlcWCCB7iH*KB+oh6ZLz$d)hlj}Ham`4X}nASbTpGuds|vgIA!VFs5M-ezqr|;cg2MF zqHa%FTfDu|waF~ooe&|lLv@$IO_U<5z+}x9nul7Qr@_UyIEHs&qSAooAn!1Q{dv5# zHTV&Y1dQtcFU=w*AASDCA3gB;Z^gg;{YJM-ZnD(4Dg))wa<4DoTKnh*m%Ft3{KNNM zSrNYB*aQEgwi5jP_BBuTu!o+}pZAlEO4AePRtx|nDqri@xwIxp693p-Z_plb2)dsv z)jwUzKK`FIBjo$h!nd&4ff*qf>ys8! zSVvzwLGvO^Qm&GG=5~ukV%yXM;aexIz?D=ZRppe?z;K<56h8VH9(G7Ri)>O4(!D3I zTt>FUocuBHX<9h-BwjniTN7?2K=pjcWR6ru&4-BV^;j*YrcIhz0T!_+4NFm4Y6zi0rFktL`@1=?P8_+%0JUtJu-HAY^ZaPnl} zv0^Te8lOupWYV3CDYs25Jk-M4Tg~h<<;I1w*XQsl_YK_{|ieD|0pD#%f`dz8Jm=DbP^?{3IMPVZQ@L0}Xrb&VluYY*2|!|KKfGfEQNl)Qp`sG8JBjxjymWQwxRVPUg%&?kFFB>Oqkfp2r_h ze&|`JrjOF(yz=f5A5&>U4<^bW=ADhlw(+@=5k(_kKT>M(DFV5KL`ewoMB6y= zb|Sm7AoTme(fIj>wH76&lqbeC;>_mRGpnWM^tK6Q(Ww@v*>aaf)&hXSxWbC)Wc*%f@wWlyn;hxH^nX*3V@QY#1){<8*&qTH8;O z2yLhgE3qj=8Au;Yob-r~xDfk6WlD%~&b5+ZZTR(t`7A-F36{@dWSxz%&;Y%gHj*~2 zp<|J@oN8%+Nxnf7A$=F39Vx;;O0Yoyl5mO9`Y;DQsBIW8Ah1bv!L-O7iUF#w_D}+% zGMWKdUL@dAh!=lx$PcVNgVA=YqNJXA@=D~F5j?me>hrEk zF}0Oe@47&2-nw(HsGh!fMx*%tJ@*Wj8q6NI|L8p|%Ix>PE5(6NX)b;DUgb08cfvg{ z1@oQB^&Lp(9*$QhOu=Qbf(hGKH7##xE^7^UtK&^3|1oh7>NNSA)JZ;doy2cgrw`ML zB#x|8_gUv$F=^H6Y0}qJ>CKmd73{xMI4JbP7$PxR3Dk1Kd31m6Tx1>p4LUp z@wYhr?8ONN8b{2AZ-UMPm?yCKAbG>V)RfSNvm87(NFq}2AY2T>#Gs&MRo$tk{K3VB zMh|HW315RE(=bl7sU@?=bX9c5&IvKEDRNP7W!wDdnCMw^=ATy>E3AxluQ+Ik87x4P z6pCWv!4=)HN?bp0LHAj>Ykphu{VE24RDZO*!aJ_IyKL@K_ShWyX=mc*gbY^0SU)b- zS^cW{(#E++Sw*bxT%&Sf`uZb#*WNA6UUTL~wF31*p>k7d?-5r|Er8S1Yq?dmbSg$X z8K76t9&ex;o~P1b)KLQ(sKrd?z73!?2(tyODHd2n3TAv_q@_g+RUN96i;xsj$F3be?FsRrv}WObm+YL|70>|^HqbS9=Oy?DPZ}W)|}&6$GBNa#>Ps4aBI>#@0P-jb3sQyZO)h@V49r(iNt&$3H5;!}7rR}n zLM@x7w7DfmiQVFJm}OVfgmq1MuuE83rPajxMS%U9Wp#M>DE)SWj`avm(^}s{TL%Yd zq>G{T_Z4oeYMB<+M|I{JzcDm@!X#&DIn^y(WO52U0M@0t6(0|Aep?5N_)y&t#}8&f zqzrrBpZ5ba?Ly9x7H%;`bAdj za;+sPt{GwR&${Y_%SP#&aT`M3YjIy4ZlwG8&BAX-DV0ZmAD;$0OfVyqah8ziM}A*; z5ua0Ehu5-NmzEYB68LeN>RI`#vI|`1i38@=wEgW#soIUjIyO_`B6g zve6B|)D{?BST?!=PSOY2=7-~q+7P44AXc1EFSQd!EB!y>jevF<(P6^&lk`E7$BQ^f zie-%$Sp-iLb;-5$F;_T&97A$UT5lh`x=L8>edcM)gI=~?VrSN*ciNODIh9KPH2n+l z{s+?^yjx#?werDgwn_*+%HBA-^3FR^Kc+Fm7WyyHTxfa0Xb7&bPR4s(a3f*?o2MO^FFOBUnl z+m+2qow9lR>44eRyFoE~yn4NDb;oBn_7j!qZ=MWi$jQy>$&H_NthVX(Ue;rEO7HQd zcd$?C^Xdh|>DS(K&$XumNSgoXcG*`i-Q^Z8=iK^tBikmE2jt{!k?-;g=?mPumaewD z+)j1=bG{*p_9GEN{4@ERNFlOUajRQND8m^9l041Vuo;Zw|0a1J zuP3P*^mU~lO$wbumL{ljJ?B=k_79Cc9s<@%2sVPu->J-2Dr_zDX5yXL8ETSJuJV6i z*v@oPbCvLc3R8OqBAV!VVLsUlRBJ(c_t#pgxDEx%la#2+I)uuSBMZ_JI@+s$^f^m4 zmB3KQHx!q7vSTrny*m7R&JndGbUFBTijRHnX)?MT1fG|bQK?*`&vVO>^X{SYu;DVW z-whQf=P;wE;WkMfEL-(tY0c_sV#tgZ=T09K1zJey(HmlMp^^drL8o5#N>25M6Z0|( zs+%zTzD0TBeXHAHx#cYrb6QdsH!%Iy{_tRwgudcoo}8pIbz`$%TTstI+|jL3Sy zNjU@s$|M6>LQvBL4lNYo!{k;~6h@YJyTf(@T7LQ_=QJlvx}2_9Iud}~;OeVI4v86e#2%D72=ZR-R_-g!LfEly4+`5Gxom zx`F zHMZzPjl$RXa**0!LIBz|SggtH3Nt>>GFY688+>b04M| z%{K9m7` z42pNhNJ|P|(SG3i#$rV*<@LfDoTf7I!T5%TMw<(~7uVN-T_Bx$Ba!1Ui9d}EA#(ZZ zFDVWx{dg%Hj~)0VR9dD!ivi$gF6-bO(?SZ~%Th)0n2<8{TisyxhWm}|50J~Vtk_U; z886|kaWOqBstAV#tnr*3tN2gO=C~Nn#I?CI?IYZyvSPSLz4;cGcv++DQy%$7 zV-=+FtWhffR7Vt7I}~>Ar2&;{y=RA!MooXG+Pp*hJ6nk0KWW~g8jIUw;b*R zfV@zeTaw}aict(VvCbF>L^>l@EGeoIBOyTh2+vA78{K*0N2~|*pbv;Q+kbJ%8BJm1 zJw_W~vBmQBmG@pi=pj=|Ut;`Gfi{Xp4CS~Lp5Sx{OMi;ZPXGBh z)QZa6+%fSecTyBqjN&mdGc$4qpGB3UtcCiNjg>HaQd)H zOmwlNZ`-NM#J(GiMv*%_7*vu)%J08t{`7}rCCxk`zLeWe40KN;{ug+d9#ACM;BCms0xyxoko75^&Ewg^8UTAw+Fjg3 zCQ=#xayr7tC1Xff>r)R&(OgKlQW8kB&nvzX70pO#YjOF5=m6IT%AMm^P~T1z#11Od z$_{qMz}jWViXxVYUW+8z++a`j*z0zKQS{3}#gCLI&)dKu_@M((c8z`hB4=?? zz6U8)EEe-$51Bobng!{GkZXp?Z@Vm;Ev|86oz^W@=W9&k!}l$R$RvvtM98+1+63f* zErD34*=*ZnvTeH(X;oyr011$24WRZIM0<=U%A*qFk(zw2v*E@+)LW-T+9n>K1qw;h z2EnXnG&$lRn!FRB#FjHwP)%2S{<9|!LPR(d`E-nOX-~z1URF&_p}fq#12)cUkeOEE z1g5qjmXkae(F4flF_!v_TfF4BMN7aD0Be_2UR!u9u_RB*~>*W^L z#2ww8d9uTHrp|6N2%GoBVsmyB#=7eo5*4$mCXT7hb3A>!%W}EZIc`Hot5fSR&(Yhg z7SY$(zNmD?`Hs@q^vbIGrk=)0Fe|M1_S=C6sWl!nlvmXH@vX~|^Ts5s3g{Qk&aa7# z@pJD&9U} zai-7qpwHUT2D|})bmgUF2H?IE;DXf-gmyV&mO-M+EMHD5n<^!GeGnMMJx=SrzSqBh z4=c7B^`58f2IZxGKz(f5dxuw9Kz+k*ANQZvQPGI6aa#XY<+vZxVCh<`bN?gmhm~9G zPN$h|e8FJ3$l_W!*J;HMn_ZSm>0TVR%_Er)nnUq8$_s8iOzLt9N2fAEOFU#aQdtgI zyS+Y$uP)LJB07u$%G6<|;t25p=hg~KAHbj(puq%SAin>N@-w~O==_Dt_*+-ZI7as~ zz2|2Rqd~9y^0$1<{gFk~J*vW{Ijv_}Tnn7mUW-eZXt&#)%A)up|6&Kb%VoDZ(m!!o zdacd{F3Xv~?0C%LB3_1sNz?%_MmVG;8o^UQC5VQHOExqZho}kRA!Vi$ckqy0dmx#@ zoWVAxpHm)SUs5|MI+x|1tXX=1t_&c4KKPt?=5srhB)db|{jc*zJFnrwjVSvz#KmJW zkO~21(*q&X4iD`D%{dquuBZzpT|i(W!Yy2zh|&ds!KxQj8BydTMvU@(JRuI1c9n%nr@Ea}KU-3@g8l2;h(3 zxJ&0ha7; zEw)+Ae&uG?>sPmCfDGN6xdB5|gNR(|eY9h(W-7-S@=~%B*zG*g`bfeP1+-`xYlQga zs73m39M}758i9M-P>T(6Cf8L;K&1!pXidA8POvoKq+Kgr>%4K>xfWgRtaC4#drNoe zEzYT~=ZZGgAQ7C=GGpWG$?z?6OKzEcVQ<^3h2>LP7uU?z>zm`9)e|bK3tdz4id$>C z$|mUKmdM2NmUyvKOg%Ou|KL?q&YE21m5v`{gFrlZyp|nctf=!Y#s)tZJ{!~(wVaW@ zy|}43&#V=cA23li+XHaq_##{z_90UqgBpziDco07$@z2)A`GKUj3n9heKJW`Be-)( z1OM2Yt=9Ct2p|m&!9s)}4*t$+ReG)7P)XCV0a7#&$^)hg*$cAoEy28*ic#r>&AikyCWxU`fMBu#@y zmCe`??1VGtkn|4`)M*#m$_SZeqGm2?R15i`KB~iFgtTKBKM5{AsRj-%Rl$T>&k(6h zX$vstFrdO72Ij*l18X@aqDyLj>X_51g)UoRX?uP5>{vfg!6 z@7Qp?$%&oxlo_!xr`{B4n_DySE8F24)cf`kwR4@a6^5$)=abc1862*jbkPY-Uht0H+lK2ux|XMI4{l`5X%E+^_8EOH zp*F)6P(mkf4WVyTokz6Bum&bHRKYDLYYMhy==W1L03Y-6OPRUeL0-Ty&?rj%4DRyO zV?G9l9a7LF;2=eJHb$`!kdr_IFuxZ1z}u{u;aBnNz<0vi)c8xT{bpyN4msq_cf)|BgS6Uq5ZjjE03Lt8-)f z_Os_!+x5E5I?1wakuU$+HR}%iM5x-bg*~M6%XYKH*}U+{^p>IdK2-Nc?g2eq_phdN zqpIins^<6xb$=zdeouWxLr9s*AN&5vYCkx-nsV()+k^N3lJAq?14s`Gyg{|s;qZaZ z9F1a)VSv;g$Q?%c!?ZfWW2T&8u*;y6p(+6kVLMbN$TCPMzHs~iLm@zl^b+z!Fcu32 z;(gHKKs|#%`%oY*^)=eWN{7RiFf=DGEuP_+c-x|xJEDPjah|`ox-;wy7z{d7zS|Y3 z?5Yae;5F)UA}y%IJhQg+(@XG9AvhGYfeQ=AmxpGwHMNb4ZJIPgC<+FEy$}ls7w5$U zVM}sR*x4E@O_aB~U7n(vlGZ|hd`5Xh>vvoEIH0!Bpe@Lcg0}_tf60vH(Gq;j>*3Nc z(i6i8hC>)v3Xm6hdt{r0+M`9p%s>ugYB%?(8e&}|+dND8yQH^@P+u~GEnL-A8F0Dt zO*(@i;0$+G_xkgSHjIqb$YXM~<~y2)HNU_psjnk%cnp$8fVM?E@D)QMyJ$V|-0Cw%yxNTV-hqL@ z4STqS*hkVb&=u9#2YG=zz5)mZ!DBUzbq#ft$B2SJYLG5~##cB*>Ey_72&N7o|Is)D zd#_7SwrISomXe!-RB^k9s<`t3e1pd@K>R|+E`Bj9@MpEJ;!On(7!V4cm^d;0O!u@| z?1vqRSlFPQh~zVFFB`8jkBNpmIzq)`%(`QOXb#rb6?ohQYlEIkBYrJYE>0!|kIOi* z>r0H|DN_=(z zXX&q4D~89%QefWf(p;&zRr4U1)3GK{=!gvFudW8!9e}Irs12W_Te6*3kI_+2}5Fa6|Rz#;$&Y@aYcI*+OLR85Ifc_Il zsQ7%s=k@v$Z0>2N4K{C3o?Ew?g_bNSL?U3eL~pJf+rSPRfSFsiWJ$%?2KaQ(T?(>R z`J-T>qcf3TkeD+t?VKXQ?$7Pg->5>{xAWZ1!R7>VrXp_>0#jO?qu|deH~x zwsdPf9&LBarjO}Z=XUFGELmX~{|B>8+jr)C<;%$r&cW01?gzW+C36)^V|&bB%l0YP zg#~XJ+eJEiHCOJxVLeNrcagK0G%Ss-8n~PiPfw;99rI+BGOU5oMPY&Q^I-fFkK34L z><;)m`#vcNh`% z`U{75dy1ZLBFFcxr;*&*{$!C$Y}7e^TPJcEn_M z{EjK#vsx|1;v91{oe-386aqGTiwXZ}zhdNcQS~X%S&+{&tdAPi(vUT8BF7M|lb~>X zEK_a|3dYQgW<()q3KdOJBpkNe5F!tSyxwiaU|VJ$bPIth*<4t=8w|=~s76xcjV;r^Ndv!2|Tm`_Q^Bc$Egp%h(`!m?xpD zhun{UjUIy;LifkY_Z6>Pu6Q9+`>tmTq3~Fgp2HR@PUQ!3C7Y}Gl>68s_BZ7Ric@S; zURM6X#w+ihrThUmVj(`OhvmcfQc&KNey99Jd4*Y(e=7e_e$EQS-OA6Ef3mRShR)Hi#vojI@14I zE394nCVM-jMAHw8p&mAXc#2f{?RVcM1P&;NuM-~Ikv_gd+>yShN4WUt9fuB~Ur2^e zW$f(~7cpCNCiNCvGhhqOg2-kw4i-n^;BBbqL^y)N?Un5CBK+it140J^G?mb2v4B+~ zC+~3o#_hwMD`i|QLhmV0y!RfP%H}rAXlR(BOtD@y^@0TjH8b2M8+1Jwjy98fMoqzj z3#MLm>Ys#jWaGQ9ELIv8zw)k8=Ev;UbS!weQwFK zsbRYewI0S08|m{>n{CUi7lWFjNS!V0mYomn-1(635Z}pUM;^*VIe0Jql=+wY9RVwl z2j6jp>|BUwpe zJOj%DKR*`|+QTmqsRyCF$1jxYqOllpO@&OX(r>Fz6y(Q?yBarIpIteAx+q=0Z0UvX zx~G;`D{m_wl~pF4h07XS-+gO*{j!C6o29&X;mgmQSvh5H(w!I5I{zdz4tTWoM*|Dw z^0M%ta?2M7Y#xiO6AV#Lz#tYxnu-f|9br4zm|I)zOt^dejF4mQT!+)#;@GgIJpY18 zOH+FN&BBGjs6k&GyWt)Dd07)ZWRx9bf#agDN^};Xfy^Z1V zL370B9$VOX^{?ap6namPLIp{p651@M$W!)ZFh?Xfr1$WqS>b!9Zs{EBmYGia7n`X(YzcLYo%QlZ(RL;@Ej$1G zW+C+3z@pPPE~=1q%HqNF(ZafVBx209)vK9b6Hw>Ds~@YVLpUt|Ry&N+BUe{x zQ+s(!ab2E~A-%&9J(Kh5*L3bFTXgHHNtd%bbK7tF<6h<~8RKKu{DMt3mM`pGn0L3b zeB8O~CkSk;RFzwO^5IAdY1AE&51LG_h|y{|;WN8MxzlK|8kO5EdV_mFje>*VWmi&& z%S_o_E@^-iLdQb9Jw+J7({ew(Gvj+g%nc9GQv(5+S4a=N$78p!<@9#8$|AX3$3pZb zX&`QAc)60Yhiu}(uJ7*!}?0GgVC;cu+8@*41W zYM7|)&%BfLa%A}$(l|li0v=4;PemA2D&Z0|1>hlbtAGZ=JJH4P4d0CRjPq#4j7Ub3 zR5T(Yd_(1!i6`e$8-9mg0E{;d@IUAv2%FFCl{Y8mU!1C5x^P0T=};&f!HN9OcMt3@EQ~}Z z6el}smv7$rtaM@9^y%XpoF?s!XKffG+Tk*;`on3szqgp-4q(NN!5xAk_tm}d{q#cm z)20Tuk$aZlOmAC`Xv+VSK3k|yZy)@4mvEza&ft5(?WjM|CUBDSZoJI~-=jw0&@ILF z8uA3wx~0q>xY6Xfsj`lM4Iq^^okFWceT(a4K&p38fFyay!x5pOi2Rj6#V|-|W~k3X zBgWni`FtTSI}-AGL%zXdrL8RsTU({s$%^T%3tRWKmX)@$X_ZOg2OCm@t5Ro8(U~o} zsViPzF;!)1j1y|uKgRVwh&d(?j~x0Wh%%UWB@*bhouUFo%z$-mIqU({`~Qn-cP z*!ax0ZO=4bV$o^MdrM3AnzcGh`o`>2Wi2gOM~UzH5>28eTF7|_sk zXfYgWeA>7Um11$CJ34UNP;iK?z}&7&5W@r74Sol-ntmkChp%*Tka0Spg%iJc;e=F= z1rWIrqsUy8poH?c9V;n**KxcRA3}rh3SzE^sUq4h(vkpMw)){jTwM{cd{O|2m9#E# z8l6^wlSF)mt~55l{Ef%de_E^=o(3#1Ae49|zNQwG+h7}L394;}%s}PwczrcGEyP!< z5kL)4rG^A@Oj4Eczk58x33Luth&=eDm)LbU=M@T67%DYi`^kmE3adPC2zoy?0r7^c zo)-{rD->Z$!5gWJq&cIvQcY0ycATTujX0;GHPB7``?wd2CVw;B0MJ6zsF@ejxA2id zS-8n$K*C&knPf8}22Z(Fl4McT>9mMHM?4i=Di$;%C9Wvw5Cm_W7WIc0g-wYf8#5U^ zPK$+EBY9p)a+?yi7Oh_E&5Pw5O-}F>jy$h@gOeG?4nkzQlaTh%C(21ByJB#Q>KyUS1>$ZNo&V9zUc#3SLL*CGg7tx0DQ^Jh1B zJ*8fe6&6^WzS+oztkru$5|Wz9QgNkRBDwE1*u|nkeW|rFAz8FcbQ>$rzqH(EG7I>m z)+71^!6A5U#jImi`VP^gH3)Dj5KSWcu3&IzWrM60L~E(jV0y%87Ogr#fLC~vY!Pkn z>k|cL6eOtM^vrG*8r@z&=l8_|aeaJ6zGH3N=`%(O%NM$4xXY&$*X9@8m2@SG%lxu2 z!rbesX>em;Kn*?mE$g0LAHn18dV=&kdaR!|RtKf}0?QWN`>9mrTwyyfIrbH+l z7Ol)`3)q9w8s=hJRE60@lSQk{WqLqt>5T%j8!eXyyLPRejn`BKL6DQ`m5Z|7Z3rjo(QNP<}5GCC>sKmw< z*~*Iq(PUr+E^i?#EtYInvyWK=vfgKd1B-*14Gx1Qtz4VE}KCz z2=K$viokzr4VX>sMFvrqH-2nqf%e{U&b4~Kr)YeBKH_vHtTBfq-{l5dWr=8Osjl>Q z>g{?#Ht6c?wyANwwlc57SHN87hCJ(*1e~#uNi1~)1h~&IoBJ1fq<9vMuuKZ}Mu|BG zOb$J~3Slb`it>koRxj9?#iErgG87nQkx56NGw1odUU)4#CD*i|UFS3ucrlF8N%^5X z##${H)@Fyvx5#848!I-LC8IME=?c4L(PAsr`psUGt<&l-X!G>ikX6){*G)(`ep)vz zV({C&1(bn%Z9}K~+PY28p0=aR!wQ0>hdNhm-@LBnl||K4N(3PiL!;|m<^nlpo!>Zl z*Muo@xH_7LYUP-3O0g0gU|fun(LMpqnHWz< zVOpVmY6@Ra5|D|I9Eb8599l%zAjh$`<3w`B6Z90PJHUN{Ur<916r7|fT`36mh8uQY z5w$(>!QM7cNcoj=kS*@6xqjb{cuaDhdH&9Q{UKH!4Uw*sPE_5PUP@ zmMD`smh4K{wWu{IR#i=wg^R_MI+zEmpX0x%Q{Pn z%L7&8Ha*bOncCP9pSG~|z-iu4_k`Lx)ulBBHMRe`uj{gn6WNA$4(;ik*>$aQ>?a%T z-I)_6(+PXCW?nHUt>K2w_Y3tuGSKK3JgpeJA} zu9nPPjc*v<}}C zr!o;=4P}x%z;iZ|=N`1-V$|cJfyKSsha?OPCRaT?l88ejU<#BFe0(-$2OuIPwFQ5v z_}qYKrHPe&l@np>F??R}mx9`oCV;kfoyk&Xb^%XH>AB=TF1h4C82mcQ*n+*v8k-Yf z+n-iWoLC7k(ty*(Zr!WgU)EGo;Ag1~88a-{ei^=QJNYZ#JXd_cdb?J7yp=Jgfl&?r%6%VE5!Dp}a(FK%rq_O~q@Qwf8P zw0IPO`GCFYoz_zn0Jl<7k{@A#qMm8qYfeHV%3=F^9bf@ALaNuON!CCRkb^b`vO;lc z3BnXY$T_&PdIuCaaKR)Vvk^hT;3Z|SfJH0@rqbg8UkcAlAl39Qz4eU`-nezCx?>w9 zyYiOBW>wyL#27L@qP%6bS(LZn>S}o85rZt*SuuWO#g7;whDYF}XtS{5%#VU;_%(Q2 zy-n^>UV^uncKH_;%NNVFa3^CmJ+jSV{^ARZ9lx>~^;ff5{Z)AhzuGNdd|~E&o|1ox zcnc>+s3t~qjmVmoQ$S?bjPXpeJWF~*F=vwrl7k$7aRPjvj~kjEQ-1wO@2`#{9Bj{i zEST}-%B2IhQCiro&oJk=%N@?}!leg}-f-SIV~VW0zo9k_kM-Z(s{G)$djM9r%x~<{%zl8z87|Bg)w7_X1%=ihNA~+oki9X%xP60t=go^s5dyN;uCnZreU;=T1w`i zUkGb+XE1&_s-fwu#a8$pkMU!g!6aScR#f)AVcZPNWI+=;-ly$>ZeSvLb79n%LHI>X z5FZAhi_l2}9-%5TNC6cC*C>J=gc=5ML^K@27!(;$9|qYl;g*aVR6P`V5GVZ4+NCS>C}&z@y7zvDBr*R zRm2jwT+hh%F(KsC9!v!j35)e*IN8>_|FWeIVUR4YKB&G%`MsdI^v6HO1V4`W0NpNW zismw$Kypy!IA3j%0B%5lpeJkNSRJ9klzeVDZ6LcUlsBmxcPK{o-uk>@3&gDqGT&&PP12*?Rs~e&0f$@R+4WK zv`&Lj7OXmLUaQ6F@YMgu+2kd>ygmJa0$ zLyMR9u3A33)$Z7=9D2ot)Gvow+1lc%%NMU)I4`{Axy!eV&#MpUyi+mW*)dDteiZ?2NZv#A{LSX z^PVC=OG;%DkYJ3q;hK}=A-(^rg0^zTE#)ZXWhIIX_kGTbs<4RMqaECw z^OR+!T%%OL;S{Q@$KuKbtUn>L3>s{NPa;(+8&4Tc)l90&@vkhci1DuSe%W|bt}}(g zoU_Exnx4SZQ(ZDjRn$Pz!~<@J8an21QylE61G>b1@{clSLch%M!DqigOczo-kUcZY z_c~93^q;ZkmVOo9eY+{<=WH1mwPk~paMS5l7UNeHewwB0ujVg7V~jx zB%&$E69ch|P*uay;0k*X1%dDd@%Y+i<&_`brhI8lVsw{559K;QS5z)WY=sieSa&+hc>PRv^8^ui>saW>m|`$wV#Z0Cbg9~md5dDQ5Ti}sbiX&rtCe?s zG(0ynO2u8_&k1YNy_+iMxaPY`T2$o`U6rn}bKl?JIo02P#BTbVR4#mD>MVcfVCf4_ zsAUuFo%V*32V?&idk}_c7unEr#*YjS8pc*Q5)ynu)PcHdRo^ayyedAfUo9 z0a6{9zx*b2e;e^~#k?=X%wKq8BCavXDq34B5ONex+_;b%m%ULxZf#!P+Hv}g+0tlq zcw^(~QS1+IeNn#HnEM@#_61zDc| zqGrUzLuIm&l?AQ3nDAmuKC-HyMHjoyW2qh<%iTL?uhUx99?RVqP3-_!t5iOUR*v3m zu~v<$%H22TfW4=Ol+F=eWPTi8J;hgfyTw^Kx-{?Bxd-evx^hcY(N>L&mv7OWxtK_o0_Au^tcPOYz>n*WCab+)oBlZ|JV z#j<+3Gs~)j1rLQ;x7Ka4Tg(=_32Q7-`D@R`nw&mC4*Sj4^??Bc($}QRLvo=7#tLRe zRz+E6aF`=~sgp6m(oF$2_%Si}*oM*P!b|OqpWxA(2TF!Zrbw26X#g`=h!I&WS<(3u z(xvPgRC_X=Dar`>O9QYb+C-D17ak!Vp@CG=Btpf*U6fun8p9m2nQ%Vg=wIb_7M z*AUelWvrRw)KVjQbFCl+r_1_{i|4QxOn&X&Pb+(FCi6+lm)p00DI6BA6%NxiM5J|) z>JKlu;V>k?>q*^1>~`YNBYcv8aGH~&q^XDAQr_?wwvuvWVuf%-B}4DArdT7|0>;C zKVe6u6e~YsMJf>z5LdwB@v{W%?fw3zC`G%m2m5=UUm?Mqpb_N-@GH}f5;O6jF%jj| zjBpU&6}poQNm=Mj0fpU!CZYzcUVd64{kM@jB)lmc5Z*k*8JQYuiIr=!p6=q*Tyl9% znY6Z|f>A1T-8zMmsi>$^jS(KSTDeZ_<~o_9!k-4L9DskM>LHno(dWwr=!VBKZkQ1m zJRl?t)2i@COYRR17#w=_g4yzXIT9Qap$pHy05}9>b)}dVVhX`YVFDW|^=UxOGQyn^ zqpL+)jD_rYO-)W#T$3sMeBZ>1NKRwzwm)VEukKh~P#P_(aL4^al{=V*WVK4gJUxIs zLozSd=@xyCJFEWqnpehXwc%+M7a4xUWoUolKM?0o3Gvad3^CHFFDp=-Zj<3IM1lp# zS!~S5N|?W>9~SO?dmn6EYu3PawU6Zf_4NxL+4z5n#Q$v^vtv?|Pb#!9|8A&$OSr3> zRv;C`eQeDOFRa@1zVPGwn+gX_Xb)oAJ~K|x*wqZlP|+iS7m`lxC(zfajV&UA4AEyI za6C}8FJg^Ra+*-s1h@r-C7_8QPl4kOYof~s3l5e$0H$kTGdw#=V05r@1NHhE;omiS z#9B)W*Q_p*8inH}&CzHx`9rk11Z$_8rUy1XRQo(F43;|IHAx2?-smrhGzDSXw?FeN zvCF&xGV@oyN3uk(tEtiHrP87z=^Hp1`cg-bp0lLAs437PC9b?+Nwhf{DdH`{^RkX$ zQ<1+y=kjcS@x|@w4qf@cCTiQ;vnS!E`nl_Kv zPPD;jL!og(;TR?f_;!B1snE)l)frx~{!@_OWbUF9`WH`FZg? z(w_SLD-|MK9SUrHTmq`1F`N_OLDItL~>wPShLa(BqJds+MN zWiGSHMK0Y%e>$p`-@J?rKhK`d9C6hQTfAtP@S)k|GOu3SzH~_&!DQ+-mA=1rz1ih9 zUEp+I(1rk{yU#bW(=qxMS%RMkEghpKtW~`?O=TSnne@&?cs9Lh86dwHQ|TUCEVYXZ zRgJ9bx&MLFWDr)8_ukj@G`W%tI{m=?J)56K30t<3!ef$q@BQ)g14JpD0+KM~)Zj0@=#H#6Pj z#Kg_<{_nSooM5^)PZZLV@y(p4|Cyi2=*-zu0)-I%n{;!8H|!W?YFcaNEM!0?e~3AyOtmCBaW|*Hnt4`Eb^jXpYOB9TmRoU18SWccIy2i;Y=#ytw|t+wZ@yx#6+nvFZz1 zTmKeh8WSCe4>pkDiShI|Swz%NvO_B-OOso&j+vM_*bMYMidFLCx$UczWc{p=y@I)8 zljNx6MaePAJCc7$K9YPa`CLMgOQl{Gs)J3-$UtdAk)&Q3jMvx<(MP4zUk!til&Yu@ zHsL`}$=!5H#JDeN)Kp=`{2 z0`pvrycYI1OuM)srO#*S32{gC+9YO^QRxn|8W67_#Kmv~mADwCQHze$GTgI6E}b^3 zF2^^%YCz$dy@A{+S2%y#V1R8D(p*^@Z)AaOATqgu^>0ZJ`(Ws-jNwZR?5=jqSnQTs z1aF$&ZqSl{%2gJV3;BnoI;ZRwg~4IaJxs{0)`F`FVg<^^9KO9KHoXf`Jp<+H^mMD*`olVRZk8iM>sRH-WlYwvp2OO*Tmzf) zL-&%>U zu~o0Lv2(RnjgsRTqDeOdtp=Ty&D1*|=_(3jux7j7Xv!VzOxLpr)JTiF9hsSoO7|vj zk?W)o;2D-9IbNSL-!(#^$a53YLMBhP1j4pFL%FF%r-+We_1PS-mn%%AGF8t=XHHsa zei@&qVgu^?3x(IaP{=eDIM2{@#WvZftDfZUzrH01H}Z@aA21QRsjq&=$%0MifWNKtJS2i&m!i_+&kBU zmYa`>T{hOMA8}XmChyYbjd5PC(#eQCW8TzA)|ecbI@e^jMGNenBBxeiu(3LD-RiX_ zmCLV^D|w}jbSQ0kUSDEUz%_W-*u}AB2N=g_)=W`9At+Y?>)n((Rc zn()uRB*K;LL)r^W+Gc;XH;^meSe|<*#}XLTFd`O?n6%c6B4`+9WxAVXIiE|W-cq2| zDb=}lvs`9oG@KH+AV#Ov8Kj(=6j<}}+#^Pk%!-OkLT;F`xWsIzYlW+*dTO%%7f-iyL;U58$zC;E{%P_pq1XCP`vsRC4UaB4ac%y2!SjW4k z3x7TF0!zybW@d{szd?;1%{UK=Z`$K&cyzRC+0ap|$*Wy^yzzWXQ^%T7gBI&Y-&3dF zqYBOr1!+abNUzvDhh7nXy$wgk=x}3erZ$@kPVXGGX3{`+ZlhQwbzXX^yGN;(akkdw zs!@+L^xkjkUc3!?&LK0`q_9a)elh+IKpw{N$on-*G8b`xx1gC1#U%hq_@mR=s^y30FnA%RmC79Ugbz%lSl8cenVqmrdy=>0Sku`D+4a4nR z8Y^wFY}6VW8Tm|k7%nrUU$@zfN{&c_s)~Z?jIv&(aBv*MI^3+IB(A;?)K{;vGIhx7 zb=tHXVSVPpfXTo-S$p~EADM@f&D>ivADaHRnR&;Be5P7Bbz^DfrX3Z&k;A^Kl`G|( z+s6&Qd*I}&M(NUmO0u)(ls1_!(}1`h@ji2Nn0y9`ZYAg}UStu8X7=z=X4cTjI`G$X zW9<*Syq79S2BVTw?41()R-8dG?`Qmg!2x(@VIt*xWVl;e!T`y8LZ`9m)T~YC z#AnFCF}C9$*~#nv#mPTTmZmXRrzQWDwy=(^e3Yy^Wzclhk8r4m=F1cqI*d%P$P9WASs!< z3n`{0nPr){jn2%|i3GLZ(ghKh=dTLCTH3GfZ&o1N37|<`0whMN&+-ZJy;J;EEu!Wo zOBTV4eWheSVuAl4c~$a0B(a}~4i>KhQhTN!oH6@DE~0UoeJO#ZVAB1cw%On4AHUUq z&fib_6K?Jd=j!?U|JUvRwSWHB`T00C2%VPDCFxF4_?%_%`A=(!-&^r)Jq8`NUoxNn zbmp@Mh-K_VIeVkO zd05Z?P`BU7Ad4`-H0il+zEjlxU@?SpOLf~mfE|3DXYoRPF{a!B;hkP|o$!vktj&Fr zEI#ROD-*g>0K0dDcY2-|p>+u%AwuiQNC5lYCr_gGhbd%TpDiT;TbB-3FGeimaD0WB zW~t6Yv)NN|QxtJ}MIHnlM>qgm#e6R?F!?iR(wAVr+So^eR4eKgr68NBLu0F3)>UEI zdO?+N=g8KU%}wHhT(*)JAI+$(&uRRkwm#YX$l}{yBZI2PhN>=TrOS0>dh5uh%`J4n zWme4_x@_-Yy1XHIylv&8z0GZ_7VRr|TKITbezix{F>c4`{V^edl#*2Yu>jAcD*>_xw0UZHj|m{TQh>>uymZvA zJ9mv@zr6aHV9!hRlVYR6XRc0svv1!wcx|G;LUJbN2tHsQrsZ%R(a;x&C@ko4I5DL^ z5gCdhu_Ty8G7)DUOEx8&_)~$jWZYfvPR7#$z$N zAZiN%WQHm~E6J?a5{X<6a-e#8eTos1$m#gn7xP3Tw6Tka421jOsVqc)!+qQIzIfah z0E)dUy*CJ$B22xoorx1K7GR4-zloD;h55pK{*8VcxvBLd!a!jl|5L~(#2s;m5a$_& z?_CASqMtl~|J^o3o^|_k$OD1w&Tdk1VDa5|-<{mnx3>CLqCBwpi6@>&Rtueh8vO~a z_5?V$82YQP36QQ(T>luk3d?S#vRfYy35y@o$5Z|kK`!BuzXW!ZG}zhmk;_d2A`Kr) znMp$|q`P9qmjRbJeBo5Nmif%qpf3Vu5*SXXeb4X1rkJ9L?gmehPgW)%AhD-ov6SpF z-d4NP@a}Zs$eT&RAG_?88BB8FveTs`^Ofg>KNH8$@lOgp!lz98m`hgF9$LD*XvES) zQ*s}7_d4Ovb2^?*J`#_CR!;uc*NEwo_bxSf7p;lhe)!43tylfk-LQWAL+$Cetr>E` z$O>ogJH#6lzdtW*Ke>34fnuJX^L$^_{v#SDar5~M@@+v%HTVAT7%hA#hn|>1rBkLQ zHey2*CyPeu?*%(9Y$NMebX_?w+&r@NzFSsJIr79hM%g%s+(342OdPoJqE~7zQw=U! zq7t~Kxd_nz{zIECKJbT( zOtNroSv^s<;`u~9OXOsvJoRD70B4XA6uFr}WqB(9!@%OjScBN#zGo@KDc51gS&+9 zjtWE6Pi##{0E9DnZJ${s^xHNkFm8YM4ZHF{FZFfs+JWcMCR}E(0U;iME zf8c=)PYB-&f86-Mp5+tB-TMj|vios3slLOl_tP8Yc%BAC1yTg6*z6I}FczXQZcrs~ z)41h6BUm+6Sg6twr0m zxVqhHZfAQ^X0b!&YbMXWUP;F7I(~fDwSQ(lP?(0)2!B1eitS!?@Q3ZsZ`(F~#x^#q zYsu1KZA*mbZ(CMTXg1>|Z%LLROgFk$r-vwDv2+;#l*YlSCCa20t2)a*jn z^ljUo-@Z)(w(y@vOTPf-Sp$n~9(3d(lmQAZXTS^bwxB#&UC@?U(6i>#M2N94a9jFHW;IzHNF%Qy_Id$F~S6V`zo1Ek--ejJ$y~= zl)^NYdlE@!<^Ew;NE1iZMJD6GYvunuF1z#Z<;ift+rrbP56o?u_9B0wy^z`chEZkJ zWCp5zO{$EKNcp<$?+6ojXS5HfG8o9tv{JPyOcn`OSv_od&{ftPm>^R#6~fjDgRY)4 z5=jbYII9fC+6zY~KM}6;_z}^>A0Ug!+`IKwEBipLaK+(c`Y4*nq$|)}_-`r}{`7<5L17G_~nA^!5?hu#w&;pC;s! z%KG>YDAwXk(5MflL<$+BCJ6M5N`m&I-NQ!V3*-dSBu(0~iT!aLV^<_43OmEIVv%6f zb|QUdj|7WOt#R{2_Z-{JQ(4K>n{9L46E~Cf^tefY9L$iLO!A~7wF&nj;2Sh`W+Jr& zt|Nikw@liwVUjR$v)I=W@`?GS7gC37t?~9owXP=$= zUSLg;!Djxew+?}nGWjLw1N?Lv)JbeTaB!dG;YrP$}*NeH0;G zY$mcP)c`$@i<^)K(xIQ65T8#1xr*{v! z1UTbyKuB01F8Yl%7UZsP6mc-UY*u3I5$qzOQ?N9KQW}TTSDH>;g{3Bx21Hw8UpYVo z*il3J#Y%9qynht7UZ3r<^66U^{rxWB0^FVc&xIGR+g0dy$h>Pe65H!`t;0V*bG`7u zeJ^*}(z4Q2o~`%nCwa3hCQr^Q=lOt0Q@Uwch9bx8k-KK8T%ToHwqcVTDCmcSgp<)f1V?VP`jMSVE~qE1)+J>WULJObr@?gQ_ROngxBrFCh)o2 zy~1%)V279fG}cKT_j>ZNG+~NY_`*vHn1Noh-%AW$e0v7`zd|A5mLo zEcH^zz~LAo#t6)WfJf8vVgUTl?ntd87#tjC#Yib)LS!$kXTp{>cK%js7p-X}MJ(M* zr$A6%(66a)3!!;dldMSG$C#p+acE~i+Gq4%QK+K@5*s}U>^^#;Q7W`rEzu~fBwMA{ zAaoLWOc4mHMf%s%pP7;6j4>D(?O3Oikt=LAg`7B#Ivgq`W3ezw)g+sZQEMy~jk*)t zTB*WpR!FsEqwv1PqLk?wqmj|el#@&*l^ko>maC?s%xuC2m=@IJ(r0x#a1;@(R%g~t z(`xlrJyENP-m3eH*61`6sZ*a`M)k~94kWYzHrc%f>WPW13La{!fXnOS}h4RH$75Fee{qA#>>htf^ ze9yNU&9^<8v`@ZALb>lhktzf$vq0GLy-a2No~$#fh6%af%2lRs$r~nBx*+}9V)>e! z0$Y31zDT`x6`igr*9WCqHhDgi(zhM|VSFsc#L^!xw5IM`IM>AfiQX%-pnp^S z1I~+7Xb83O0^UaLuQcAEl0ip?X%~-;1tbeCqCjmJ`A{?zHY3Oobz%91Z5NTN zRv;rv_@i!^xlRGi1!PwOcDF5LwNfoSrzX>Auvt<9BCg`fifg=x;wI9%!i#F(z3aMh zI*pz1N=`9plvcr%#2N#3jYgGbAvU#9L1W?7F~Lx|>K#!{{&&0^lZ8?(qxGZ381f)$m_$lG7LE%)mCISb zDA@VY+H7(3H(Pm5(}Dd784K2C!n29}2bzR8I;KH8#I}^VYUx!BPhciz_-P%#qs7?7 zyyQIcq1maI+u006dNMl^qS$P9S}c6Jg7GEaSEPZ(&S@qO&+GS{rJjGp?|Xg<|M$Zi zP)R+&2=evQZ8p^iP)*PZa2*tYa1cC&CiXXXNjwnzY~dfVb;xiT2^EU8Z@-zYsf6fxh-}X^3wB(s}N@Qn~%UHdL-S{=+V}-7-IDAxNm~gPu=v81nMvDg1B;KjO??=_`wbqlQfI$ z=m6RPY~ulpnf_XS`@Q%nIXa+;6kmW*6vLkh^!k|3nO^akNhE*`r2pBf|2p&~ko1Sy zHcx)_dsoXX(-On18Art&Z5+}DocTk3Yy3(iFoL}<+~RVKSg>G(!&OUKfiD!C2q+Ad z(02tv`kXnU99d;2{m!>Vfxc8;LWWAJ08!ls9&P}+^caHh722$Nk!mH3B1-*AOK<>m z?caQ}1k#P1Q>$)6S`{QwxlK(H%EJ9*Qd|33GsccCbC$9lIAyOKrwr;ATHVYv{|$Y;Rm8X63pN8$jCpOI+oxJ zNO_s;rq5559Yl$~|BLq@gUw+4?|iZv8ZnBo)<*s12th>1iVsu*V!k1m7Z8#N8w12! z2nf)LX;{PH7FM~J%7Xs^w03myZN{9+0ZB+h(%Hc;tWWI zl+bppPAW6SXrMKf;V}$rNd{)){$@V@tr=75UbwlSt=(NWXZo_vF)reAj$N~M*ujHh9`_x=rpQ-{-M4Ik4nZTw?@?e*h}{#zFBSP3o42n)J{asrs(LFZ%0E*$JL zG(%@I@Igo>_?}Z4^kB(I8NjW7W5x>)2oL@7k8Cm4z7Za1C3;L=UtUgzCU50l`J?a< z(IjtWi!*v&vE*8MUdhN{i?MonZtQu7>^S`XMGrsx@Wl7YEKp8xrTz z6;Va3J^UL|npH7Eg-lvadfse|QD-IY2WzL#|5^ghA= zRpP@NJPU3zQXs#CGPI=EP?LW+ifCKuiAz5cx`i&G`=d*rB5lXs72X9QftY1hc=z37 zr0pptaUb1z=|?1f-(SeGFVjxu30?oB90ZiP;Gd*3?_}DS0$LFvgP7O;ji#K29$#vV zMT+n>aw3pK3}45nM1$a=_tVe~YWk&tcslS@0767pC_@F}-NjJ%d=6Sqv9-u6w;6kJ zI?U~!mD_GI zrDd24eB*`>v|6eL+qv}YqAaaOD^q6X4J&HQDFkN{`<}4y=Oe=5Pq#9=-XgH&F!JJ= ztM=@?ZD1skgT$G;n$V2%{GJL^-2E#J#Adjc)h9mL3 zG_%j3kFHy_Zt<)U)dqtGyrK1xw&t0$Hw{Ew_w;{W`y**j$vAg=Ap6wZU2ps}+r4l);1n6p*cyMK?n!h3(kT1re7a1HgxN zOS%`!2u^_0V8HCH7A_5dMHjn8+$9c((L=~5kX=_stB3sMb4e$spIYv+jtKbMP2O^Axj#fN zQdajm!W%RfpA`OtIGI14y!hgiqzZ8>RVN?(l@DZQz4X;X8AXxuJ90;>8H2m3#CMon zf7n-6=AOQIf$*=4L$89EUOhVZj`9dIzAbxncH4y3n;VQ@DV1Lt8*Xl$AQnw*xw+B! zrBeB&vGL{>CRER;MrR)^%P#XBdNp~MF!Qjlq{=;O!Q$!evNB)DhaCsAN2?fIIw=wF z4EK2UZkheRhRmn_$b{(2k|Ex@92Vm_l4TUx7=%%bGAgmXzt&h(>c=oj4VE?wmg2(8 z6vIJBL17emi$%E9R7~yQF+Y`acpL-je~h}tQ9mv7KvScGaIpmtc1qR+=TXWLQ+j?1 zQ>JO+ys0w-&8@A0&}~D@BUPhUR_2DXmSi@zMAN~?N9~>Udk|+vgDK(!@a_< zn8RMdRRsvEhZbi{D+|Si=L-iFMVgA3>HYD^C+lnDWap@n9mT;5J)WhbBeQj^p)qP_ zgER9Q{Q9E}aV?)_&z0*I4znXzdx|SYHs{-Hg~IBHVvVK!17=0L*`8Lg0?ZF@1xqVK zcIIvHsssbk(h(_F4Rz}rOpWD@7>ABx9HQ+@ZJ6_cqC!>(;Fznm~?z$GXgL-oVkL2j&So2drIK_i#h)pvg~O(b+zg zJp3NVy~i;V2hOVLhV6dc+F8huld$0E^E{RH)lUM{PH6OJx}J1W2Q{X@QqL2 zFz)_8g)^%<$5xWbpz?UKrPQCb?nzF#W;3TSJ8y_22yAp-ojCL;TroOY-qyf4f)92XSRi(|b66 zrYxOp&NORH7i?ekx4jegVjeX1&VzF>DN>mTAlVqD6+w6MB26#tbd(FolJcWufa5cS z>^@XlqPR^8DS;6Q3+mNHZ^H>-`-4UoMPUJ#9GnHy6SyGXHu=mIdTWjPa*|V3AG4HJ3~id$R>6;G(3YqP&y%Gu%+Fb> zGpAe9V63@*fH|0-&Do_>j8+rRzyy~E0zzkLFf;67tRTz;_2CmWtU0TJL#p6>0>?#4 z?y7;j`IN{J?t`p6SmckT-zXjS#L=p6wUqhwVuH#Xh?i(gKt3Cm#R8O3gfh!f^oos2 zrh$-Nlvu4yVVOkO{5x!3g9~4gBV)Of)g*C2r zMRJhv-qWP@nfpljac0q_D`L;>YNQozA?|}W5%*o3vOQ7^Dmh`YJ2%he&dViVoL_J! zcfIh_-l5GbtKuuYv6wW!9)}Yb|m0ugvGzycA?L2*4SP^8I3~54# z8R0v7<|&B>zJMdbTQ&|D4>FPS_e{H4o0Vx|yQxYle)G5{{{yVn>E~QkOw>lN+Ivk9 zX7T{8_PcKKE8$I}N2@Sdh0Gw!`laA9ci6mXi=tVgk#3AQIl5G-tQj)bOg3r8*Tz#J7ke5L0 z?q5lGlmkagGE?7=wLuEP~&ZPM37w`8CAzN_XVmpO<@IuHBiDTcP(6q6sD^hBU}w zp^ry09rl7F`8juH+Z<_Gr8?}z7$w&#bXEBQyFLF%e)hp^ha)4WOy|dePUdkiHxR#Z zc(KEQQ|27XaX9>W71)`fuPO-G6EazrBhAYxm6lcHVvCaFlonyzb}KShdeWS^GFi6W z>qWj$+v;*QkIi>QGQxJLl5>mua-CimBUM^17rK%22dq>iemPcbA$lNoy5ab+UDh*v z6y_ZjUpND?p}ClcH_ zdj#NC&r-(qRujj-)L0Ni`$nvKX*z8~%Cm=&9P?-po2BU}$C$`N6XHv`Zm_cn-#^X> zdnT;M>elrW$ZUqvz0p-+4;%`!ComFP*3LK*XYAmb?Pvz*-?1Tw<_kfN2U!( zdSRGTW3;2Egl93hSxoE)1dgRy(FT8I(^Ht3Vtc)E| z^A!U6$c6nyrR06)Zs ziUx&Rmm^T8VOFOjD%|SgL?lw!!R29Q2AB&S^KZ*lnjIQdwlQPlNC*39{SnO>tAy)OcE{)+om-6iTPEL-~%%uIf-K6)weiMLO^;)a=};y~pS_ z;@|G^w5k%-oXBf_eZ;KHy=}guP|0VG+?b&vcjtf8h!e(ddRU}>rPqM16TGkE;wDog z$?ZK5XLfy|pi6~V^0;{JuHH)-jRX3wk2^}?RK>RCfXR=d-vxQr$DC&ZA^_RT5JVmd z+xTEiDg!J5O=OGlCK&>%!=@lJ1;&lE1;Rf5mo^}7!Oodq)?T#hi>UB{@Imy8T^HAU zIdi9%G+n-Y#rG?gUrw5s*Is)~xQ|Qxih_H3&`YP;aVJQF`dG`l{rlIo98(KVoEXQR zerZdl@aBMUcmT=HL{9+CKUIA&Hl?_rYB8JAj3Ly*a5Hkx9i^i~>J6tRN|LX4la1==-1!0r0DJd9=+qOLjlyVJGAKunhY&d(CkV{CoLNw7ts;pmj zP@!L<(6g&MLavP)U7_Uva0t0fqnyo<8A^?zq-98JMKD;=Is}e|F=wwj5~sw8>FXAK zC1T&D3~m&?1N4Nbt(}rP^SvYXBXKpfApCF4wY4?JpOK^&lPiH*cg zoSBGQuJVG`LtuN~I4s2Zcqux^59Fj|jUSB6HUj z+|soRkmtE5U;GKVI>dE0&js!oRSMRLHI9&HXqBsj>^RC*-Oip26|6TKW;LM>8H( zAhwF4+eIlyWIqsvBr49F<$3b*kbMBUz~53EaL|YkmCB5Cric8^!bT9L(REPPLZAZ= zl~P$r8?H z-6K}58ZmO^%8|Xl!jH@iV+J=)NKUq8SP`wt5x10eILA}Qd{(N`+tTbiX9@o}yu_bg zP`rdR!OBU5dzMBD(gRBm6W6Sr!4emvWSNHt&73(X*{pNHTggeLLzdi&Hlw~;9lROn zRbm=3gDFO1?=1)pBt98+!J62_)lAyeS0_)8CQWZaU>+(w26mXG3%H@eQ1Sr%pOg!% z>-0x&y~W+xqY{SV_afp;_1|$n6aG#OX3$Xz5~oaxmPKoe8ZayXUU(XG zgcIW#L)gYdMBQAl9n%-V;w{AJ3&Wd0?m86FrVF%JyrXXv!ODbFk&IgT+Co_Raz=@^luG zl`jpIyOSM!Wks2Ak=&I2sm_2`6W8-T#e*LuCA`ND|89W2}>eQN{Ai__(b zN!dD!TB~e+u*sxSC_^V>y6{*g!x3qDsF7*)7y%3vj+VY@)>@Rr(rSrVa)9iscgd{G z@R?@ASZ1`}l`~PN^c$0Zd_HVew&>*GWwjP$k{Nf^OHBsbyA(S`^V3jYPC|TlXEVY1 zA+wg@J>u<&5*{5CsHE5bKb2n*q)Yi65ERg#%E1=}w2*r9X)?HEf|tN&-tRvIJUF_g z@PVs%#DXLixBUdvEI~&S5G3-(T zD@77y^%mtWL8W?7*dUY%8y-}t47))p%rQ=edtA9&bB#GYH#gn9E`mS1j2dO@*s-lj zjd2&z%jZnXt*Ob~WmGG-?AWnIsYanrv2XwWeF|Ffv6o+dj8>EYO-^k9kbuRn?yN_u z7QW&U@UP61T!4>LL~HYZwY3EHtn_P|v%FMu$N9h0!`j$jEhscrM29 zVaI8UomKda0R)kZUWpr~co{h8eH4?ZP1exW)`kZ`kSGzjlFhI1x8nPu_w%h*mQoE|gD z5mKV}3pYIX6jGVG-#sZDB3BAWlO|yaa~&H_b_-*Lbxa`xAOLac9Zs__3q2inXOVx4 z=1;OiDyR`9R|zceAisvQkVi0xPsRnsgg~ZZP!^i}G$9Ax00w+2CPIsmS&I=?LBTIn ztbuJP2=$FEj=_Rde10#MJ#v}01c|X&^{Gu2s<`kigRGdkn+?vDgD$?8@WI<=-^T12 z(00LI5HuHts=}k2thVMwoAxnR6y+A>gIkw$C+e)<-{XIS*If@=@{eM7l4FU?B-<4r zsE@4%7C|#?g3vs!X_ZG{n2pKx%qG2S<)oQ|Yypcm-KV-LgRGuDx6zSdvHFNZenV;U zaHqAIed@G$GG6SP`ZH~Vq-U_v1;Cv<41SGGlAYiQI3oFr*v?T)EJ~S&ATx#NHLzEP*GNy9vh9j>s3MPZ zoqrnuaNxbAZsP3mAY~@8V%+}O`=va=sA;u9B*0Z*Y^Q7=dTK3%j}vblmxZGT&wW<( zP072=eocYdU?o@7!2HBY6*4ztRu|HexYuNNn;oadkI5}d9~kB`fJ9(O39<_m5Oc`p zDJjq@2nl$+vXG~FuiR>KDGZroGVC&sH66JRM|$VGWgeu|G0Ej}iz$bZv)0%%vPG=Z z;dLv#uF0`%f7a!|m>czF5Fm?Lt?gxn+nSc?a#&nSw>2+1u*~@kr{VI6Ic#$m7hrzJ z#pEH+;B8u&&0r{FP0A9a2HIDa6J>3lv|uclX1(C*)7L(9&4%1a?$V`LY`Es3YfoP- zmaWc<6SdKSCQz@@5X&Sf0Xdjl*dwx(_(6h7l5EGfLojq9v z16HnZ%493dj1Kj@NGXsPF27^ftXaG6SiUet_`Gn@b(c+^eA#u27VhA*{XZFzPa!p) zC=uI0GxFAhQDG{$HI^XH_GOam@vWfOfiV@`&l)s~D?BAi0HPB@Br%TH{ z%}S$IZ*k=YW10Rey+*3Gnq9e>@#?JBU|poJA=GM~v13N^5k{9ecE`pm3Pa4F=tbws z$>VrVOl+KOWklVcHTukbRZ zeT4?U1y>Ja7>fEWbdD0YWM_0iaR+w#Ea+YIzf6qN!3ojRz*+{S6KABWl#maUIB?oy zm_=QRE*9NbVi_#+tXPQje&W8q+l0JMQXLqFK_teQT8RpD=q~jV;C{r;jeST&adsa< ztqpz60ptOW$Ovgc^=SpFRBWB-s&RQtU31ed+qaYIX-{O19FawQ+3mw~giq*_yfiMi z$67zBe9{)j#g3-soeSrVYGwAQ3~qbao~2mdHUgP4xVH9J7YOgZ_12ziujSuJ^{qvY znB#5J5;NmL>NlG$o;6D0D0BQH~l^nNJrrjf#bBv)p?T)Hsp55v&*4Z-#)Lma#A$;nvI1P1Rl2Y4@ zP4VlBAiw|ZZ@aI(R`|T0`C;bz^%=m5WRzrXS{3jY75Trg$1l9l=LqHm9ns8ClC5Rrv;FdaB9So~qFN z0^zGS@TaPZ=)l)b9(^?VhS_TdwG|oP(Lr?M#`TmDT{(_RzW!ls*svILTXl7QenG)B zq8)8Rm=9B3T~R^S=HibPf2K^y&3%wuOlu}PXaW6GQ6XGZSvgKKa~dZfW4E8SWhxXI zp3*#@Wg5|WVV%LY&l^?vbylTpDnM19O+-%;Zz@H{&p0b3 zAcvO4j2ak9Q4X3Y`hz0q?x`Iy68ybqqK{tuTP)Wo$>Or!Lo~~Oc?i)% zC^|&6DxniO22I4|x8ia(^8PtfF||eXj^|3q_7Pxm#$X(uFIg_RTyjHd9)=?)3PF(f z(?##Ri;0;|yKt;w-lY;g^mcLDg?l6BkLrMXO@$gp(c7xQ(n%*^489F$tSGHyZN|HMya|=>_TPY;vhilU|@yZrMf{5{wk(y;`oEC@uWF?%@{HqhHr-n$!0VVM z+)MuY-rDk#vV!CVj@_!VI`Sua`&zlKgs zzjMkwWJF3MzmM8Y!+ZoHIz%5j%OGz<5~o3V#EB51u8BD_x48?vyjiPE@!lJtKRG19*OToa}i_F({U^HbTJTQ#EcYa|Cz?d|*O>*h^7vy#plPJ@pS2 z`(SsY_Kq}2Fjh)<6sI4s*K zc;--D6Nze#T}(GEPKu}e59{o|S0DsYu@iNAT1Ko{F@k+my!`FpP!8TM=6dMGv*n6t zKZ@L1|A|gpFb{z@wzb11i+_`MsF`gwx>G4_>yW{1xGIqJJr4#H{u*{Yw4j zL08=W$o9r76w*~vWlw*I29VOfz;Tdc3nD{v@ZG%n645JMS%dNx==DuGMUU**{Y+tY zlT4vtbAAiy(I2a)g=QlWpMk36c!(OzwSa6;@CRNWW;pt(8Zj(dZPc2A7Y_^#OGnmX ze64zk59vFBNujC_UL|bhuzFG86eY?BowtO2dETVjwNtC-P3i0!#gsH(aK#X*NjAB_ z&6n(-bkqG?{=Rk0B_SAe6#Pms=rgN%N4mRWY<(e^(BJ7pi=Vt7@gG^>+f&Xwy;aP0 zC+4stW62%NPxIGS&%bTT;4Vuy<)7h#o|C*a7=7tyNjwo`#?MKW&3=Dk z&ofNCJJ~Ij92I_;`2K8E{IgQ53rZl#OHr||ST_5ENvGms-R{)=NCk|kdXd9e93drr zHffm4C_3IM0hW!4QoJtG!%2rV&B+rEZ=JGc{X-L&^_4x3g)bgKIN`g$Uhw3y3Rz=W zjV?>;r~}YkDw)_+J2rXw1>=uwNQ`6}N>6{^GT%DzFT%GIZ+>|t9|>m!>nBzQXwV=X z8&d6(gPC}pWtVK(e2JU-hR0ull&yfYYVx(IZavVo)GhfG@Kmq&Zt@L=}9o?bIERr zM8q~Er0A$PQV$;+I3q-G9X{?rF<_p^kAe5j89~yYF<1C-A2LWBJ4U9w{y598o_`=I zd7Vr-#$1$qZ~khOlAE!Wl(?YN#z*t9(AmulrYq#NHF|@EJP1+~@fl7Ctrmk=tFKb3P8bFPg6Bg2<;F-l zsRRi$n+>`vhP!+za>vu2DUO3MJ0eWNCWTNB)tB~Vnj8d!JP4xTF+~5Q&O$%Hx3W+; zO6LG%P*QqJ0zoq1_|D2XLt7%{-Xc|c<=EBjo%hWA%f9=Em$^pjJY=)*^EKaHGUn>% z=8U;&7O>OV70%8}hc64&wvQRxT&800T{Lu5AyHes+(xI{)?C!Y#-)BwmJ0}&uXg+~ zSUS0F!?26o!{?06T=YO^*B6s(qkA#}WY3MTHP3l*_k>W*)ae&3+fn-bl(y`u^fX&u z<(wwHVc`KFbF)>hJbqdctP}NU0y@5-wcsD4e4&^F@F|9oj~Pz}`PpxU2rYWUsH}@8 zr4yc&P6{+23-O_r)R-UZn<9H7a37GrO8$v9xyC1V#dRBS#IJz3m%(jR#jy$9k*=Hf!T|f=ga-ptU#=+C41hU z+5HhvEe*4k7L0gU< z-LmYyTOKo(lO-fwNS`*x!t+PBR8`-jQ(AQvzww@lM~R$N2|o$jg`b8s)d~BJzGrMb zcOZ8fGOsP2ap?)_C58|7!BOvtYZ9NCsK(DYLK02sr_+uKKOVjMi&3@LlEju-JO4!F zN9{t7twgKx5N`6OEk}uXUYu#l-L+GN9Or>|5Zt+x$YPJcYYoU^NysfM2BcG*8%2%) zih4)`CSeHeJ8+l6E#BvEHL=hdC`lD87W!(u5IxFe&=$M}!VMgK$4v zZ6<54|CCF4Og)2mzpZDk&Cd_wLtZZA4SnP`ClhA3+sq`)VgG<5$oX=v#yq9;TKMx=tCAM2I~GZ#u^MtVoqogRD$=|0ocV z+7kNGQM;1HJW!btygHce`9~swWPKnK2{2Cvh}_nbP1o5g#tLuWeZO%0UK{%+E$CT3 zmW1!#^7TEl$+Adbvtjc)!mGD`FU*_v1l_v@+ob4@@5s(+M*|V&A5F!@O~s=}kBs;O zkt^@GS9s(8zV%u6enqzUBcn#$F1-5gW}>+ z{=Y)x+GcG=>T?p~iSzMj08B+}@Hl2jSut@lCJb?2!6wF0DkmE-%BIMpFt&QRSOf<^ z%N0du%sm#^E#Q+vSQed?&?qsu4#bIvo>X==m^KBYHd$>o2%SZ3mIA05`dx)X40~kh zid#eF!WCXNn4!-03$N@qrs=BI3@J33ht1lOp|z!JLgn=ybMcLi%AfZA4#=WO=YtkscYbJ}JkA2&$#8x~$YW6;#W z^Mxi|&7_I(T|&>33$x1!U=mcf$NVSCMNUMBQ~q@11)+^6c3nuTetf2)!4PwQ@IUS; zg%Od?oFQL2Bw8pxc!Mqm%oRSB~Nx25FwxneG9=;!SH-6b@<#Tz-B*%fqieUoBS~nc7-Tr;%4Z_xfwkRm-(n z-j`m7XnjT1v+PT!(8K8;$ORb4Iw2Q$z~v>P0iox@l>tT92hpr|gMR72PZ_{E)o1vG zZV1O4Ml_0MrW@=DG3R2}V&O}11&aD>7oXfp5?fDREEG}=y$kBTelbviSV4Ary{OE8 zxwz|eg0At<&9|N;gL|&RQARD>Eh_bruEp$Ptl>7rcPPp*I(Ypl!bL>Y(_8G*#d*;o z0=qB@DX}!}t8dq@Z3R)C4$gqLh&4q^$NAPhKFwu+(e8F*;S&BIbMGA(Rh9OS&$(q< zrq^WBW|B;LPi7_wB$q3&bd_T{gRFQ1UAN)u#frYqvGEop0K|`Qn+6J~GU4=ZnFsa`Ahl z5BGe-Lele6Kk0e+E3D(@9AD8MUUB^R3ch*8arP3I(S94ae-*3X?!CPIICTdE`2!1= zI>B|v8?;LvgS^b8#r;O(h)rm03&G(1)ea|g95kK-&K=QzzH9i>HDWG%Hyi>)4a zig4Ny$Deb=#XDYQDQ^iWZXmAhummmaW*hDOt=p@4&K}pE!8S|BZ;_6(S+?xaOD z(fi@#`C!r=EbG%xg|nyB{7Or7&%4s^@m4dV*KcEAWshY3?>F(xrF~!2N)0U7-h32) zLS^BG%-?eSgX;&1+8`g=B|L$EJzN4jcn5i@?&% zY_47#>vQ7I7ppc%2bj-gG)d13$?a#^6zQ;qPY{rr5%Cf{dzFoQNz1Y3GiNMqBh+Hu z;MqtCbv7*Bn!tk61A-aHpHz!%RV}Nz_v05%YWV=boGiwZ%oroRc8FDc`-xV%(El~g z(DGRhFhNhV67x>!i;r{Jwl)q;;Y5qUpH7g9kbLQH6r)3nx@9;)2rArN}8UHPa-0B!ySb7ht!C3u9Fg_(_==TXOqv~R5NyQ^t5z+zp-osSJBp!P2(IZ#?M?ORUt9F zqqt^-`z&i%aQmi5I%ov)VEse(ktK>w?u;;Q&==I)9)ve{u*3^`Ewe51cAf-YxWFiR z?lf}tBzMrQnSOBN+B2s=-@Eto(`O=U#Dgu2`{uxbZx|>2&-!zR);#!f%l`c>FF&|u z_H~bref`9VA49*}d;2Gk9$B*Ht>teWJMp@(s!dxyZtvc4<-&z^bLO<&TVBIQ2kqQB zsGZNrO`SI{h2JjRcCfa6cuDb$xnQP=pFV~;dYsHnQoIU31sWu@Ov8wKi83n+n9i?eKSF) z7b41MB`EbeSXplb7UwQ_e%+xu2G1`Q*b;<<%1d|{P=uHJ>M!6o-QB*FvZwnOt^zpo zm%p^X#2Na9BisSni(vSleGw-j&jK`YFoa|WQNYxZN}e->L6Q%Xk%FEN=e$rpW)l;q zR<&PAj^(_jdcgC8fY;O36>5 zuhEyEl9KN$n3$iEPu~dz2>X63?W#ZN#Nee@Zdy7x?TTyS`l(NCP@b0Ekd~zbYP7Sc zq&i#g%1zEM(6AWfjSI_TL`&aWx*(4BXj2@87Zn}%V_J@Z@9$39(*32cVZXbT&*XQq=_WnrGo1is0drp`BzHakp zTUq?MRqr0&wRy|2u`@QWpOiGy>PWW!{;rC-mBm`KGp@&@6HiG(IseR?FYi9|R%raH z&6`$@4?T6qp=TQ^g+#m46dP!qx9q(wXPIU6_WSPNKKlCUlOp~khi#DKuJis}zte1w z?^WOSqCe5x!P7=S`r@J2$$@r`S{;r!q(*>)4`~YEazlRhgx3Mdo8<0dp<_+Fsz#Kt z_rdjbk~*m1$*EnI&yxgXsCNm7)gi@2gw!EQA^H_m1r2lfH{{hD-nh1Jkqk1HznuK z%+D%3mHG;ngFxtr^lpW|(j&bh{lSKvIN+aLL_iX2`s*BjGQUhQTfI~(R4ShxCK$V! z5nKu}iwfTe7FIS0=r9@c5R%E*SfvF?g?CLCz2QU91%uGim-axCBRl{)k%TaKFKd!` zF5J{a4H0Q#Dvr~S>N8oBpqbof6fi~b7lVJ^AR1$=Hn%Y?->x^t7-Ecidw!bHZ3A$H zXyEA(1ZdyA`?~i1*X`CN<_`^web2?c^tQEknm0FTUe9?+x!$zi*0*2M#J@MJdQ7$j zp7&u2B??ElVu91zInEAv6Pu1l8aJQTqjhMIQ9CX*1t!KFJCI@nmQEVq?`b8rpDylz7o=iqSf$|tjbu)7}YtDLD7Ejya0GU zV$mpFH`MN#3?OoNJKc5d+Nhy!!*er#^_|5qcyQmQ1^)O;s@`4d@Bss2uYV#e)BQnP zrsgJcs-+`8NkXhidTi9^=(EHgKb>~|*V2u*-tzi|ca}ctmR?D9*sOaBa-oP9BT$cD zse5OCn|W&608PvnM;5-?ckYlcHpFLiYRKdB7J%Ny7bm(Rc}ec1gxN~~)Q>smM0LF9 zgJ|2Xg~{GzNOYuthX(&jwY$Q9sNjdv0v>lT&4fPqCV0sg6`D182En{w5;RFLb?_k> zd;+ZoOBIQES9+Xu#@BNlv!ocg{_NkS*1w;#b{>gkoq$(7Tqiv|Z%4Y(98 zsE?0zTZEY8)Fg)^DJ|I`m}1@W@KX2SdWO{CV1BTKW}q+GCFl!%JG)=W97VEgM2^Ld zm%XQa1ak+AD8dpmpkE8c!`M%J4^n}^7u|=R1?6!JyphPN;8U1q^rR|`OqZx)MS$Su zqq}USw&<;*g)MfaihW*Gr?{Lc>fL2FE@P&2%R+6cJuhbcZ`7%|DdI9|%uK1JYW>0? zX=y_iuCHp5IF(w*3(@<5IzN`P#XDJCbh^U>VCXLwrLq&d4t{KPaAKA;jC z1k1zBc5usAyUq69(w}W)EmF>s`OFS`D4{s2Fz5&cL(z7U!pX$J#3vhq-3;~(QX-Zp z&!)17&7O4m2GWML;|{+2=XVc|!)o~(ce1roo2;~)N#-KOJSF07OHH(usipOIzOh_6 znoe5F*27*szF=xYuIgWVC$+ixY8MT4ZALO~F7WmDuJPKA!`V;#JQFUpH$rjyuxmqIn z72Xb(Hq(|%hhMvP1<{GD2j65lZc}X^WQS>M>i)LmcO}PQ&LxD6|DUjgNL{UUQ^WNkWN@KtpDqN z`SmMw20ZYUXD_Q#Sskf!0y_TQfGeoPq z>GQ2C{xC-FKi%HE)Fb7|-SS2Rg5Lch{@Wv;9OIekjljoS(U5#I8W0;0N)Y&1XzD&9 zCw(7zQfl`ket1ef^XMllxBhvbSs8=j?nm{Xq+5y}B^`03$F<%kFYa%5Cnmkks{N~W zOBdTUFy$*-q|?}fHdJ@mH~OOu$E#-jlQu-3`KN@plQ2Q2THMi;a^I6#y%1no(fhjk zoCRGj(!FWWgkI?%Pkj39^6jWNyj;6c*Mk>taK|y@vn|i=e)zSHQK>=~MBK9GndQ?D z9GJfR8NOWUeDcpLsTtbtaj88%Wz8V-&uO;x8J2SQbIhEWvSzY88voSM4S@}fNwWMt z)_h-idso+!!uJtYfXt`J_O~987_OW%6&N9s>S$|C9Jtlu~9({L*PL~fNv}4ef z^XZ@y%JviQ{_}bDy&ZZFE}+{v_{#Zp&8X$g*yy<7cN+=;dy~DZVZiF7g4(cvyPx_~y^H#}H*XLhtm*c;z8phrsx{ zQlIh4j*FLPB7RM*^vuWiNq^pLH}C#x%Ry#)*rL3)W8;-`UbEX@Q!X_Am|UB-j@Khk zv3NJIj%p&pT4;xBh;qt^;RM%I&AO3GHE3U22e$=ns_cj%hn01_C3ok{s+kYu^$!7w zl&9A}BYh~}anmn7BTIiqug}B5ZQ;vR;*fa@mr!;*(?U(rf_dm+mfh7p%Eo7uyR?7z zvw2m1H>4j@c*suvj3!LP0VQ#r4=b~a@+0B~9UNJ-i#;R~Lo<8yPI?Az8qHK4Tv+st ztL_N`8xbOqh+zXIMpXWGb!V6j1eHRe<@2^)=KjFX!BXGF^>Kj?u25N_0>tCXV<)X^ zO%GhspM|MB>b@U_R0-S%HVAh#mR>$+ycf4%;*#m#q`33#W=? z?X?B@H$4xCoYk_RpnUU`TL<)GeBamvb*#p2)@qA;iz#(wlMH(EqIKWgKW*Cm-$+=k z8vNs7kagyMebuVhrEl)|^>Jy^wt1^w=ZYJ3qTZL25va=By=d-e?YLep-sp5}(>Uw( z8f|?zP^ggxcU%Okb#EN|X5cJw23)H~w$Gh`T9Y zAg^Gixt+F_3Es{UCm&W8^^%h_0A0G4U3N#2#!e1J&ZxY=-~;v^1IIxuY&UO`&UwJs z;W*-?^Z-654k1erxi@u4Fes4L9|)l@eMSiOT$nW(?RKMd#BOXh+NC4(gEh%NqTT_e zOjS3NR6`o4H`r%-C0w6wd+fHs4*RB&p8{+l(gA`m-SzXcmFq^EO9y;keA9J->C2~0 z>Xm7&#Gkck03~FhJ{ZybL#|(miVy%h>qk8iVFEI$guFx@s^uYuKmkf!N9r&c&sQT- zj9M~|yTZZx}y8gyH)N(b4@DhS1b^d44y`QRn<_n zfF!4t*gBF0(RdPw?{9njU5mxl*5a~Q-hI3ceAy3j!XsQ6wEnrx?U4;ni?5qAGtIAy zPjBEOo1bfKmh&62^8|-Pe`wSz?k$h)U%G#1vLd>FS0>P3e3s9Zyq@7Gta5UZg`>^C z@K{PZRQ3`*R*hcyufH$L8 zLw*|>7i+ah1I23a;4R*&YEg6aEXF2u5B)oTYjT2 za0|;E3Fb>GerEe&rsw*!eIA!={D}XOZ$H(STg{mh)Y6a8GU2(<&KQ$~TZL$a?il3o z!n+E092u9cL>m{5D_(H1su7pe+Ix_nSBXw7>GghJ^m^0qi=Q%6$xv*tMQB`tJD3)N8+yPg z-&T!E;||(XH4-QzkSzrTWgE%+E{s+A^)?1=cFI`XAN;E_|KkYg{No_(TCx5WiGHY^@>D%GUh&e(OMBfHdBWdLMUU`o%CX-w1zu%hr4?s^+0%7leI z`^EwpJX;6tM6OXxNKfGgn{--3V?eKA4x1-6!EN$+;$!sM1fyH}yKY#L5TD@i4oZzP z_DV8}d|8RPf08LX#_6&oU3@WVn9gTUh|f%{GsdO*%_Sj0_pGUhJuNTa6UTp`weq~t znwiUDrIxSnz4z;TgL7sxjXrUGvQ7}CAGN%|y~7D=bxg_@>2^z2x!DFJbg}nKynhpO z-+O{N5BhlCT5I-{l|WCg(R0A#F(Cb_U6@lY7?LarNR7z;E0zluo zvpL(OOXe(wH~;Guu1RcMm7U((%Iim!1UGEA_%*sXyQ@|dN}S!wjqx=)Ba+6>7sZh& z-O56(S(_K1TAbsy_n$p`@9Yof=k@AYug;v``cX`>+gi4`562Y%%sQ)(;|~sZ*^*=Q zI#*(%PH%FU619c|yfbq>r|%s|&#CfR{rWhY2=soSo5ZLyd9}d#lG7HItqoY*iOge( zHSs1cKS8kNR|M*fTDSn4__fkMM%<*g^QKs{$&?UlEnQo_DAnsj2CXa+m=3`5#}#9> z=~i!bW>%n&jw^~aqZcI@bO{!lQKwHxa%%ZU663tn{MRSig%#PGD~w)~DLma`*0ZH+ z__{4c)4XwsHo=~F{q|&2#pZ0a*)pxhTC--MfVLbn7odwf?KX|pv9Tw|Z9KMY`LScm zmr3d9iSa8is$%$ly`B{s8`12J5yM0?cc#b6IIY@d*_+61a2t2N5-NJ>4x4 z=+epCnwqvn$Cl6CdgHI5S!Ct!Z~xtGlk@oOzVp@$d}ey$qzO%Z(hY+TNGI=?KKkf| z4NL3ld<8jl5>BV3Sk!Y&LrJFF1kiDBL0P|{)92M38e6h#(u|=)dX^*up3Ra}TGGGA zh!9CjvcG{G+p0vV5I*2c%60-niyFawu8vGTgnCGEPF+CI_F}L>u!&%fFA>17>DC*T*MAS4%>qq6)ki8oxjq(>Z|brg)He|>CI0!ZTggzvSF;0O40d0 zM?zj=v3QYg`T98xsfn_9pO`vSjw|efyMJ5W46B^HJ|}&2j&FkZN`x3n0vs2cH+_nz zsw?mIn`_`EM+aFXx>t)O+z?2uur488!4hjlYJhL(x*LXlK)ejTx}7FWvGNUpiM1CH2S2e^6Rw>YXb@Dy$3~l>Cic=%?KlcLjw2H6i$~}%UOxB; z1twkbOz~aMq$q?b5UKkkIO8Z5DIJ?+>_<4Bz|Wt7UFGB$q3%y{)g$6@R9tgI;HpQ6 zHeLCQ%=>@wJUql&id_2t%k#jY=l`yKz~6TCAva`dNF}oB{@;32+JF8O{J-^nARJv1 zh3lb5O2FO0Ev5S4cA%t`B!L%dB!sIGqc6;t(_?ISP49?38CMu{N;+fr7z~-221C4! zeTUQ+QW`clU^n{>_KDVPu_fCo+EsK96%Q^R{;ewJbrPtS)#1a^o1yl>Wz>r_34s!8 zsa$pkv4;;!&CpMT!(r)%MF=(thgleYFwIz77A<0yuo!8Pnj+DbmdNhikrvJyVMpYm z(ww-T9NW;D4S^)C5U6+!?oXI7kS*n)X#f}l#mgrGc?&*C0V_be{CE)A{}oRu=bcqV zU`U}>AIW4srxqhtinOVu2x(AYjE?}%_98Z_@oiJq61D>KI>JXVP@v8i@I+FCa^@;$ z3E1E9*NQWc3js^Yi9n?&S_~sB!qF(B6HqBVwV_UhHYDj)(GQitlYnwOz>A`Lt*)#a z!Vf!Y$hy}OT1Y>n>&~iDmR)3VCW-)+lhQzt!~;4!5?sje#lQ0Cd<2h00ms80bI#1yvR2Su3I+3IE<=6l#hTwcAI%Rs)3>a+jB7ibyF=So*J=Ay1;6 zJLO9?=6TW!AW0gOI)1!qd`e}kNJ>c9op6e)E+iVBF-Si$ZyP#x89S4i@HDcSx2rmD z%~TikIN}hG4#B*cW&9EBYr;WDbWV>3*ky`8#Jy#l(-_n#1HE$uB5^44vI~q52^c!c zt`Zl3rWKJK`J$4U*B`(>_!vR7f&2qAfQf@v7pc%7kp`5^)WEYtEq)%rt+^}Nt<~Rg zhhFP8Cb@aT_U*{T>Ta9;#eiP(t_y6-%4Yqz*QZXOw|e!w=~D}5B_ynSYD#YIl&98B z=j%t+mWPMc@-|T_XaC)Q(v|Q;09p~b9h~?`af-m!Gogi*N^e%w_gG{`@+sfqQjK=X zvs1L1l0^ojZ&zmyXGlwok5KR_pWCE~}5(@z#^iYJ5J; zvroRYBj%c0yX!aepl?z!APl%{o$e0QCza4e3oJF9wZj@ozV>o^u_`{`!jSGRb_fUgGZSX}q-*QBR)Z|S_N(@iPXtJVJPfAro|KBBA*Ew-b8>RWlnyDXNb&GO z`?a=CxqMdGW{S`+EW)8#qZ-2vc{NE12}w114dKR7vqIO}Mt(A#C!r3V{D}&)_#C_! z+0siyTMl$k3K-K+my<>qQ!>VV$WBW-1Xf`jLN3`|#S9AJ1MQ>*P6V_>r}V}Y(pn64 zFxc`S58=ogF3hi$7pW|mfxIgai}myL^48)ElMXv;ibd^+n)2Envr^){({>o=s}~K4 zMn=q&-W;%VYK*AfKB+XnpAZ2+#Dv0Lh>9GZbb{6`1*y{e8Pz2A#$~0k$J4TYqRrkL zGHbM4ZGL2R$v}}sic^9`np>v*R8lSth%FehX!!`1SwEv?>P|LkgR?h{HEJJ~x(Rfm z2$`x>q!gCrWUS+$yQOBL#-Wx$vq0vMBSc6%?L4xpEf70~Tok;*l4TIa1c@gkR#R&n z9$)LN9bbDOJsfBtH{3AyXi88sK*ToM?tOgQ(qy}P>dx7>X$P2Y7#bbYbAFl>DcL_~ zQ1Q;GZhNvAsm+fr;w%&z8vWst>TF3vASXpqmE@+decpKXqZ~8(L+1h9t@$tYtrT`n zwW@c_mQ0yB(!9a5LIs?vZq%IpDeSSSJB3QBzs$qPc3yZkz(aBh<@p8fP6l2ksafCv zF1w3kKq~bCX0$8{YD6_p{HJV42$3;H?lKxt#^(k2gujaMex(6jZe;FJa7RL9poDWA z_EKX4iCC8L3gg8lPGNe_*` z<>1kzwAy_51rIB#W??ExpCs6FESBnG2eKL_rF|V;5$g&xYN$vD*MQo-nrbJ zfrhodBI*77sy_MW&-cmI4h>}Yvw~uF^gUS~Op~$k(33C>J9xrM=I>%w=q1n#L05u0 z3tdZAjS#*ph8iSAxs$?A+lMhp24T4iV#LZL+6|jWM=>a@t6Y%A^<1%Nh=imk(&y1n zhAetuCA%j(I&9h=ZOx(~>gEa2UuT5dYY=Q@vFb~b`EYwP%G!Q;Tx48knHbgstFw3Q zM2zJki;-2vB8daTs8*}WirW8r*BR*$%nL(K-m++jcjW_-ty2fj^bT2cv6)Rhw2n8H zrhB}p`HtjtFH#qpax2O*&F1Dr|HN9aCtY*cm>>VLtiY1Tr0i!{1N>E@Sr~)%RLp3~ zaCCW4p^mQAH8x?=!T6M^mWEI5R>WxxQ4Df##!y5|8bwc&O^3)>JeX@*%R#wB%V+@e zg@x7pe$O&pWkx|*;QNK8vne^H4P~q?C7XK^s3g<0f@T?CTaaF*o9fxbhYQmyb-UKx zqpRd5Mf;Delf>fk{j=kWQVLxm{q>qv<4v2#4Bz0GIoz>f_~?z+32QXVMB{Y(bz-Eh z&}53<%05potSgAI8Kw87zX^Z*%2Qw3D@WSw$?~#YNy`%0Ck9h~ZHZr+#ig1|1+|6g z(R;b$>4g^~C2URlqN>?@V`7plIT}ut8av@8{ph7Lhe{*Z_@OiBjnr?OkQ6Vay7E8) z7dF7HmBzbD_8Bgbkw~V>h+JslYfw9y1h7Zu@jE8~WhTJL%^>nGlQtr6os+@OiJu+h z)YtJP{oQR@wWa+P0(cJ50pnxg*P%=k{eze=`UmIkbLpq{FDPByH$HLVhJ^8!S+&t( zg&6Le-M7d7KYN*%{zc3Ql1hra9vo0A6GFraENYtaK~~SQ%u1RI!ec{&8v;#SMQCv3 z;M|Y6-p5%1_%QKr|)K%amH%&p9K zN)-bL9FqwmpeV5>nn;ZRBcNFZBa}O!8wq~o3DPBpP*C^8RBLyVe|)HO3Q@W>ljj#8 zLg4Zk>`-(EWcw^eI^q&BkVS3Jf}QS>&h3rSX><1f#kzmakc|me5UY4+@8!?>LZ<$G zL&ZZtpK2d*`JEoEag)9_ADfTp!fiF$3o~-6Ujb!m2%j<4W8Sd}|v5{B`c?qbDbhmmV55Z$B7sZdqRboc-ha=Po8kRhYqB|jl|9oH8(qVAbnQ{Aq*L9=#A7uSwM*=*vn~LWMeTEOm%%u2A9-2qYZxR?yv1mkgeiC{!uT zixi|FlO$M?Vd%KRPy(ewmyv{wCW5V}Z^ZR?*Y+zttJP`kw>z{i9Yjb0@r^7!QZ;hQ z$a;02^p5ny%gdL)%q%RIS>)1(*RVwJHH|)-^r!wGNZYL@i7fzINXH}vE~9G*xk9Ae z%Aj;GpusN6-}`SI_OqtB%7(;ExMP+n23SUx7(p;Q;*gOQo@Tx#DZ;go za+P+-htcL_I;i6?I_wd@s~ z`aihbDO?UGHUdiT=be)D)gM8(nTEEp!?vJgqU;Ssr*SG&gq#ICdu69(6rx6#t+ky)B)VmcMhyxY7I0aYLmaktq}@71&yVt;?;_ zEjS=uIJo)iAqB%?MtX;Qv-zNO;lKi2RW6&qkKOrs3%iMnS8gBT=Zp{-)-v;&cU#|GBg8CRFz&!R%a^`&`$Tv?V>4a@ZYu~S>q>5W_D<=- z9gC)xUGKWiKXvgPOnc|Ew_*FV#f#8qX21dO0Ona8-Ua-HRbF^kV}Xz?nGBF~4m^S= zueSz_o{WeLuNWDy6}f=P>nI zG;TSvFh7qg{q+2E?BK=;<2P;`KOuTwd|q0XFRtF%PriyVDX9+r$4N=Xq)~J|XMLP6 zD=jbHkz}%Y1XHTVg}mS%n<+`23nH@LmyfNaU$bFFe0*|`G`%ac*YI0P zZZ2}UbgoL*sU-uk)VW-zN_URvmD%@2>2EK-h=f3^yF;GBa}QUV5dFy!E5>PKGt+Fg zI5F0d*CRJzD!sX|;{rz)ufKN@ z7gF$P+eB1jz0$MEU?UP<-L0|8pk`!qT z>2(;M<#y13nbhY*L>9qZfha}hJnT)zwpT@e^v&d+DvDm(jJ#i`dB^L; zOGk<6+F~xDBDF{Rtt{62rFdv9N;h|{F087tzdilsh2qzC3N zrWcvu&&lNqJKMqy3STSJXg%yYOTg9c?nd!Q`b3B`s}hiL4NZZh32+V8$T|@68&1g} zKpdiRM7u)ts?4P12oXFleiUHvg~;n2GdEaaN__$?0Ay51_zqV!2Bw80FOTlb%oU6b z|Aa5jlb%wH%TClS-?DuYFCEpa+O%ULchf9BAx<#%=>PFX3-|^#v-Io#>O(BnZp0wr z79URTt&b7wO!GNkykLxTI0m+CGIK^8XYO15<|7$~82`dMlFRflLb++=y7wStJuAKc z-nw<~u}mbH&3y0EYfLcQMo&6Dj&C^ETRVTvhH>iX^O^3ChiG#zsZAwC^5iN)`-A!9MLkEPzm-VeM%aSr$82an<~s1zJJP+cs((|#Pdj(ZSJL0uzQ&m8 zQd#TCldUJ!DsJ_b?=y7w?PmAi^^i0#I{TKriBhHSB3t(niwW(QPDvj}hi^7<3pcXr z6>6MuvX#aa;wYg@dQG+{cvZj#^#Bc~iqsS#8bk01B?_l;XQ*KitRnjXqUtdZW+bsH zSP0Rt&|mQEg39jVOibXnN?%I7=T+GH+&(iVW{ENTyJf+Rnz)9Nky>+1oai1~X5Mad zmJG=%nON_yEZ0GNa%FjXK5#?-lSlT=jnC2c${Rf`-n{EZ29hFhBkz7+`sR{~<1{v-mY*~=lLOk}9{Qazm-E&~utQ9w|IPmH#2Uc!fId|)AV#0#m>n61B%--2LVcqTp^HwqK z-tSr6$tQ_7Wh>h+G)oVztsYUvrhM^7Hl=)c%?;8CJU7WF7QD9~;OP;7t)vf81&t3v zCxlY4E%elQNbdq~MH8GOI2<7M?Y-uwi+iYIWre$6o-pFBzil4AjA@o0>G=Sg_0wRax3IBEY`G^i zrFPlzC)uOJr}Qa!VByxbHKQgB@At`;vt0k1Uwjc&ROTN|1oMws#s!ddkCyE@u(f*5rnO#sF%E+)G$yoFE1b1 zjsxxd*>-G#r&5>>!vd%B&9W7fp38-K@y~cJH(8JE$OLKPslUjdj=Lj4j;t5VVL@Jm zNpdu1raF>TQmZJ@W>Zmmn?MJFr%TN0zPFJonI~F?QYe;~tz@KmMzyA<#+DS%Ud_)NI^?|{-y1S4$INu4#d?2F#!sESchC8^c2@)w%ofOm ze#5L=`}LhQw{LjCrl!ZX)bHH!>X{vZSWb&Pxz1##m7kxK)c!8ZT$4Y4^>yzJ8Jd@$ ztc!{97kbHn5()>qbw7S3$a=xb^%i8ise#+nr0f5n2?Lx+qXKV;Y}uQuLlNtjy4hI8AR zW}e%<=e#ARxJ1kI>RV<`@6&fkzeZ_lulg;IPI_hMjvav%4r#)*qT9^fZ+0(`60=9x z^T!VvI(rd2uXR|A9?iJyvLby!oY5kbhbyShBtj4Q8Tw2-`u#G}u=#@s95sR1N&;vYotx_{&bV^kC}t)_83$8%5Ar9oK;oUc*Ck4Q;VG`qt(uy zr9ExZhq+_do}4l5?#VTA(WXAN^&^r@J!Z|X>8VyH+AX1>y^5;FEuWC3GXo({SYGt# zsLZ!5bBl&&ne_I&J6swa4`3nz{2#oIIZL5hV_**?*A{2T#I*PaIvg>s9-}kWg~M+d zH)6+x`m6*Ux30z;;9UM;q4=IF<_#+17|5CL+I0 z9ZLmSL-9=QR&KRX=ph%r`bzReuV^1LWKwD)@?z^Samp4L%n=OEOaBu4vzu>ESM3$d zLZxZZRzd{MA?)13##Uy)!8K1 zf6%oXibNpH|Ei8Ykpa#{?i2pYAZrxIeL0ezkkLpKM~0&RvvwFw5%|wPuf&+Y@PZO` z-ue6a=XLGg|Ey_lLty?jE++^4)8(a>|8MQ(fE<+x)DU3BB3})GCZVaQf#k*iT?2`3 zNrmh)Qj5|uA2Fq=+M52eX5o5DD!?v#mG;KfLI#!sX zJ6R|OLn0Szb$2e)Jr`j(O!ue}jM=`KJ!FChyRvFiwqvR26#<%|0#czvj{htUb?M2W z8&}k8esbVaRL8^y1UXf0l^pk3xr^P;a-pzol-}V~G)#7%vnALbV9n;}V!AnZi&+RO z`=J@Xe*ku#+fB!H}YoVy1x+-*;ID#L>Sm;pSU#6x|VN-u7A-7)j zTYCM@gv{1v`L1ClDpi%4(EdC_{ZUmuOnX|JGZS{oM{+8r5`K@jzB2(PR+T4R-XBhA z`$+cl_wdaMKo}0EW15>~KAx~0+c2jp-ne*TvL_=yV1{3mnI+D^me_;ZpBXyKe<`lEN@#Z7jA2Uvb`nRBL3asYmGR(8U!rH{PdF; z4P>XTrcZ}t)QrZ&iMvUh1mfQgy#WKCFhAN zwsac9X;{%?b1I|VDtR?ptXPXi`1*>UZTD-{oXTc5YSlo}v8%zXw}u^BC>ZUS+Z|do z=FhkAmsEOtE0}bip&){1#}pv9qZjfJMX#8_my=U$hYq+ivr6Y08f{rR5{W|r>sY0M z{6pB>UV)>WC=GL%f^pil`azoZw*}LYy}UHV;NXQ=(QopZJtnib`@SF8orvwclatTG zsh9s*K9baZ@SyFXGCja+V$3elXYzXr3wvdZjo$Jw%XsiXdTyDHcYE%9n!Bz>Fcmtq zjbuB4UIxq)(82+=43;?!@O}_TJ1azb>Oguh9g=yK2wfPwAQ|eF#I9MhZ=_k$p|@_? zFgiXq|Mu&1%6nJ7$)>*b78^S z^rG}%U*0?=x3S+y+x&sC_vha^a?&z)t}9eiGIP4txVk*NiVbh$TfdbiOGBCF2&-l4 z0aKi}W!|LKt=}$vHtOQ9el>Ethus*XrFX38QB{x^dGfs{XK=>bedxfzdsYdRAAcO( z^6|&45)*@p9phHAEa~^r8>RDfF3I_d?iq}QDh#h~<$Ty_+#%R$kf0pM*Kl&vgveD{ zHu(c-hA4=c!Ra1SCwc7vHzb7|#NfY-OG6N_#K9ZaxfMZ;$VuP1hr11?KJ@THvv2s4 zxbpJ2CBuD9O-H>2&QOEjwDg945v{brWMG=cQ6_{-3P|ptzby$2Sy~9Yp+j=$vSf6NLEaeJ|-sT zwuy}sZ*#2~-B?-G$URmuDK5Vl2AexzLpfMb5I4DE*z)Sz^_@b!U!a?fUW5L?RJ|{8>gO=O6_VzmiYF5k zc{%u!ptK8F)dsMAP=VW^ywmuC`9cAtr{2sma@UKD?fny5uy9t}K{osT-~Ilz`tj0t z(%m~>_&djc@w>vF7Vdhjw`%aPI+ttf#a9k+U#|Vr8~aB6?v>{*J-_hiFt4XqiL^D; zp9|Krrr-R?Moj6sapJ(W1Is*so)iafxUI9V$}tEE5`DZ%g>HtPNV6|>Mz}o%Fw-g= zb%{=eC@jbl6vRPcDr!gp|G+jc*AzVhv4Eve?1lhIqot)5?&Hdwq<$E6*I`boljkH^ zaDhSu@fs>$S7Om(AsMPjjT*Trid7+hS5`u=0KH2Z#7qI1mDI*iWnKBUIMyJDi=~0m zr6)Vh;ZOdJ9b3t1lin>?OBt}bE^cKHERa6yC;jd4ZIZNqKN3;^$E$(GE|X?_zw(c# z?p{<~z3A>!f8@uMF9@DwH%A|f(SIfVaG6YAcu%mH=O**gKc0$?V7kxN@3^PqBK!Aj zyyg6l^4Z_Z7n0l23m&Eg^&}jZ4y=NZk7Za9s$m7%GZXhj4~*wWw?6T-aF=6G^jkJw zGPFOyrU7tw!)@)KEaS&U)Jozzy`_lxjF)UA=!FwK-Bfzg4T!ELu?B;@B-c;`B&R8gg?ra0$Xk=QZW zYRUHtW4#vc588BXvnc3ok&3zgv?_0!rHOcDx;R|@9r3~R0U23=^7@n!^Wd2@Z$wIc zc_1reKzcCVQQjACrEj?<&0Ce`pIZ?Dpa3ox2*eAS{s%qabX2~Pt{&d6q8!>~g0;Rkpx8Sq!AfX!ku z-VPkwNaF~-A^}-Y0tnD_AV`ocg_KH4^1NWEL#`oU4Ny%LEE#U-DmzZIWTeaLt29g3 zCQ?bs9D;g&T|i^eWW^c`$q9P*>bI}o@_BIH5La&4-7uS8hu|8#@Q&ARZu|2CKb+ZD z#j1Y&-)x+F*&VHu-C3~+Y_#?5YcrHq+a@#B7I&80?lIct&9fOjo+=xAvd1K6UO{XE zuP;yP+wc0fR`0$pVURnV>uT8d&c20%Za(vu2k!X7_4F6gum2SH+;xxK>N8raJ+l}$ z%TtwR^xRx0#lD(iv{iZTdFj`8d#bHALp=D6G~~AVNT!nuz+%d?B8}Ay88!$t&PU#> zDjwL}vioi_sfbE}_Ccn3+5s~G_7MJ8YBtLk~y^SYus6-talYa^tn`gn1d6OZVIIf)gjyCzzMrJToh6+?H2YuR61SY|Ucr z3@b6&3u;QzQVV)ym{JPjlQ=eGm?tkcy*Mw$s0oc-a^u87w{DzVUOH^f?2`QYoJ76e zmL41(wAdM|8sv{n4;J=Fj4Ka@Lw$nv02rqJtMF7xe7gz`x{7;lhh>5EL>SdwmIm}@ zC1{;Qgk~GEzSG!YSh6dBMXn0{W=*6d>aH;AD6>n_L?s)p5})3U&r^JHV2eVueOI)+ z%3H-O`Op$Ei;MD~K(r!_6!C9Fey;e<6#M;ZLGqR;ZPnwM((<+rKw`)QY&$>)?!_oQ-OE~}K5{y267b;UnoFO+qY7yceu z*q7=N}P3iDE#22h$|7BcJgLYe51o*Al%ZL#Qe{2&RX&tS+x=`~v6NY*z@W%)?fcc><= zMcLm~qU-2LRRy#9g_hV$DucCM8*I@kEo63di*tRL-@&UCH~1{wo`YA)uP zedtaU&uPUtP{DJ=>P9vM-pZ37A;b8WqcH*aAtP||^?Ud2+q;pSm(HnSxfh-q_Y+_o4?H1+To0Hg)WIla3p} z%ZCq;k~_f-n;o{+h$r3Su!&eb*RdH5AgcIFebrI%8H{v2l&x;$14FJD$Sfgy7MzWU zJOzsxuo>`>RgOdNTUMD^l?*+G4SAx&}s$JNa1ork7vI&+NCoA`g=ms{=^s!ODcYr&Wxiws%`fYXZkgv=!QmG;uZ-IdX*WJ!|{ci%qQY!rt{#ri^_MnL0*_KE3)} zg?)g%;@s+|rRbQcKd?jWD|YAyuDK=p&iFKrO=@TwGMTX(TAH6bHe=nPPi8kV);Rl< zL+fT7dybOMW9FfL0=&#F-HIY-*4*tO3ai_d711Mktds zA46zF-%qAliQKm7qlUR1o;+~5B%3O2fe0&d8D0anlcelK?o5C{aeQP}+4l1(X=C&m z8CBC81GzdOcgV7(dm8RQYLP&~z&E8~0~QbOQIX$}fnju-1-`jySdwTm8dc?YCa{+S%Hziw&#XJw}12sE8f;` z(aHP2JpRX(BSyH9urZN~MG6m8q(d)?dJx(M;Zn>*?edvM@WPBM+nG%q=qtGV5^}K& zl|U_uA}r2u#e`c9c>InLDO@FsfOF{X&z63*tRhY`(bxopFVFAvy7;O)(LLv_J|}%~)eWV>Ye-VW!_hGt5WRo#)FrX6(+t*}vutVB-dVHu&Tjv3&e-j{U)bBWd)fA$ zXStvH6huGBE@OPJT=tN5@w)f#ym9)LUFXK%v?QM8j{a4WSlgKRu3KZ1zH}D!D*oER z9+*X!X??MB`?B4wd!OICy>b4ov#1rxjGg>GdGC(Jxacx=D~vP)XaKz26hpXd{sx?Y zjC(=;B_t7&gRks>!g-M>D~a<~A#9W8w=T(mU(}Jt_y{2{B~|96dlTLACTDy}a$+EN zbZJ>eVu{WYqn)Q0G^_u({tw?v?cY5(W5$EuF+pClT~{;3LvS(Wvh4HXAr(nZ8-Omo zw5=|+M_Q`I7?+lu-6P&nZBP%>c=XNx#d_g#-7hOWb(N@r_Q<%zi(~NKb@1aDtZG6V z(L5zWnvLLx8cF=u3oAbds)J@N{Ihev991`^An z=g^OI<|4PD0DCwxetcvc+tIU^N!kT}5ndCsn*FL*oW)QaNQ~pTUyCDCp`mbSH1=d` zjFA63_t*w6yI%u^jYgWEGcGnZO&wE^T9pZlEw_f>lg#U49O@;~8$5hlVuaVm)r7~5 z3)e(bi&Nnd`=mj`@mk|{>97=P&i1H1amJqUR&ESCa?dBRX+Qwxc!ML>%&{DHLrP}! zA4nC&jQ1{XDGN>T_K9~HympI@O_Cle(u$lIlchg_^l5-V)R8h@gHiKGok~amrHuji zTm)>i>Bygn8IDKLff66Y{$Foj0v=V7wOv)Wx1>9rrL&Wb?17NAyOThGB!mdEMOkE% z(CNNOnsmC`Uf4v9ii(Pgh>ngRsJM(eE{rpSj?VC@qqvMZjtlOn%nXj}I4-Er{O`H< zb_k5~{onWe&+`XP*LKdSbE{6Bs#~`foBCN1Lw_0z;<_gKpop~tDN2am))0iwNyZX7 zTGNizGmQmO;r}2eiyyg{ON-@|PWv+7u_w6AdcbOnz1x(S7W*c{mL#eZ()es^x-{v> zXJTJj)6=covY+3`lk+BzZ!B-g#mOn$n%i7HzG_N-s(1wPQ%=O^#N)A3L&0xW@#FDa z6!3&Q&sr7R5aQ1rvk>Dpwtq=(?*B4gX}6ex(|?8CSIhB+auK=(OzzM^x^i^DG;xDd0&#;FPX53<1{r@^ zp^7dzr}Pds*eseP0wKmdnAkI9Vl<8@OaLh{xO72@zza9{C{cI~ zHwteqMiwRAf86ULaVX0txSmaiMesZY2rQg1d}O=BkL64tITXHK@5(o$;|Hchh_2j7Z)_156} zie;sorS7+INO?S|Rcx#9vZip?uVLwGI`v+(LSVmDp=<;5O z9mcC5X7uRCG>rEeb*x*6`8Mh$rlK#VyS94J9|v$I;05e5b`5U(qXCt=4+N_dn5dp`L1do8qiceuWy~s&nk5kc#nrk#YjF2r5oY zbxscH)yQM2qlJDFQ={W6Ro=?4SfMyE)lq-7xRU}$t;$)^iWot@<=+E8s&SI)XrZ4% zR9UFwUuHOpet_zjPK%$7?~7jC2fP_W0j)Ninv2`cId)DdHKg{Im?A_QM2#uSIJKt7 zXeSU&ai}*g#OngPuPBb1t(J^Q4`r1g4gWFkNGIfC`6jI!r1hck2=%@HZ_3;Me9o5Q zjrEsGKzy8KFD)s|FHimeO{zS1)eTvVrNxyMrRsGHz=_}Ma7@AHU2w1yXd|2#dFhM% z3S~TJ8*A*`j$?3B?HRx2WeFKMW=nO-@;_x7Q&Q|1pWLZTI{aLndYEvWE#>SoHNYmh z7uQymluzlX!ujKvm08u|T3A<6V|O*FH>{9M+NBY1DW9`~^s@(*@w_s-O~=B+o?(<*X2*&Z6f0~UhWE6j z7IQU<{i6>uuzFOYv@sQ?a6DcIutp38tlXe!!*&@bZs`H3GR>_l+5{1hF`I?&$GGZO ztqvsPZgLQ!t`xsIX--uJqe`Y&O=wi6;4$@s-CcSz$~x1eoYX00j#;IN#dT#OEt!y?qvGgHrA?!;(*B#QxHXTLP+p=< z;JoZvj^?qZ!ir+YMVc#=Se{mrn_8I4J@ZRvr6we#&MKYn5n{|*V+n7|s!v+O%{TK@ zPmXcQ+}ugi7oqK3|MRw>h( zJFBn=tfZ=Tv3n9)&#}$K7F>%h1_OSRKF&GqChxMBF#B|3J~$m`zzk4nK*8xhDI>7w)#j_mx}6##*fB>P>S*=7;Sc z8&a=*tY_;j22niU-dmepTa<&wY0S*;JhOPQZ`IcB%q5u?Lu(pO5XnbR+QNrXD%Qj4 z-@;k-IT)wnTNy19F&a<~v;`~^+CWBt=4COgq7(=LtibkFiKSl4Wle5+cAWx_Mz(4w7`niw$aa7{!*?LL7eNkqiZN2WL z?EJ#ytckJjF0YkI~GiNVVEy@>@6S;^^-mRNJfWIXzozVvf0 z@oaNZ;pt?z}Qljyn4@&lW zp8C+kv5%+CSP}E*r7v2aSDClxd>oCGV0>7#Jh;4|A|X8`-I8g_l70+5on%XFOZlrU z_SxaW*@aiX-}ZD;dIBQWNOog(mOkc;&5-cUYm{c@RgOP4O_x}0_#@xpa7fjb*dvL3 z%L3SPl@VldZx<)xp$Csk*pVLtUOKhwqZUd$QRVy!2A$52a2GXhx# zBg%lfnId{~!mS7u>6m=O?owO^VVB;zH!}mTMMVO<$ZhiJ)eDc&yqPwrMBYNl6R&?b>3HmsS!*vSv#q!`$2qBNL2h+H%EF1>Z9|jiVCTfBdHh^fh1uRt zT2+S|4WSb8!717{uBE^;W4pFfLNs0`GbeGJE=c-@>l=Wqd`!nfl9H)Iu~X)Nb-8&} z)tNs(eDn6OV}dTLwf*NWy~OP=?GcHE4QI7vWF)>_uIrw-oL|^jHGg_{_UV`8>#pjw zPi&lv6_PVYcMklExzlqJ8rq__-yRMB!ZyA-*|zeqN=7>XFM~S2URn5i?k1z zruHaWz2^%(1jSMBfu=^z6zWLeV0vuybeQgV=CrO|_I=JTK3l_cpFI$Vy+3S(Z~Y#W`iE)4pV~b4p=u zS@!(YoOF}%ZJ^A(q|`EX_EdX*az}caHDOHK0sSz)^4y8*YPT52l;#yx+bZ&s^UmBf z)?zl~ca1eSmnG@-B~_JU##C07==I5E6U}40@(pH7(G_O^u_AqZ;h3^qM}0oO-%}o~e3J13fTTS`u1!pHU1}K4baXYQ3)|6nXeQqg~pnOjGY>|?qDuLNbN>EEm zkfRI*b@CQm>isj)`IA*&sxujR#pCki~C9!y`25SoJ z4m+wjjiCwXvzn&pFsM#o(}Nw3%uFeeN|W1j+jbX9)ziC1!ui8oAYAq%EC0!_;y-$<=X#rd#{SKc zw0ZwqKYTTLVPN(d^<%}8x!dgyr(L{z?6>@@AAix5rn4^GoIkDjS1<$WS@6pDLL=t< z#^U7N7Fa_+Tg$evzaw3n@xf~n)_vgf2$@HE5BQ0|=mg9{(4t$ih)w7&(z0L|RZtup zMVeMYFJv&HDh3%%r+RiB4Z852g5F2zYLpbkBBMR(Y45!bE8FRnmOdLR4wWi-&}CN; zI$rwd)lTWe(JkR!MH#J=4Ahki4EM;=D*|Oo3yPbIi<>X1YOSowFQ~e&vbCzJAiwJV zD!8q2hg%lJ4m@z~Yg^9D7`SL{!Q|$Gq9%a9sGvEoJ}G$7)iY8HdYm5?%-^#$;7*El zwe_}5^-LAfSwHKYv!$tSS)XG`DHgx#W-a7d(^@CSK3}GrG+txS1SYl3OMR=)cG}OG zUR1GU*1o#zvFb)bb7)|d&CqPmP49d%6o`G&(Y7O(hsL+5^wa7( zySc4!rLksTsCl5}^6lp@u;arHHX+oMrw2Cb+FJBReQL6e8?tf0#uZ-{)OU}5htI*< z5n3f+ufWv_^k%NiDrRXTFsNJ^)(_xH0o*i@(KvdLAzg2X-SDR6yl(gA&F-^X2YlD> zI(Tr`9nbS6LqmT2@w8Kh5Ms^P!i}?+T=VoblVlIAuXtq*;raRMQ%467N7+k8-_k1( zz*Z;d7>t||CnM6QPUUl%L0SEbaRStilq}Q0>hIq@GxpKK-7oH%I(zsx!?UOU{wBBE z`lNl%V)GU0x#if)`beGCKB+EtzkYE}uyfh)@UqTePG@zps7e!b84UU)rsJ3E?DNxm zl3TxFW@VJl{<3sg4K-PEj~~Yk4p{PzKNI?LqEP4zm?ff#U8EmR;99(rNI&9cX_(%c z;9CgveJT+5p8`y=Fl?BisTRe>kb&`GB^#CTKKQYm5~sK;E~Sm;!@pL-XOonMQEB8S z&{Le|A4P`~Hkm(;L$s7eF5x2{dk@txXd4tfEgX-JyF{lOR_NOZkDfyZm;6fJY=jTR zC1S~ek`|YVaPVq0lK&_fPkPRgc;HjsL=$%v*(n~N$b&R3ZoTq68t&+HY>DHL<>!E< z@n`uTxNQo~Fmr&HL&-zsokaO4c@4AmaXyqzapY={qT$5D$}=EssRFF_Ifnj4o@sSAd*VOEXu?1|%0-6(P*P00&#AWdlg zkvtWAq8|;zEQ9bsuaD=i)pd&Ih7r#-9NlPIiUTB*tHcj0vW-EQ@*l|uONtboCLJIU z!>kQJ&!L3l@gsbI1Airj;~)*IGALz@c%o6#hE?A2GScwdMwiJ*8uE?PfX|4G;57k| zq#I^)2p}5{2|f`fUIa*^I#!uK%5WKNRBq(CLwNuMk^qv zAbNT>&0R_51n335o&fk z`AY<&dHj^0L0f<)s@x=-ZtIw(7je$(`j0!z)+u%2A zX(KXI7woFPvO;?gKD4R3@$!c&l* zJ(_931;DiuXmuKwYebH?OmUawAU{F8EXWTTm3^n9 z<)rv{I8HN~Ua8yR5q{W;eS#;+4xWPI;1Zv>y%p3(!Ox(j3HX(EL3l)`J$IZ=3CHs% zm+0aU$2A>c3+Q<${8Qybys7?)KK|UqBaR!Vi}O9zrF4S09ONe)dZ|;s(LDlF|@Qc0+weHB5e0--i`_l;Uk%%Vz{1-;K(k8)~1Z@lf)^nOx** zvM9D8o(JN~$p7E`RU_^H7qlX;UFZQy0e3@nHv$f#Nbm)fN?x}XB{Ku1gn(%ao@hG& zBiBU4n`Z-#pgRFw(k4{x3m5_*oPuyF_@(ZHsQ`@)FEh5Icv;@fSVj@xVW`4l#tcK(3mV0Jyco0HoE~0pL~tFk=ni-MEo4`vL&M zjyAw9zyWlJ@H;mEK+`k;*pDs^ay5fb^Q$n4kh=x$M94hJ0yxN6>lVf)1EwrzY%1iM zinOW7yAAYh;M3j>0Pl{qj7`f1An$39LG8e6I`F3>tqbAPfOpza#%6-=%=;KSeKBLR zUSJrW06;T$HUM(Y{hG0PFEiE+nYtn084CdW&}^y!n;DxAy!m?>TY&V1;JG*j0KQ8r z8C$j-a5rPi!TaoVz{8BK=)|y+0U*Ol(D%+@%nce(DPyt)5CnXQrhkaBe(>x^o?ai| zAY-dMXkOKTuNm|0Lie|lG5>7F0!R-cpL2j4W`OOCMeKkV7>f=tcJ4;THh}*I@Hh|g z=K=5h`xv_bat|Z!!dAe8j9m;q8=C<~7`p_tmzn@u7`qJlZi2j*A7boE&~N^fv8#Z8 zHPWsD&6Z98(ym?0*w#7#;=A7<>{ zYR2vZuV1DB5We36Kwb~D0$ye8K_6oe=>XdSUoy6*6L2HoQ^tO^fw70P0oxe+btwRR ze*<2>Il|a)4=}bj9RRvVfd6P70Q7PA-3yF8b~j^>dl>tDC1Za8zkP=pd!i2TAY)HL zzNe7aQwJIQqaE-LV^8m8Z2w}$o;3kB1HNYLx&4ei5B|>|VeC&9zfcuwH0ODWO0lFD`4e75v%-HK|8G8eCZ){}jz)HXijJ=7tH<9;S zKETV2yvLPQ8VBuV~1{J?61K8 z+X2S@4!pxU0OCLXlCggPJ^_6CDPx}PZ`T5le#8#g z&e->m_lFsb{Ro_+;CXZ#06dPh0=57SF&0By4DRtS@y5CtqxBciQ@o53!QG4}v;qz@ zo)`om-TV&YmJN(2=>P{9PxfF+#RNcH8t`rDfPI*b_A#CToDB3jnRWnhv$ivyy^`^q z1&rq|W_(N?<9QDUbS;%9t1pu5S?=Ze}CF9Fl0l;65=REsC##bP1CGvGaPS+O3 zd-0s^YQ{aojLXQo5BUAS8`#9S7yMSuW_$=~0mO&EGYbBzL9=Ev<7+oEz7BZnJ&d0V zcSAN{7vtx51CW0Hr;J~)lJVgI#xDf!MU{XX8Nc{3#y9R}{1W&tL)s?rzr339D+snR ze$@;B(ys=eYb=a!Nnw2JX2!3B3svIVjxc^b%JPQojNiDH@tdAv{AS>7*8yH-9CnD` zk`6e;_|AQd-)ds~wmQadk1)RbKF06Z!1$fW!0v78X$Uv6ale&i4P#9^QK0|@{6Va9*sVI1~`@AUzWGX4m7!rt&lw=@1b;Qubj z_+y=nKTd$S-y`2Yv@yO9&$I6_#{cUm<4?T9_>(s>{?u&7|5yY##P~Bh#`goB9cKJF zq&@#N<9`Az>cWvbvebZe=287ZbVg=e@v0z7KHde+8T| zafisEnO^(}fI55HMnUB-mA!)3RIZ~TuX-8@`8mr(NR7u~WjGa6^-DPO`6A7)W94kO z=GU`Q_MGN7fcA6EZ)CS|o#r>OY<{QaPhjc%_nP0##__leR@TaoYVrG7rfAmu&$2o( zSMxu|OyYda|2#_+m#Y3ZC6+6;;2g;S3$k@MQ{0QSr2~+>2rD66Y&F)26|vLc^WzKQ zI`|uK)=WLVW!1pn&V2Y+G>R&$gk%hOWW*A+2bf*p?g!6ytP!WQ0M_fsShpi1uP8XU zfZK(YCUdd&Vm7ckaGJwB_`BG2e4Ffs|4b$HQ(THp;j;)_L&(Fcr;3YLGl1%A}AM1`KhuZ8aFWFx%Pn~G>V48R06~$ggiXJA5xxs z5OFTVQoI+ph(+OxbMb?ULT+G(wQ>w0hDv^PN&Zw#Q5{B5rxUS?rxs75=I=U*u13k} ze~wv;5>ln{E2UJ6wf{0?j&m=9X4F7G7NDe}kdjX1Af2g))~LS|k=g>8>TxF930)cl z7a6irnW@j-HBw&l**W0lMGDmj+OpOH|AQm$KmyJ&XIMMQu4Y%VE7(=|dU-9DzTt3i ztU5Dt6V4J(nX*)==`pQh8eji>Vro{3NM**Ie?myf|Ny?kukE96Cd zEHB2s$WmU$%XtM(p0DELu!y>v(^9}%UWcu;4ZM-tagUx8+lrg95qTok2e$Ib*fozE z?sz*+2Ajq^acp@PKaJ1eGx_O!7OvZw!{_pOyqllF&*bxQtocH|h@Zt5<1DkKd>LQP z&*m#|MD|MV;=SC>JzVB}yq^znFJHw6ac#{IzVHWlke>sK^94)7+T1XYV5{U-dnvz+Z{n9@NyU|XGrx*o&9C8Ga7*h}ejVS& zuje=LpJB7mP5kHlW}Iuc11Cr9ThZ;h*x)_~-l!{w4n>|BC;Mf6c$)-}3MH5&k{@f&a*l@?$*4j|(Qa5JD0< zp%+-sE=(dpBnmUmvrEF>^kk7DQbn4uiFA=6GDQ|E7TF?4QsQDXPRcFj5UA!R0ibsa2XRVS}I4Cbdf)(ln`4nl5!o zr%5xUnbPUfENQkhN17|mle(odq%)=Y(gF$B`buX>i=`#fQfZmATsm7?A@xWrC70AI zxh0PzOMOzmG$47URnnm3lZGU}6p(__IZ{XpOA#q5t(MkEYo&G4dg)wggLIyBzI1^! zEL|vFBwZ|RlrE7jl`fMuNta7kNLNamrK_Z?rE8=u(zVi7={mN}81;MW>e}nbZK$h@ zyY*VQL30~5*RHt^&2?&Sljb&SZj0u&t8PP=>N-@{(KSuq?{kI2`k`pp>o$aCSI9kJ zlKrb?Umz&!2M~_v!Vy;}k$!sQph7NIN(YVSHBJr z*7XJggC_bJa)k!%9Y3-}{Q_jwH7h|A}7nvZ%iX0P7^Je5xKE4bD^ms_S% z>sjsf$N^)}>yAW2vLPt@-CkefkSo|jvdSTY%R>xN!jMz;cq97ofGZ^H-2*a8h$<{8 z9Fc=Py)O6Q8du1Z)aODG#zUsKM@NOO54xZPP>ev(*cS*9x<-DY zKRghKBxz)-RwRH>^(FSY{Bf@<6bh_SO46))6)8-rKN?I_J&HysMMQc8al+p9a!+5> z=d)=3@Q};rOOe;QeXb$bh*-LQZ(l^`lU;piBO%!&uY;nYHWJ9=_65SS1?A=U`ui2x z^(arjY;wDNvftwh8A2|*=j94SYV59%ISBg>H_JbExl zEZu0ZmOf~q98xngYXK4=SrdG<9Ey06W2zP&2!y=rp}sC(0yMtI4ZVn1B5S-6=%rfl zq-3P_O30#Wd=D}Y1*AcFoer%zY|=yyCq)LLL%rdiXpjmnSqqW46i!eK$$-n(XI89> zYEz6lH?G~1}uz!P%$B1zX6#C2iBSUy~v?g)dST! zP&RrWY>;2Cw0ERKOl76b?%R z9*?OP+JM6I>w0CM&+MjR?L)yv#okQDzCfA+Ox$c7^3c(pgJ*#!$BxuX$OWpG_$&=pkl#~ajzU906ps-2!*DC!_IE)arpiKtHme6ScH z@1PtR0K@))geYuO2yA7@(Cd@+P+qSaWR`VAI5*g2AD@h z=uwCAx~`gc+k^zWoF)k@+Cdb8?P2u-S=EULnvP>mirJcw?? z;By7ZQ4}R&84C2$b1ALSqUpP$Z;9tb0})j;v+7mr8Bgo?<6%@>J$irNxWU1IB*z?m?Hw1T&}Tg^9)z zL}pbyifMsfdrT-}^jT98LhPy_;+FL}h?X$Ap{xzQ4gu3t}O=atN?~EnQDzT_c7J82XV= z2J~c*7f%}>IS^0Hl@tG!u*V%CWjIM+8Ms$D*XsS`%Crk+hz zkQ15$)g|mENsfl3{@$Pz4SOW7KP0URu9HI1UTHA2M(T~YX_zc0jI`Ml#SZnZgNVTa zS1(#*Ph&$%+DL2!=Cn5&k;9q)9z~Cp6pvPHaOz1RN(Z|}JN-B;>(HA1kTYJ5cUKn;* zW3?J!34I}RL~)d;WM2Roofu3djS5GDqf<$*Qbwh!O?(Z8xq&rdBbsR_;PvRyFrsTA zrni^+mhj-ZAUd@`G!#B3icSH;0jNsA&{Ex}l;pH}0vHb{uOC|BH#J*U zV~$cr*AY>D z9sN*hJrUItQ9ZJ;*CQKyJyFyXMLki}YqCvKUQxU1rx9HP(KQfV1JN}QT?5fI5M2Y& zHBe5Clv5*7;DiGF5JjUVUZ=*eQ+em@s_#@Vh_q455@!M9?HDP_+b&#UZYLgg%GFM} z+9_ANl0c+(jdVI??4XPt#MVJX4kB_8k%NdFMC2eM2Z`z=3MWxuZ$5sA!l{YcrKAy& zvk6twr=$^46D2eeQ48yRNT6sYWOTd`bdQkWx6H6!-y!gOtKSO5vzO9*#QX z;UJB0kVZI2BOG-t`qeUQDZHc-4&vn?m2i+sI7lTNq!JEN2?wc!qnpikTN*Pd^xaP13yI3NED4k(MS|_qOcQ% zohYd49aQxWs(S1TpdX^J6NQ~997I9&?x1>iP`x{--W^o$4ytzt)w_f0-9h#4pn7*u zy*sGh9aQhw!$Utr;Uo%FI(~@4*@Dsr1%8MEl@1?KP^CMl(jBOD{163Ix`Qg+L6z>H zN_SADJE+nfROt??bO%+sgDTxYmF}QQcTlA}sL~x&=?KF4V06Us@_Re@6_x;L$lhP8Yn*}DS(p{z)2>-NxI~u`gcfcHA@1**7QvEv{)MnYB&UbY+w5x5t zp;Xnce?6!XeHC3 z<=dg<+o9##q2=45<=dg<+o9##q2=45<=dg<+o9##q2=45<=ZhGYYFW4;BcA$1K@1# ALjV8( literal 0 HcmV?d00001 diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/gitbook/fonts/fontawesome/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e7483cf61b490c08ed644d6ef802c69472eb247 GIT binary patch literal 90412 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%0Ded40&XED0GYFoIh+AV*?9!MR5pBW?X_8Bp zK%Pi2&3!RUu9|qRP>4Z35>46R3-HSVQAZLeK|VoiF$JlT%hYN$P{~XnOQBRrwNe$3 zDkDcHp>LA~P6d z5;fR}J~SHToEBnMNz2J6@w`HcLpUx~OvPyi9!FGCnG$S!Nu$wVjzF!}7&Oz=YOP5N zluDpAY5uI%+w?#pQ9`*)A?4JNnR$45&%afA$Ec1MfKwMKS$_D?H&7v0tL4cbzLBen zPQeDPlx3w_N%C3nIgoP-8K(mC6YFKN^$A)18?Vabue>3{1M~AAzEmi_{6Wd~e6Lb{ z-=lJU_M=wD{rH(ghD>k)+VUf((EkY5=@l&~=XksKuU9Qu4%g8d8OKWX$(xqn1@$U=vss>j z&UTv)_xlSZeOiTS27(|;QR&_oo@&VMd<8K5?=eOImlmT%QOJXL!Tyye(QT*$-F9*% z*#9f>W1tI6J=q&SNmHXo9uajhj*RR%G9Uu721J-Fd`gHhd>XKq%TqSWLrubCXE~Li zuEulHFZb%qoX$;LAPb7tM0^VbNg3I|m2gIJznp`D-#uc@4v1}tk?g+`dxJ6<5{&Qh zYvTi^EYtu<%y^QE33`A2h(BQ9Xi_#nE+b+69x^D4*yE019|CeB*x}d$R>_s<4@xkN z7@H+2h}_|_(i@#xH3X9Cf-9@uzwhR88kGgGaz-|3lv)OhVs&1NN~Lfafmx}S5nFg= z4B3lDg@=NT8WnyX0iHq$)?Kw5n%Ks$z1Rs?T9!2ys2OI9u)o%eqa1Y9p{vuBphS62 z&rrmo?HmP%+nijX33FEf_=9ds89K))0VB5sXXVN?5RU4+dVSlip`gZ?FM%}cTs!Cx zvRkeUj-}URwR1i?$S?v}mI=2=a!%Ba$>Q1tqZbt`EDit$_A~Jt4gYQ5hBp#GV%++X zFxgngVF8klmS}*7(B-s8AnZK2wdru=S6g{b{h@;ij)n{kSUPd=P(6CPeH!Ktaa;m# zSaJho0mEQsaa#LtXfZl5FF6l~QzId8ol)GaA`+8FVKkKAMxAXpQ!(P2pA`k07Dn>kT@+i0w=sV?xguZi1YNXzCXwX)?u?)Ig7tC16huq z*9bgy-7nOlPa9@2N*Z@6MxvP8h(4%$_QY>!g3sp8y`AHwjD+E2%nvfM#?A^hc^?3VDn)u zIO^gzZq!B%Mpid{x{fvKpS2stjL}E^kS{9YA#eCCGgF?_lsrvbK;A9v72mB%4z?Tw z`wki!jYa&nnf)`KLMHSH!WXuqPH%bqVHw1`!J26?rc3x_j#j8N@ET}RRi)0qsYUP={P;@WeTT2$$5#TmJpMzcE=^BL@D*utX*mw`JdXpI z*9lzM%f5r#i)iIyvPc3&hdgr3?U-zYW{UayJf-77K-7>1Zu7D4%$QRB$2;;{+Z@$% zrZ4RnV+VHI*wt%V?p?9tjyI1!`dleztu3q8yGlcm_@C~mgfG5iz8ZadyDhgs7g=)s zM}Pwh-*^}8MPI$taqpKyK=4@i52v~hZUBrjkUnepnD%MopZ;q~j?annnuL;LE=rF% zQY*m(;DOG^#sV_n>)mL^Je!X7Vah~jNI3%|yoks;{|$~ukD|w)f1VEG(0Az3CZNTO z*VosA=Hy+>>(8Udfhu_y9nR=^-I!zSc|9Y84&wk$0E^H2 z?2#`PPEa0NKDlWa2t0NeSndSpUb|=AwprRLWo=WesVR~(yt;bm@Ws`u@4jd4^;6X@ zzr3cgsI{RayQR8jXxpNyHAi4i-XGQ+`V`3jdDp_Hqk-(Dca+|8{C4!koe~TBdd-e$ zhN0@}+GwOMtFEoBF6;W0t9MM%dUKTVnsCV=F>U+Bwg)2aCb6iA2|hJ1G8pitb7q1{ z24eoASU{qs((y4P!0FSYf^S&Xj3;8wWPq>yQtcmhqb>KHXgkt&;`}!!9F7z1um-FX z6JANVdZnkIXm3B^kWiP=5>~g9O1LVia39)|d`?IJ{*T1U(i8WImlO7D(j}+azY-J( z(68L2CyM+O!6!(sBwPN0h>6ilPH+1s>PB6t`=8rRfYy`mqxVyOX=kGM-#-ajPr$^( zBy-z8LHyxAgQZ`)&g7!5Pd15eXg7TVI&#mrzDC=LJ~)r(wSVI_oQ8XRR38f!;?c+m ziX?*hIv_^wWK%OnOgEx}CJ-SUNv04`3pVkhse2xSxt_48&?zbLbIDHwc3C~V^^u=nYmeN)$BmCfd>Jj;r1?ffM!fB4#%vVHlBB781miYh7UFw z%ZFN+^sK^6wMxy&gSjn*b=d_D9?&14g%^&Yqn~eud)@(S@JNw{XRh40`|#jUKk5 z%v7;J)JtjcQPjJ{6=I}{P>Xa0YJedOBO1nBqykUReG}a_w=^xM`lk1E)ycn)Fxg9{ zPAzfrZ5~!yIv3scW^uLdy_>3Y)_kf~|I1Z-tfal5XhKmzd&#j{*T2;2Pu(@g%ElJt z%+DzpTXw7lWmOlG;(kxbT+qR2r<)9supLy&u17v26I zirx3Wk-QJhJnAkgcg$MQIo(lQ?Do5H#=Tji6%gMVuc740t{V8X@ZjY%^SJ>wv06<1 z4Wi~y060L$ze|Z`qt8I3#NiN~I-6n!$uFTObfyzQ4kZo)P*UmpEz&oOm9O|lh=Q^xg=CRdPP}| zKXY-gt}**`N3*@Ku&G_{8@vs|Z8SLN#M8aZBb!5C$CP^kt;JlN-c{_6qn8VY6o%>x z;q-wbu`@MQaj<*T$o8=BinO#PqeHVbw5~28Jc2` zfz5ela{*cvlC3tjeFT@c87!{+NQQv8PvG@&PS{9Xed!D-t#5H1gd^^{?f$)GwszOLU?6w!=+T37 z(e6QO7FIt|TQy|zbJumWO$ASUz%U;$aN^)umF=N4Dda2?qrXG)56OL+67{Gt70Iug zOG;Z?%1TYsXV0J~RJ8593cUV`Ql6c;;W4w+A8=)wjn3Q=CFo6S$-IWU%9+ej3mlB) z-r?6C%kOzEcO0BDDZ@QJdF!}Gejf;ycZ@9qlNl&^t}*J#T=yJAW6Pr1NuWbrUj8~ycl!HU7!#a-av`_Xr|#cPdbmh~FLB~uI;c;rg9N2Hr6e08up-22TjC-b>tq}QV~V;W7?d84U~8I1 zw5F6x7(vMv_cqZn4B1Z?U}A`G*%0n40gA&B_G}AOD z;FTG5Muiq&QmbsJVMI&{88-g!$kO3)jZ__%WL0V&r`htNpXaW#ITJdZpZOE);WFVRc_+GlJ64RR}1dMPurj>^Z z__6)O`#@1QynHgiL5B1PVQ>bxn3o`m5M()`y`dAk4%%~b z?ZNODg<=Z4zbHUb0!8RYSKwZB=1#N6Z7Zm>x5<)2&<8JorWYRuC8yw`ZOdbS*i%Oe z+zA}_-VPl1G4i%hI2Z_{$&Q>{yCXLTe06EU5#|YjiHtPBjiZ}J=T7k!#q#+y*kN7Eij!h>FY|J+Q_N>4@^ z{dfN>I%X8^{`=?EnE?acZ9J!DvwL3L1~>HlRDYbn;n;(Bw z6W2Qv2~fep$7L^eNGqD|OQx z5F~np#IyFs8H?7O+=u!!`8s-a*ZTEW?1ZmSL#;rEYxBTGmSmeyk4RYyB>2qxz|Knq zhb)CN2Npt4{z5ibiSKm+-)k$TCsW#I!Yqkr5F(}%zzB`B!R(|{+}*$u0o-l`br|%z zZNei=;NghIxsfNLJvW()_@Y1_ynG4ax{_TvkL2b&oMW+NGvtu7}cmm61ttBi7nksHzW9VWR1q`7Q49G7KrI$62g zysCuGrSt5ejDSTVXBVr&xHYn^ZPUhlEZw|Q=y zy1phpcI@g!AOt?NdfD2cX>lO2DkA3-RcF8jPtOqdVgJg_f{8!W%sia;7iMyL8VCmm_W_K?mxBf_tnKu3J}6*Xh#| zDw%$|Kao!KhhhBm>7FjKQ#t@d&JS=LQi((l{xKKjAZlPNRZNs`r+mv3Z3^N!1h*l< z*~2qAUPpbTbEe~TJUg+N6Jn!G_ts~gK|ekN(Y^`mad7MU31BuPaBn1t_CW|{PkF8*ZHTtMYDOSTF3r@UftO|bZy`ueV6thgGu(+j+mm03uxm`>!hW&*ZA4^>^ zc4Wmj5PnlJa_kjXJiH!$Q#k?$#*V1`2Cjb?TrrSTNLC~4g-v9Ckq|NArE_2`D)wDr{tTp4R|K)Ti0e`$!lD`AAVYz5{^1qfAJ7M!0rY>Q;LFpx*oACrV)wkhWzg1Nrj6$I@<^e(UrfTqcw!K2jwqb^p_ZkFNrVQC;v-fA{Yeiostv=Sl_(F6Eq_t z@as(wL<%7@=!11*`$DkWZ}Zy_o{-OS7Wgj$Z!1ReOn#4r>v@O39D#HK_S+j`x|29R zDJ&I`qUV^CaoF9HK&eFmFA|g)#7_4+Ef?ur;h7!87m0x*+CoeK;04OBuL5R31d<#% zOP*-(p+$ST?nGtB(4NP^+;#bPcI^Q-_~+vE&dyE zVIHpf8MwiR-@$r8Dfy@1bI(YX3f_nYq90twPo;c<>p zu+A=FY#weATV<~E4-OBlXn1M$`H}N#md|b;%>b#J1I(C~*~_cvj5xpAniZh6^rTwm z)7nYKKo;#7v2x{zktn0>8n=?!rToX7XwAD7AAm-B&h1Tq{?4E`G zadfdKJwLn{)B`95=)onS{B-Y)p7 zByg`1+=%J;7_q%K#()mEIU<7P>BLUx+PO1%el)0m2NTTA=;?RfK}!}e&8QhXN`6Tx zqV4DZ`OZ7cksbwV#^)=6TkOB%E&%ojo5WmTHlDGXsTpLJf~2Vh0!rk71>nwrL<1PX zp3#rvcp)NUEUZMpsJhnV_jOD5L%GRys|CUaGYKbDrAi1Pxb&WDZ}!9?3f!(0i(Mscce~#;8=w z8y>6Y6*9U1OiU9P3p1>t#>eYmQ<^?QmW_@_|6))Z<-piv3>mX^AW&oHOmO&2gKjJw z?XhQ1)W|*he6k=i|KL}>rS0mwd=J!hkyM9rYleoz4!A^NF%}RXL;IAi8 zcsc>zF>=w5(67P;PnC%$aMdhI#r;LVS#aTb zZ8)aMQlr*rh-F|#C1pVqBg%dP0GNP#<;ft9gay(YuPZ`2kEs_NPT_&|r!$7&t}EKE zm<<~@Y}zo4*6)=!fAPr|&GNm}1%>kJf9)G}--hX>P`5|E1*`%Iuxg8Z4^k)|LmN;r z+VGe{q1!8e1~SkFnP=pCRW};ab8^xR>q7W%k6tBj8auX0uF~%TTIrl=IhB<;d-O{A zmR-BH$dx!zBRg>L-~kya`1EV9JxvM{4LHGOM%cp~D3Pk7hEXG^Y1BMwEgqbg_=2PU z%QL}*6w&NL(Sd0LG48Yj^sfifw;(Z$=th87g%c7_^ss@k%O=vp8fQ1+|ERZquNfYT zk3!O`jYa1K={bv!k-1`R@*lh^oY1QSW0y@#CP2RgA6^i%x&=sTk=HU7*;nBm_@ykgx{=-5vsuM_>a411Pd7Sq22ZH^Kx$6fHzoP6kf^Gk~?bG#e z1W=%NOlkDL*xWQYI%7k@yv6jIk*iRh+s32A8k^f`EI!@&VX+UI19K+tt*?^MfG&G% z-o{Vcf)IcXY4S(8+r<7Z&2Qr~50N=MkXmQulpfFELBdg)Dc%ifKW6+S9HgT$J+CJz zGN7f2XB)q$f1n4)(hWe~foe8_U+i)cnkE6;5zRm9Qv5X6Ay4xMeqkgFa7tncvb z!*JiA*0uWq*j3;!4~(uinHv^uIsmUL%qh&Pk7_`7qT2N1gPylp%`J(>qMwECB*jOV z;oBjTr^{ojKp?7WnSdI`)vruL5N=Gahnuwa6_aKTF?)^9bhqM$46thY+&XK9(c}hJ z>8;V^(GF7sed4@uF;?iC+P=2o@HezkUaF94q2^PYsNK|^)G_MM)EVkKkOqkV0a3aU z^@StRJjRp3_Qs2Z4O1b9_QW_(fb;NSvyXIOPppsnF&7b;5^gflbr~lJON3c9kP#>% zEU=*aM&wiGFy|rr@R;Eg7(=qh5jGn*4*_`*l0=pe!IMaVKwa7_8^UkI5-c9~@vZB00k$C}OlA9~k`Rw4!{q3;=JMlk=xF?3bE& zyG$1xlVRb~OzARR_DJV^2bTtAEH9NxjeItg(x%vp+#=d$bvk5D`{Y=bC-YjB3^SI+ zn1Bq^YV&I{hshPRTa9+P!;~8tTx@%hQ89VI5HLH!`FMTDH=H*3< z#(bbSJ3^b&T)vpkWm>!Q{7sMFxFIK$vt$WAY`F39o6heP(pKe$^5)LX3+1jNX<*Am z9d&%V$yrV_tPB(14LBUi47##{51?~@{Nu|n1IeAm67LM9$(C*lWCNOIfI-gWD40T8 zCzW!1<`5u(`BI*fNezJ^Opz|%No!#~m#@q*te;~}Gnv#;>EzhptbjQHi)N}f4RRZG zz7lmT+nJ#%lU5Yfk6Wy_v}B~N&q;)<(-uDr%~sEztiW`14m!u13xbj6v{wim@WN&H z?3p!d&ppc)is-)!7u|f#&7~GoS5Vhb zw+LPU31X_?)Y>2fSYjxy>ve$6rsS-opT&A5vAy1H0z#(}wGLsG)ToC2n$+D80SQGpy z?6$pUcd3eIENPgC9`lFCfu?^2a}095T5GiD_+mj%rdB0Unhf@wV7wx;$yXgJsP#7) zX6%}gd=hGcV|Q)5uD}m}Pi{I_3PztkjgH8Q+lw1Y&|}wWoAZm%V_Tv3yt25txtRGL z9|_s2@B4NTQ?6>vuQ@Q?>c?DL3pJiPN&THV3s@inUQh+5QWPH!fLOp|BriaS>_)Oi2{EpZ7Zft^&uzq?oBTMzP6yY;Jl#n3C64HvId9;vdCOans9+M!Pi5-|A!sUsm%SK`9jygfi zDCy0U2z&OaJSU)az0HB=YMh$kS2F@OL`-O%$jWiKu)3lC&K)~I#k6OGBS&NccUIf* zZ1fp9f>+1o^q6WUl}y@Vy~1#Rixrmjkmoo;gZpEw=t6u*r#zW!Ff$wE&%Yyyhyms+)Q&hHIm zl~}bhAn~bZcuK7*C14dkCrLCg5?F)2ef8Dy@~zjDK|srOX}mx9XZ$s(Ec z1?EmXcwCO47E)WOgVckV8u??&V^eBB1$Su=Cpfvs6!E}x0hEKIB?Oa$=zIy1B$kf~ z$pb8$@fnw(gyI??II9-~=w>k^27dFE3}OvFQY4h;45G7p%s`3{X!-?>@M+kW<_Y;6 zK3a#FIvrH#O*RXd9QLMpN$RCe?R7(D3@UY$ z>lxJ`9-NS}O$u&q4yzl+N&~r|O@*V>1+c!U@}NPuNSl)RNL>p==hONuYucdbuSRE$b_Mh3O7o*u5&t3Favnkd^U( z_n7eQ%;3X|mSVCO(YF?Bs1P*-uf*dq{kn|0mbz73hw*|MAuze<V1%k4U%d@urUmSD>7{n!LOk`r(4m zq>e>ZvAHwKv?YVH4QBRdcriDzdXUc}JMA1j_0zIytIDLdxjWPSf%?*Fi`uMpS@nxE zeVM?s=qlq9>8$@5>2)eraG@8i*V5_EVw4F&F7y!i>j!H}ii-1-Ypr_~#ns^VN)XZWeksY4GA@CTi&tQ^l84~QOuf7-~zRJ+#PxOMU$G1+rxxIkt?tRhS@Q1?{iz-0v$X|WYhf^;HK8HV#U0yYH zei$WCTzv73&j9Tdw4b@Bz^^p)0_d8s~6AGj*4`VbioIDM>3phD?LC(>O^y&`L!GR!@1Ce@7a}dOX&6;`; zQR};)Anr&CRsTbn{`YbjgtFZ@+|xK>_3{z)Q^IZT_7xTR?$!^$`pprv0g1ex!17Qc z>StsTA4j_NbUlywm!S?$z6M2EXb>@QO*w;!drl+!?~Vk~xwQjJ}_E$7?It zP$0usGqKF8xkzT1jaTAz)OFN;5y3emU`&z?Oc)lzFf2sGbTQ0hRv{n)t8xOy)#W3E zjUlR7?!JE_J0q$aF_C`3+b<&=b(YF)^*fx|^_l5u-qyU_RUC8oe z2$5WmP$W06)thEA1xb-#)(~=WmCn{U@faZfi??>3r-l?qhVhOJ2k&o(|1pvvVh@Mi zVmF!WR+}TuYUQZ z)PGase~gG@U6ALng#LCLiFX9duH&DS`kBJh0HDq$KsSuz;JE}t^&}wfbII;LpCR4C z`lrP!Ace_(!5b2u&BDB!_{YHCozc@2%$SQlKJb<}&%E^v&90h%C`rAA=Nous@`L%S zdS{;`bpU-l7v4crcw)Qg*<8KPMwSXP!pJZS2qTLasF9^YcwUYQXjdn%!UN<})X@!x zk^p#fwN_^YkE!+IJDf&MMx9Wqw~$ySpilWB;wWYe)j=pog6GSK`m~Y&@jToI=pouq z;57@1s=~xMh=@Wh5x`D~6wu>@X3ifF2uM~bmphBRJ}~Ii?y@<}jiC}}p(4F(?5eho z2WS5Iz$3$p?ISg5U^BXK;}2Jl+4+Y#V{Vu=rnD@p)Yh?W_)>pW+nBKp#R~eNMa`oM zfYRh-HrgEKhQfL}F7c#g+Ew!L-|Twc7oFU?q2)@)@Hu0HiyrOh`f74jWM76C?7Izs zU2|U9JHcN$b^4V{cST>G(wbGC?lR|=&8gSw79L_~bC$xM%T6ma0%OfZYrq&mrcLzn z0!6*sRvr^3p#vgThe1Gu#S5NEQ0in!8<~yboFD6h^c4m;7rqRB`@YXS-k^+uh2E$R z82E_+xqDE!bsf}BnVuF5*};giDfQ-(z@V1Ih#61JrJ0EjE_iyPK~bKyWZcqyhh}#! z%aeLcnci4&W7fQVvoFH;Kl4D1T;+2>l>&P6H5%{Ws65TEw3X9#j7^hj9GNz@wEl+t z-7{AXDeQb|I+*{&;)Qn0g4Q7qE}wJHyp_hurQ=KL0`_a+#}^v|&?y0a7l=S2@A%=<(I0-uP5q6Je$1hEQ#=PIH|Ezy#(5eQ@Q9=JJ^nGwM1iC(_o zCymex>39lBC%(I40kV9OeuGm8uO_%|4dc-tNQDR(SvUmGp_hUl%kkQF2#P*6%olGF{Lu|z4B8=lx?OBVLj%axn>VLg!MZaztjIuhas6T zI2;C;Fo63>;Ut9*3F|D`Bft(u1N$SgIcA_3ARmQFkT9pEnNh--mj@RH9gd(QIX-z; zA~I}PBq1K*_|8S(rREjoW->A#SKo@HY};DIgQJ~$gJ4S6@~Hou47xcf&mZ`!jYcMFb#!h3!IyQdxZ zhTuQy!{Pey=+PrX9&hOSdmch>KhhhX_0Tt9izhT{)ZOTf_csIiJ0Y(S1BLHzMnAq2 zA~pw#3l#H1>f73J|6eX(ZPR8wkvR$W#CiDD2+ok1z|To&!ErOOniD+Q6U}MCk+ZId zSZa914GJd{3kldlB2+gXCq|s?4@f*Imt>f@Go=yrE^*mJGEyUF9#SNi&3RvzDDb@Q+*f z;qO$8{J3OSD6 zIu(tRvtaUjo}M4Php)4#EzRkzQ{z!|AhT-cp(FPKm|f7QFN`QyXGW2OXBf!yUWd(O z$-8=xYpGMIgz}S+Q%8pGAD-ckD`)GJ86S*`%~)q^a8|C-fRl4tXC$A|Nwgal?wm1X z>d^V9UQ;<~Vtfzkd2V4=2~hR>!6WORjfx8R=@bYLT+BSF)sHN6zWs9t3&!X;I5TQo2k{^g|lp5FA= zn92}Ij|2*1V1X-FqH(~{$pgvjN3m9&B-iQ8mFUfq9B>uj;nXp#MaSkjyMLyj_O{3W z_40|&AMA?PuU=j-q}F@wr3sBsyzz2{RH=tmRg6X@E&sz?Z~mb|s#de^^lC<}mX*Im zzj}^LTfOTF+kx99jVcqh0aL)?{sEp2g^@0J;#Gs*#lF|$VYD|wpB8*Bc6Fk!g#c#M z-@NL~R*=|w<|1s*wzEqJ&^I8hQ0D8-uJZ!mHH+Ett!Kc{o*Qs2y_y!8cdDzC z?iB4Km;v??m4b!~b*bhkD`Gfvy+F=5tvBm(F<+!lkwwT$;gDZK(YWlES1b+(KG>0| zIUWWv^;dVCf3xH2t2>y2 zj;rAlOUPBo0iBCf7Zp`U&Y4V~khD+w&MR(-R98pPOr!B=Ry91(U;FBTKK&qGnu(U3 z+Ya31pX?VlcQ>MUZ~PR*&~Y>b9S1S60nReiD$pH)F$fxVeZQVn>eojcV>6By6?l5ZCSD`$)|kCl5B%z zVa#D{z?jS2<~Fyv2_YbE5+LDDfIw&nxgZDmHur%^n}i%tl7^JrPMV}io22=sX$rPA z{AOk)TQ)T9x8Ls{Kd^RZXJ=<;W@p~KdGp@qZN=-qeau1T9!v`#U>;^3VV+=~XI^5? zGQVXmh&aG3wU%UKyPpmT`H6ImrN*eNh!9{XAyI}HZF2<3PlRSLP>fl8#1(S_d>MWoD2)dw0 z;&Sp9lMK2%I$rPri=hDGj>Eb=GU#UwP6H4s0rk|T0G5E1u^P{_$;Pv+BPm&nT685k zv{+}gWN>GV$?OGVa*FXaknuK`VX^AL4sAdSZr78$zq8nd=MBl79^P_C%Rk-R%-j9(O{^wvxNs^&~^@wl|5nf z=8?0jqk-%DO)M}=FY{7V3j&?3 z$MHX|qHsgj?;v|}{ZJmRH>GpvZkf!8Pmf8ZmJGeoXmlh=m0&oRZj{Nu3_jh6(||_6 zflLjUCzmEUO!%K8NuorDfWxd(qZhdJ&huazI;v$;IhmYCcR?1s1}3~Lg`oA^Ic>)% z312;Y4v?esVYDk11kgjA2B$wQ;lZjZ(C_|_Upy^k{Qv^3>NHR((CbG)`L~})(Ul>u zLuK1%x#$&i7Wgzf(H9@*fo&ZSH-!ne7+3{3RD_-dKYxn8>bwj7y(rZi?w8LtZaf2K zwO4I=>7`AXzXlHxoNr|G_7~~SMm+9rVdT{FHIc_~3`-ao%)juM{lyn}u?h5yOT6HT zmPvpKN(3`|Kl%;ISZO>Dnl3hg8IuN~o1?ERniOh*0d#yR)Pd<)YV;8bubj>P?(Cym z4=(^i-ZItqht567is5Tb& z8)Z2UY8T$M>9H7%kTTpqsE#b5=myaX4&5Qi1%?1-w*x*qk=(HHc$O@9F+(FdZxg8Z zBul^|%sjkt?YXm`@7wqJ*>jOK{NXkLzd3a18vxONufK3)&B<5V4jgEE<>Z<$74E}!KU7tLDY{{Cpm%n}D)EnHY4r$qhefuVqaaY#Oo!fDLSwA*9Z0F8loosHN zbN>7cb~|_H;i}G&zT#Q)c#)qzf#>K6T{a05|L1b(>#n;&NE1*=D2=fJ{v(@llF>#F z=nI>1CJEyM`sl`Ce%rVAcVyoG?bbBQS*?$4p|T;#K`TW)ZWLS&1q2I%YF-E3=c? z&Fsh2`UGJ0*FyAJOu`L* zt~jSffnsbhU?y959;ZO=Pe}`wI)nAYgV|Z8j2aE*$}?p)wbiUl3;G=rrhONB z6g2c>k9JN&AMjbPzmDEpx^!Q{-yInR4t0h%gZxwuZ$^gKQ83w?;U&LG1sPuM?aW^P z(5c}|d&Vpsp4lT${O5dngIHQ{OJ=r=2L@A-uQEq&&P(?e2tZ*pB}vSda-d-qtOUv} z`Ed;XrFi`9q?iafz1FffGGL3jStSg|lzZBa9&KaM(YAZ;X#;JQ`ByIIS61eO$MVAP z$8a8aEWZ+LBlnJyge{AYa;5Dr1iJlagL^z?C=73+^eA8Oo41@8KWp>)DYn@^GENn=RqU(@lDD@_yQX^DSsqH~|ijHRufEBb6q15{P451>FC1g|5G_s+%6 z2I_@?V(;UR5GQpZ5M<-B6&pvE;~a5dOQaXn$1M#+zY=w=MV0F}?a3YA0)bCr?;=S$ z8LQjuf~VgS#V6Wije-*ZciQS^d*(s{(L@DowiPi+E_St$mL%5}5l7K^#=+ z)6Fiy-HrWD>MiQ6j}&{GCa!KyJ%m|+xi|>^(>n8vyTq^;zjiNXHVuFw@X<_k?|)ot z!ye!wH_(TB3^?a&jDh5r@jtJ-=xajcp?ASIU{ZA8t#6@r)W$|}%!{2b!-wBO-@`>u03p|&%uFV}a5 zwNMQrdIuMAuuOC|JlNUEa?~e9=bzv~8UT@5h|w45IvJypV{`?2$PimcTuI?OJQvk4 zcQVKD1Wm;Af``I2|MDRy8j$|egDWwSjwRdXIv;VvX(Di$#E${1>rVZzUI|Pt-cP0( z!GJ$JhM`yI1j)>aU@$a>Ok1S;?!tK?M*o!+9#^cv(U zg;JrC8@!n+i(aQt@k&-fQ-OQ;+|+sCraiJW?+E|+_ssC+cXR_X?RmEOedpWq?3n{} z@4PIeyw^}UE=LPmBVl4n6pp}R4oVFW8l;fZ%UD6+98#;)C@48D*_n}?oZ(F7IHh33 zkq%A}SXt-sn{K=9rivxEE}UxpC>&NAvr5ZyLc4NYp^z(QS16~fG;750&m8NH-4WYA zh+#QMNZH%zD~)R`avcX!!M+n~kaBNEXd-D@Y^JtmyMth$BlIbjYq z=n!3qQ?Yv%2wW#?mqwM<8=jy2tM9bR;ll?tEp(+^V+M4I!|UpjZhn%QO+|)nnVy#h znWdvYvAKE9ofLH#2QD$B%p^DeYw5;acf4`s-KCFP(5p_PUbnX(Z_^7e@DU(=p{MK} z{51Q_wmL!a#j!=N4VqW~#fB75Ttc3bzYvqUl;SjVB;RJSrOsJmz^}EsPgSN^-;Z|e zUX*T6$16G_fPbO4*gfV0h>!4Xn8zJXW? zz?UQ$W>bb_PpKYyW}`b6Nu7p##roe$oOv1iGBj>BY74DjRG*nyzi54^4M9dCW4Y*q zdOaKu^(iKh9Gz*jT8-e#7AH8h`|!s)BjmGD1ANqIO);Uu!@EDal3Nqb%naA$ULiaj zyvA@5z7z8^J|Y!j1f4J5tGfhtUD&ibFM!lLE2qySdq()jMbP{2w{-)nh`|GYTd!1X z|7`QaAm`CeM(lB94~T937(I*oQbJNuoru#u3iOA!e6>eo*n|G87k72YQ;GYb#AdFi z&qV4i7-o1O-3YdT7+8!?EE}WcTdi*T0<>Z6gu|EqeChB6d|LkI-C!;1phC;p@uH!t zJpS59R9lju^>@FyTue^;X6 z-s9CE0BirEex!>87(xVGWPHaf#WBRLJpMJ--l%^2|F%J?1@<>reALKX+oIM-w9zodnPwGa#UC<+R!SkAW zNZsR;L9h$eH(>AC2>icp1pJZLmdun{<%Mz}o3n`C!9>VTZf>4CCU#?d*-^0P=zrKs zq#L|`)W1j$qS*gouzHf@e)LgC|LkM9UUahQv)LUZ5i~IUOj*VPXkJ*b)g+uK(MC1d4%}UgSmx zJm)W*JbB?f@O19QtV`?C*@q6zUP@K&GCV%*?-0pTq34gb^f}9xoddr%qRw9%j$ZX^9OeP(m3MO9;4(W(#gLCP;R@ zFkNJbB_Hj?HX!NI)9NbC>FCF&-$BRwFTc3AUMjoo^Q|jB97p?4V!A#VPwkYs4`a zPE0jqifk#4L&uEn=~}f1UF{Sw7bM1@vp5E~p(M7yF$A~aM5g%{ z+7S1de~U0tmmFeK(!NJoy`Wo5dS6$c)8Z}{>D7dG^p7V$eQx>o>&EQitG8H^f$F)o z=k`4MdTdlO5n@u0tFwIOp+hs5Kg*VhosVAj9H+SLevLX)GS&>!Tt8TK&w`A5p9h+> zj5Sl~X#7*G8-hio`;|QaS|2Fu?CN?b{6JX`9il!IWj%4u6uOipg`Tr#uv=sDpU$I~ zcF1I2OoVm}>p7neJ0-@Sy7bHQ>U%rnR-90_b9m4Bb=WB}{?w&^GS9+m9Gz#&sLw+) zV=_XHZtv;?L4Ws07DV79u^RDuc6SRHs}GF44?K^e_a5H-*>(k?EOZm}*hH}qZ{W4y z8)AJXiZ`xy*M?n_gr5EQ0rclR2F;$Ywj2ifN44T-J26pw=5>SNbupufC+LliNY8l) zujqsbw>DlEiWn}II)PkD7^2T7a$9DL&mZ3mb;JRi;@?JCU@)K$WGS+Ix%^r5L5#-# zlQIJLvvPSpPTUdht`b~;D~vu6Z#*kfK|BvV3Ua#IM~r+{d`std*UhW++YtGX$U}C4 zr7>hhfLY!yHh{2;v?TZiv5y}W5?Yrsh|#;LPWTKmQ^k5o^vz!H!~{0N5&LNZbRJ_y znXc|kw7nQ~wTqA3+TC062_(#!(BB=8PfP+4C%=w9f^Up*7BjJT z@r1tBk)1HIF5t}6F=vL`qm~fkDEv}=uv_dd>Vk7rXiCAq#ob#kTf6DhtFw;+?ZfVd z6{lubZ%LD9Ds1MQVwYN`$sI4)o9ip88^?!(lPil-R3AQm4*iszmTWUajc<6anLRoG z%#(Xp{AIZA4#A1B^Yn(*F191h)`8~sB&cSnC9hk3LZI& zqOavO6z0lO$FrJ-c?;rl>D9RHw&3+dh#-3~B7z6iJ*VsJpy;#9OtlgLtq{fI!4YgC z7OW67>*G*e1QX6cm5|uCtPk-}r(IZ3wt3pFy1{@Ql$0t-5)2xtw0HoYQC&JkDc7{D z`{uzJGamc~;nS+&KOV(o9a!F2wdxJ@&B5P1jHYaxzv>NG+$iJaj$DsFl)tBC-dO2` z{$^HXGHw%0HF7~(6ZRJhXm~6Wd|LPBiEoBB^Rq}M=mPrYja8Gkfc;PW{vgho`ap?c zbcwh+1}Y==;8wsZmY~D$(BWT~sZv5%--X9PeYembQT1iWPhu~vFDrF~Z?v_f?)&1~Zt~AuK4VJ%EL{cu zr)#P!iR(rS|Dg5rF=GL6L8q^VvPoFuo*cVPQbXJjDY;W^(sH_@2*jIMR(bOX!%HYP+yLlS6Qr95T|^ zJr2K*rK&FmJgc>~qVI#C2F*l=@&B2iCWyXoZ3PVI4_1Tzh?##`!k}<#q_wk^B`44t z#nr;oRk!bHCN|eN34P`Wea1Wu{Zy5r>*-9NKJI-J*PA1Jf5)#cX|?8#HnUcH>DL{Y zFZ+QyJi<9+TL1j!&d7#m_%}3JS(-QaXEv~r&Cj>DQvXKaB7s5b>61x(cdjUnxbgd8 z!uy$jS(eX5znHVY?oh$Yq*&3!i}+s6ZI}+NpuS2{DK?CbP7pDd z*F;ESw#XpyvF>q^xmpIqNH{tR1%*{(Jw4gySIeIM*tp?RP zr&3#gQn4NL~Q_T!zI)Mb}K?-nTI^P!z0wcg= zFdwW0Pk^)FGWZ%qp%Q;Sf+*&ucw%OrNV|!*Vvk!Aq+tqzA`#ON1%!YZ_%ehT2#qJU zomt|>OD!P;Z2*`t?`#%x0}i;LK?L|orm{IO||?1f@Bj!bnSK*T?ulAt&C z9A5PqZLEa=5xE75Mdal?nFNj~=nJvLy2~PpRDob3+Nik1B#|!!Z1fIA3UwNVfcQ=m zLAS#Nv;=^W97)Z{B1!Z#h?hwj9{Zow}xi}7wA|2%$)Q*`y=l29+uIK4!`1>h`!%pe{UeiMBy1=jPZrA~=Q z%?cTk3>*;S$a>$*1_%J3TMaDY*P(j5>{-i0)7!y zj(ADLS@8i8KGi6e5_}?c>y!NuG^F4aDQ0t-YHUXSkgbJT1?@{zW5l2r zz7DdTDH#EGNh;qmyuPKSZTjEVq%68+#R&ML)F6Nfkw9UiIXWWxTg%v@G0y|Y8>EtC zb&4QUq^8+amQ<%zZ&V2WMukkK83r@lsl3XoW}!S=uF+VkL1=NR-6Yixv6Qnc`i{;7yud*S*m6sa9?u)8i~0^qQtK2sGQer`RD7yC z0}fZqq{>FWTmVMB)tPEhJFF=RxinQ}L4TJu*tnEbqkWh&S=HaB;@MK4W{6FlqcEAZ zwyQ7M8e|SbYD!jGwJO=^()fa$>^XHGLuS6$n#{g0)v>Hfmz4*SP}|q{-~aXffw^;l zAWvJLF5`Igqm<>~yO5Je6aYs+xW5@&&|TW>GL4>P<@|t`S=T0Dx&IU}9d@v+u1aGq z^`-NiAcqo}pp_b+CBZ;Jo>Holm8XFbtghOVeN!Xv+z{}MQCYa( zyfW>?REY(q%anO?1AweyG&I7Q=+U}*skC4C;zak+p#397x%ti4RC1GwKWq z76M&arA+EosnRlWn?yIMwS!hDl>T`Ee?5eKKdLNUTv4)ZDkp=OvKuT4m11Q7jPoYb z-Xf=&WlgDlBcLEq<#vFfb-42+8TA~`Nne`WXGdV3U#VC*P^&J&Wv{3FLVp?HU!+`l zAL{SAhlT>M;WqUZ+c->-BtnSy;!~zq;D2h`Hg)Q@=+dd%nwqvn$Cu69dh2h_0}m*> zy#4ogPR(a?2F+hH^x2tdQzkVHbSsA+LZ=@@AAR)VhNacjj)GkB&{X>9RKBS1xLRM9 zMa|1C_JY#EBWBL;cVxV8*_2r$>ihcAwJg-yN_<25j0%p3>l?)UR;5$q%vxqP@pi)W z^yEWO4|~8E8;UU-f_Zj4$NMS#vBn~*vw{H3rz18b&zr6u&a&(v$k$1Ie!?k{Axo!!O6)e$}JN;~JFQaVq zy(mhXv~lAkF|_Bxh0fa{MGmA;wsD&>nTWe?p*$T~hxv5QUQOYroRq1zT2--Gh+K^b zcpau!U!jWd0=18?^-r$4(poina+MISn(VLT7{bR!TR}t==68yA@5fNYUwe!sV`<`J zwM?%vrF4}kCX47*1XD7&uBe!$=NU+Cgc3{9tBANb3~a6S_bNiPsb?91{r{poEMC_B z|5P4`xzYc#^1!b0Sn#N2{wF1o{&FeUf9w53j>K~}i`dJ6`qD7OT}o1qAMTiIbPKnD zy2se?y4;v_I=N7B2AwllmCCFvr7}eizO#9& zEkGOQBWa-=v7I;- z8zD|aqqqlO!|937T=6N60dYUF?L^>@BSfDFBot+64~jt2i^u~p+#FmnT&MId`H(N> z<6&&iTJ@}(&Ka*ENUWvPhM~Q0lLJ|fiEN$2kEr}$8?hwG9RmvX2_nL5`tXLu9K9AzqSxNYt_G3mdGpOZd7Z_onD{S_edFo6Ak4X~& zhOoQ*1QWZ2t`&(pC^xlc4pQ?qzv!8o`0La;t~YlQ?n$>uzc(?=dj}>QdU_Id4KnZ%Qyrxf!Mhk#rafu+E_S`h7;A>H8Ae3a)H!W+b z&ysMr2L|x0w7)l4#R3Ft*gy~LA-=1f2;PB}@iHOO1Js!R$i$V@1sLiX%u8Kc+Brat zxv7<^p2M{b!Rsui#?Rff2~OKIcP^N41pRo=%J+{*;!>S!gBO)ji5L?%~t zP*Ts~=>U(N_`PGt;*m`xSuC0x+MReZ2pu~XzY~eY#r&a43GF6&tbV3~8OyRYE}-@T9sj3sNqu zoz8BsDXUVAOmqhOi)q@LX(sR&x^-AtRZvh>!0noJ``%4^Z=W=9$&6-BU#I7qXDk`m z!Q3d83lr}I(J&jqS+@VZ8=8n$;Fr=+*`PsXG@vaY*>_H@Sytt6R4uDf?0EaB=LCmC zcp+#=$y5>cj%G-wSS~{?k8Mt)UP=m!{AXi-cijSZUv}o>JvUJ!y{`YHA6{=|Ozu~W^*QKYgJN?%UJ!QhA?0x>Tva`6i zJMlR9cZxom9W%Nt@bv7jWIvF3r!R9fI;oAIuw$xNxzx>*8ozoS(Wc!p7?_e%c>yJz->|fXHiTTb7RkSv9lTrtbt(Hkbx<@AEX_ zZ(PI>FfP(8PSFk|8N>k?0c{!FEdH2U;qTFXUN@dahcMHKpI@G=uS79R&>^aeccD!4F;yjj zm#~EY6d{brW(@5z0#EUINmK~1t~ew$Z;IiL1j*JUOYe$y{zA;ZLj~|rvq&Q7;klyI z$15$N8Xk4bJ#b*|;=Caf4$SrD!)15?ADBM|Ju>l*!^drzRbHzRG!#{WFbSbgQuVo7 zZDp}h51MS5Uq@FYnfYvC{(4|;bVlQL(`XBPZO{;P(BZ9;AClJ>Ut@4!lS*nexy;33 z*)esH)m@R+`m?Ik=fbsfYv;aNnLDeKF^pCW$b)zLYu7r8&}DCEp!ed%fqBvq{+z+O zon3v8t_L$IHXiOtpv%c!1#opSE94`1#4ym6;I2hkE`l#hfDKKK7;=)&K{YC3s{%5t zNx!x51erM|{90GBFcbD&(Nd2h^)2Z0=qL3p53L0Ez^d2u=#P&FBktJ~!ju+u{_UP~=m_zO za{7*zdi%=9*k(x4MO+ zDsRdwRDdPo;St`hAG3_oEL=TATQ{-cLU)C1_qzLJ6>v&)$mnXs7ndEFlU$ThXb#G67FJDEZyq;tgK_pq z5ti|)nTDJANOhrF9o+>!cNbO{DD*0H8U4il@hfXhN&j55*_v$!yKT!- z!6!2&Csb<7gQCxqxZvy-Gx^pKCs5!5}LD5p|ELl1;{v)Cfz066y!ALV+y#ac1nEDm$a>qB9Tm|h+H?Ob`_!{Zl^zCE)WBFL$ zdosA5_!(l}n8=UF@9xa5Dj6aYzzb$4KQXDazEqqhh6M10F(fc=zga$gNI}WsK`CjI zH>6I~HdjT9MPj&r&Y(UA{%i+!^2g&j0Wm1@Mxd^Q62cS{Xla`Ees*V*BEkL`%BSca-=T0Yd&OOi`vqKYq3H#zM>gjbVvw?af zNvxt@$Hr8c(t(JzN&tP$LWV>`!3b#wv}CB+7=ooZeU!NIRBJF1{rF&f3K6?Ch_yIN z(O*2`+B!fNR~kT;U%a$$!A{F))Aq*bjJXH?syi^Zeq*W*6RQ-{faT9Qg6biIg2nZi zK2<$tcA2bF)h2nB7e^nHg**C5uguD=d=*os+VDAbRhGY&OU)ag7;V_88=T`GAc z_6{g1BQsy-HuRRiwhIqN_%+8c$&`mQ-B@#{*vuQu0*&=32)BD(?)pE7oAn&YHDdajOtV3fB25>U^gioADxY8jKml#6x<9?^|Mz!IyAhjsRZyb+bj1T*ZlQNko_l8{Xk zPT$ut>gIc^2A7(!zjv^x?SJ#BQ2BphTs<`9WH7&2TO|6a1|nx@wt5}b6fS*^&I=(P%t(->21 zE<@e4rXj8YTCGB(mHJg0R-5N<$lv$dmsurFD$ked{zcNgue|KJzA>ZsUB7_@3Yzu$ z1{DWYET>d!l){Xmb<ZoNu_50RVuFN2F(skH~5BR9EGp7 z39Y=H>Xa}t&LVhZASh!!L5mCs_&;nTgf7|yk3HBl7}-JFS@bD929HIX@HJ>d_Ormz zgd(tw2s+6Pnv6uJlSHv(&eexwS#iXZ)N zoZT6m9e%J8T)jc3B=YKyWDK8)%V}UzW1c7nFe7mfjr8;i5Z_tlW9nrA>S&kxN};I; z)z6HDe4?7Y8c-lMKp?t`ZO~K_f^kh=gF{W#(}_fosC3}vIfXBVeyTR(pbo;}_MqDn z40_x_ZbNWbFgUE!v-sFz{Ku_dTt9rt;$xiyjxSwy{JyV_a~qB?TY4N{bbgBd`^+ux zu37W$Eoa!12)%>OqUG-%oG^C(1vmozh&B+H3Scb<*5!p{3lE_yhc|y+U(lc!ZLj}k z^I>%5&_Y=#4=mUZ?*6l(uyqIA(f^o1#CBR-gn-O4$@28h>g!4gw`$1Bj7a(R$w9eG(%56Q-1T1pg) zY=G^HwxOSa9IOIzbl{nd8=u(-@>HBEE8ny9Tn$jzY|8X8>HW{4zo(DE!E~S){N@r* zeilw5&nyf(cw^Pzma+-=yWEa&VJ2J-M+zT{-9UTsUj5fhjI6QbIx@tu1w zkO*p+;Vz&dqIqN?T0%xl_wbC0FYz%@QUD3>3bk&#L~FKRCqlkw(xyq1HUXbJvroF* zy=KFTl$7*7nR0Vh|B-k2ZZ9&MW#$U=nI%K&Z#Je zcm~&7FZy>Q3mvKnjmbgG!FLddTsx*3U96}it>5@*J&w+PwQXV;o-J^KeXapT zc>Vt(deP}E8juP0JNU?ie$lIsqt>ssZv6^`ABRGCV#j3%0a`2?;6QJHfMY2o|FrZ#TBn<1FcC2qgNq=ptVVY}zxMU+{Yp4+u!7v zZ(mrMR6PZRFYPsimN+h{z7)W->Op<1;4J{QhoV0^X2Yk8qSrP90M4?;H;R{z;oZ_= zm|E`a)46L#1vs4J0blqBz+zAUz21R;t$uHRum}p75&()|s2B}&M3IiY>Ml|POjYu@ zogLxY1Uzjylf*2+T7{Z7SEe4l?mfK7dJbKFZ{520Ko%GXvflgj1``b2 zXmyj~I7Y$&(gkZaOpruh5EkCNaYEnMABK93N}kbj#NHogS*@7^T{cdYmc`b7wn@V( z$!iDqzwih!Yn2j%QrU9IhSTv?ss*JoRk-$(4N6F=pc?!q`to&&1%m7U86O2=bE}!j zAm})N?5?@o_;Up^Wx&h@SvQ_Zv@WwAVv6Ac0qDsj_#~LHu($m1`>$6;t;f($KJ;w_ zER22(Mhph#Ltnj%?te}4+j4fsg*(1NKY{&?ikYai{q*Vf(-H=*-txUi_P`$S;60C^ z`O!Id>`Oxxj;mnZM?eugfX<+gqa!z~;i8S8a)snHd5DZFNctE5I^9vQGafgzf*>0r zVu~OcLoC(#go4E*u@OTcg0-RM@I2_T0b&;9B>@XAJI5HzPz^YCEBX=*m|w0Rc-L%& zVu>o}yJdlmLUOHdv{a)=<}Kq(HQV(jUwyW3a*eB^Ooo?F=4@-}*Q|H?)%3Jd_blhB{ktZu{-nE$)JQq1@PeuPu76v|)h zpF6ZPMUeSCkSouGf?g$Mr;Jck37vl^P5l`9?H5}}-*}3B5EOy?4sB~*aqEghuf2L`<<^z+w%*C7F5I(j zQv1%Fo$Zs>?O8Z~6_D=x9#o%xiu5F~vhzwSI=QxTR4JJD#UH`6vXT96L8oHt6D|I3 zKQOtBpQ&U9QhzrNan*|17E)?lNTP2M)Vn0Cp24dV0%S&DaLgcAm#>@n8ZbWdw@UCVNVaL1YfprmM;F%495{E> z{5?0lIly=I)v05a-nsf|?=)})Ugj^~vFi_TY-!=1S0;_R=cmmhmjPkvvAz$1=AVb7 z@9=~(1uVA)r&TR`_$l!C$Y}!$9$K`uW6hXJBL{!78_IO>_~BN0rNc+baW0 zGrejyNpIkw&sH`C{ZLq4&3z3@@Tu^LceN-N8gqsQZ?3cFRAe|!a=meM-~6FvKBo@6 zTg^wpqf1w8o_A!*ID_o_2`8JY3;87SVEfmF)$f4mGxLWGEK*vlQmS7%e*D}pcXn8% zR9Fg%>@yzg@?FE~vIQ+5bi%AzlZxb)^8j`eD>@ymPYxP)c{#ZvE0=cu+!)4+k5ft zJ>`K^jTW!=T*~HMg9kOw8x&r+sp*L=H9L2_c5a712}s zoEcu?K9@Q#ws5Y1i=fS54h?s9%iMAfkiZEOyeHr}#o$Mj-T z##o7|Z%JQ0`XF!o+S9XU+&i^jauomVt6TP-)_A2bUx77~SW@()67p+r!EhtjKxa}@Rbz(Y5 zw6x|W*o4N>mAh?oyF#uQrlmiIamn|(7IjR2!CF0LtVLZ}#~f&5LP&_Ec)FJ8fGHu& zMcN}Qa~&Xys13o?m2~T{G!gRK6g!Hx=%Q9(LbzQ|Ob=nWcTP0eqkS~g+kua2v6&L* zgkm$%x%<~xp#P#laa(bCQizJGBg8ipUKJ8aba&O+ME_Kg8@3vb0mtHL^wD=XruDiy zi{W86Zm7DReZqq|7uqLW-4JJPN|n2O55?@zEoS5YSv!m+R^~6fAljI}_@Zca9>0F! z1zD&4KWmyhZ=7A%HER3cwU-gEqq3M%f)y(hL6c&w6tmXw%(MkWJxu|aTdG}~zTf6y49i|0*?(GftW=J+W=Issa(ZkVLA#E)+4RjMm5 zVcgcv&EOHW+ls_fhZv8KqFj+9`73d2Q~UK`mz>-jM?Y}Ut&%R8Q2;VkA!_$ou^T)H z^3c1e5xol;Qk^{)^r`xXK&vLYn7jnuq2a>feUJwptiv}i>>=q^K7`-x!r%ErI!C#v z9u5^jb&FfNKNdl1iWjS!n#O<|2pegVye*gSOwDSi_NFi_TBR~sshuwX(L|M{IBD&z zS*bf|N{HK*`vd;!J5vcDBt-&qTf?axA5lGjE88jpgyG~QO>3(tZnZ*LFS-xCe^UQQshkCBg~rS~)GljbVSmr~=pBy&&&iWax4*Qma(gMFYcKnt z_?hgT;Ng-^@Z2yzPWbZ7fYuF+T@@m7YQH<+Caxv;AoWc}oWt0_4QuudYDP!izGK7K zlqBz6H|LfOsCWxZfBS7Pf>d~5?W?H0s2{IM;#eNYp%My(rtBn};>eTTq7L}v_4STy z|Mu3FH-{8AO&C!*-z|}D{}$-KMcW_6jUj!kzgmjv45#HZm@Sn0Ev4SUS>u4@z=rQm z&767aJNg}E9K-(u_dp3FXH+l~)2J}qKcoF^&=?@RMaljKjjV`k*qo+X@ca((T zaP&TjrEQyhUZ-N0Fsprj-N95=w^j}}zJ}s|t z@M!&lp-B&V?;bs6nI+F0?B|<3Q>t2B7G4ELcChW=qN!*E5RQQ=AgP;Xx-;uGscijr z^x2rJzxvha?N)HBLdx{O!C}c>2DJcS4G!FaB}_ZRRebz$bj!ydg9#`8dV(I}Xq(3?-5^m_j)8&@J1o40GCBNs)k(B=d_iXh z(G3Ve;HP?eew_m^ulTJ%iF8vez?$ zco-#mhIBK=9@~J4!Lz#zAz?s%cAQV?#qwmh8@o<>*iJC5@;_VN=NEIaygba=AQRky|X26<;AQ z8@q<~=K)R}aB2*Z%3v z{bPRr>hsrLSaiI>Ztd?wTZ2PjpawMk_D3*kTHlS6hpru3YSjS158rTSysuK-dJ%~} zg<)_vi?I`=GZG_`E=I{GV8d-Mr~{44ZBH<`Th9;emJOJ~tPo{o+Jvd`A< zxG$E;fxR2=xcDP|`g@uYZAUw~avWy)cO>Uafc|RBq*L8jZ`^4KW!v8?`dT+sPN4=GIxwYvE z^TbkxYPsMuzQ(+4{Os>KhoIS~>+)A@5}|bPF-_c=z=YIP9I(M2&)~C3C!S$M+oZ*R zkcpq8k(OgEQ4-zt5QL@FJcW}2t7<9u{luZtUR*TN5_ZfPse$@P))d9KWmJyY8h z&s?u=GNuIFb)Ia0Sxv^M`3K%TFn?4=O_@L2Q|At(7|RCXuQI4in`sYay5^Nf^hQNb zy#WD_atGyCsA3GGB{o7n8tSF+vUYfBG+GMa(;Lz7Uq?5o9+xP`He1Ma;1Rd~sdikqXAjYjoDEn+ z7xCmVt;bEpSDD(bC?b-g9D-y)wO`N**-1)edaB&A`kkA%d>)uzZ_W!_YUhy8!I_6I zI{5nS9e;l4hjaTwAoQERfC-jm2ivDwvXcx}rGC&Ly|ScIKNT=rEZG)=Ri&RlU$3%S zLwfL3pDCvNf}~VdUS=CK_~y4)@3|>;m?fNNuHFCc{zb!XKlj&%4t`;N<_q+jKP5kZ z(__0FDqW?u8Ng<1C{tyyM1a}C*Zkbe5m|>7Z)wp%*#*JUM?u_QK6+^WqRE8w9f&toeEF;`|Ji5FEec*2%+mZJb(G(lB?9&s&q5 zCYS5ofw2Lt0f5jjSCTtW*e5NyED#P34Al4%?es+Z_Um>QT)nOnopi%iz4{tml>&SO zJ+C6Y{c$%zI+D8uMzJus*30WQmw-)Up%NWpZQo@r&)7pi>&1(Epf$S^{i!9&A!66C zpr_3{I0~}b_v~p$m+=vNPs-5RT_}3sdl$Up(LL>5PYvr)^n`E^-j;YhysjmCxHk_c z<^WoMsjaSSAGTNf{L|J6CfaiTtJYZ9U7!C!6ZF=daxoPQ<1$c#X9~RzFmq3}yhSDX zu5+=O2#!Q=d9;nhaKLVseC%WmhP11ZG=qV4N+ylDI%*7?nG6`Zpdtq*ITLMkm$)&F z#zz9x6+y41noTBiDkx(IbzWtKBuAoGPRFmVF`{1zLZRZ}dp`RtW`{>kCW>Cvhp8cU zcrk7&t`8jZj)CVc59-7mq&l6k&p>r+iOy_p z+yeli&$N`9rP9IP4#qoJx>Q51!Az?Y+F^DHIl7X;G2#@X#0?^`bCVr9OS17jrS(hz5bX^GZp$6!(7z?w6m^ z_1SRZJZnD&MbKFU zR>taBqDKhu_@~yGc#u*APPS&>{{8zlf{W+^C`N_XCV?<&oy1&&zY8yV`0USTA6^uW z2f!cq?PquF-`6=6Tm;4V|HbGL=Gr852A#nVfEGMfUweH`QPG;$K^Y#eWnx$yn_1Tw z_HtLb7+27v3wjJhia?Yq@d=K41pl*x8PPA%ALfH)Xvchz4O14MIt3PWaY@sNuNdMI#*hs_5g|{3VnAF%$UqSZTbkLV&b#$$VJ5f$ z_o1hvKfH>HUzHZ~g);@UzVmK2iC#+CP^S#8Q01CHNvBLQA$m8QVTo==Z<%sc(c9R6 z;44dlEUpcI39=(oM0}_Eoq*bydk7j9MW5u2WH~RYR%VEbm7+@!GFjlc^w=?WK=byk zSDQfNm3`|`7R5e@Odp4$&#b;sZm2VqUs(MNijJH912_V{0!My;t!>eFCuTx0rM9Vl zDgd{%wLX7h*198~%xMIman2`4*3CNc{M+JW5XW|i%T~m7mVwE_{D5c^ZgTn!)JvJ8 z`$x9{fJdN4EwL#MugrM-*Gs1lvYnls?2qUq7)?}mqfM+wDYc_5@4SPy*riIPl)Eg& zOSWgxT)6#XeE57!s3R*hW=x2?92x@`MU zd?1PL*3$$eagMH9z2ZB0{=I+HQ0EyN(K5i zqd%FqH=o-79K873hBuZObXi(kdhX0klSk>Kqi%b6!*Y9-gw4n_mE)1Ww(o``cYX9K zDBd=><@AGJKK#d(qefZKvmgy7siA!glc4ujKzFyO7kb7E1kUbqtLZ+o8e;lNl@l-p z4f=?xxvw}FBCz<-LwNkyh~#>$MVNn~oX^it=37w*`Wkgu^OY&qmlwbkYpP6cPL`?j zw9sD{|BNn4k%U5$l#+ajS9$c4af3|Bg>o+2xP8^C?Z#|QUYKkeH13n5 zO0VQN6}2wz^(GRUzxo3DqSp&i;f++(aIde%^!xc(8xO`YW@;)!S3d>{dGCp7cjETM z-Cp7aR9}~%H{!|71x1BwBPb5iRRys$5muY*t{~dN1x#PF*d2wIIo@Lwno`*jVEQr3J zQwrGrdEgQ0;&qqrzIEo7-4`a_wj>4Qjs2C4uWC%YWD)e}OH)Dr;;)V1p=Odz`%4wu zm+fia_rkvIjSF_4zs?WvFzP3+mmgq)A|R-txDigHLu`=ZUQm}tRMW*PDxg5S8ftCO z9)g(VOyqCbmY5r3;2AO7W$q`SZq>lzP&9GOa>7U(N}u|G56c?@{M> zCuhw%`5oZs8SL)O6xYXd)Pv89>&tB>y)jio_xP%veKMU|RdQx}PM;KGrBc!$Smmw% z1^VOc60=25_hO}Sdw8y~{5ZNk3}LRNiP+G_r8&3-+{Ew>kF9iIV5uGlT@9xY%^y1E z@FI~lh7+xD?%{C~tRL!ZkEnY9Gf^AzgGVD1|6glY0v|<{=Id2;RrOhY zRCo1}zS389=jcw-S2}0sAO>@xW_Ta8}V>cUg4> zbrya*6iq{AO6V)hSS&tD z74g;t6@bFm5ZhdYLS>|u3-1wff>6oc$<(DYnRH#&Tju4=;AJ(96LQVn!fqjXsK7?q zteUDkJw6redHi#WkJSL2P#Y~;9O|RDc!Jq)Ni_j9PhNkbJUQLnl*g&vtWE)D2)`(m zlQ^jgDW3ypfegnLaxpg=ft^-hGCSn7DyTh|VlCJ_Y%P*-1R2Z42LW~jc|x=a0umG( z(g3cI5s>Bx+KWUY@hlLA_(Z~Sx5%3Vu+N%qrfs{=L0AOt8fx=LYLyx}-+iQMkw+^?zoa(k@kFvhoqTYn4Z(0?&TVXn$|-K_q?;{Ju1yga!h z({o2<<~#)CWc0uY@yV4t1lL!+Bst*L8`wM@g&} z%3_4IH3Q1yrC2|t{JXIGum`arF%Dncaq;C!JXc=b{L|T(xy`6c6gHAAz7?B@EyPx1o1rR@8@0qRiYB1JaCDU| zAXP$yTtib&j06(b8%29>cxajbRwDeGX8Jh;MyQB(MIj1`k z@&;<^LqjLgs?4I)tVtz&I5sOOA*`VPDF+(ysd$O#34&5UqH^oeqxT`zj$;qp1Rn(d zfsN}$Rqy;xScOl|`REdtF?lxUgE1d_QPk&i5%r?Bn?M=5B4XrC4tNnsA4Uudr^_UF zSu~<$qSro@cLCln!2luzO*UajCY&g2iB9D3^5B`6P2Vpj?jtD4(;cmXCx?G4@m$go zYeW}>q-W%VXs)>u=gcHx$})MSRbS(exA>Hv5`T@}ir+ANR+;-mn5=L0)-*>;2o2FQ z7}V$a3?`Gom!}U7_E0*z@cGw_HmKjDVz~dn zeKunMNDrI0*kP6W$mG7{mAwpq=TU&M121|Op2p)Iz9n9sFL&{t`0cq87h8eBYty^* zU~ZSMMXylkTYOz}aXfD&?FDIbsiq&Ob^`reD_zrWs~j^?51$SHPi3*P%+Rt%ID~o# z-|Q5=p38Y%QV&q#8|mTunR}0lM`p1`sKfT4{czE7D&QV*p@Pb(h+84n#F+?9yWBjb z#Lxg~o)Tz}1ZwfaF?k4!hY0Y<4Nm4p6GZs!QCO@yxNZTOLWtl+*b^Tg^!TFY9g7eR z51rHo94@afX3p%)zHuu1y4s_DO0A~S@a?San)=%^$21=NP>$TU=ExtMMo>MdBF&TJ ztXP;YnKUc4NLLZhl8*3@V>+x6hfc8y7sxeF&sFIb9t9~k%OHY<>EOiOWr$>HQ^%NUn8Wt~4| z!q%xKiX{ovioTK#K#+=qqXPG`c@1Sp%2Wiv=cK!z3o!XYidjv{+i>nw-C0V1|3A&x zx|_m1U9s5_OT=x3lauBgjT1cGix+L}%QqxOQ|1AJkI)P=`8BUdF6YPsPN1 zcF>~15oik>AQZu4kdRq<=@W4j39n}aLfwc62n`L9gv3@LxqFESn^Cvkh|^N)ASb}j z$TSW!&o5l8_l=3j>}sPD*QIqVenBgzxX!d|-$5;fN^?KCrOC4$OR6b09xhJAK8>0tHThZ%!>f^~OD{LU?Gl zu-8YVYBcn}KpFy2{;ef1V%69LsK;OkQ57vCAS)Q&IY&q+rwhtFQVb;C21vhnf)eYP z%cS5rWFXPz2u=(;xw}w4JBkA=S_IYt6d5n_X_}C>6cs=!*<784BZxXBl90%1-Fcr^ zmu?NJnyH98`)6T~f=?v^KqjO^DIBlj!E4!XLuC||@+-kf;n6?|MJ2ox0}g!xWWcO7 zzUF1Dd8XHnlfLtS02YX%0+hn{ zCX?UWV*K+4t;yqW*Z=E0xzhsFczK8~CuSJ72UE|4tAsi3LRq=HJm^o5?y3+U18FiH z@)lS1Dr^0|Vtl3_gf+LA$L9y$y~U3Q00l_kYPXtI_HFRIcrn-~{B`WOPb=+-n#eQN z1>4PjP@X>?YTa&O4>;`YWDORN&;!PM+x4t1Ak2D8OB!`2LRBCo@jxeyk+b2iH67Xm zP=)bJzy^>WDJTljTB{g`0!b4?y1f*>Et>DR2nS#TQk92N55aeNQRFTmf*G(zzuCv) zeldjuhA5uPaZ>oR`FS(wz-5!4NSS0ZCCyL<{2)*-(ch>xDA)AN1xj#io6(rL{2**n zvC1`Rp^>f#5q~?c&{U=fp`0(YfHf*+qioTMA`kASUnF9sK)?T&!r6xAUSWydIC+&l zXg_eP5lm3fzr<57_BeTkQD;|^$zOduCREk7b+=^}0_xt@wlz)aCOPhB^%oDxZnH{x30;SmHB&+(=J?}UaG zT69BhM-ux*j8p<$lG(Ox|MJY%Z5u9Zn>pD{*SGCEeG*JK;jT}Gel;}2IP$yJHWzD& zWOD5K?!IhS+wo==FL?7hug4Z%TG^X7&f>lvJpa+qqmK@KwC&riu9~#{uTMR5?%Xp| z+cdt}Er*1oa{=kT=c!-6kQw9IvlsvHROMyi)s~fO{cP|3)1(LRc8e(}`ks57E7h%B2!O7#bpivO7VDU|2L)2@-lFEqIQMi5>?c03!Ov zIaTZ`VIi~GLq*&pXLjzoAzmyqSJgdo>==k0JAf-)Wm8fnlk(Gmth1sA+!hUWjp?+E zTknwF(-^CWwwv@|?3Ka+eBD0Aswhj}^w?uJ-S9M9SY-M{c=!DeK-LneU3vcvvpC{z zpu4fJ^A&zq=-TGVW_CET2{*g=={{9`JUtMf?4&jo9j$#{gViCmw znp>`U6)rmbpaQ}6NuqP~cJF1b;aUgHM|i(c9aPEWq~3Suq{FRxQl?Y~ zl_oFzgihbdZN%kTojS^R(?!>W3Y!blUM8y1F>-t(09UVut>Z{-cbcWNoZ7*$RvkWr z?eMlwdBWSl&cL-6qsgJ>v=qC^L2_Y^EMOH*uM@uH#vsXoi&w9M0Za?W;d(d@XcQ6> zMwsNtBw`YZ3A)TV=rCOJYs$qsNy8)!n?&l!g94Y5P(;gez~)5fogbv~6bxgiH#ict zEwyU@9UbV+SmKkwXL-=hqm5m zU=(@jkI4aW_v(t9BU|V^pWR)=@^-C#!iIdcigGmNtIGWvlJtgxd3nK*mn60R3RQlS zgHoy8o5sVAys^-g=eN=KmaMASxaukznDPHg16OA^ATfy!!jKMBLA6K+>nFe6W}uX4 zam@%750MTw;c`Z&iE6xc5*^feH8G7=D+ikZHfl0JB4E1fkVkcn2x?>PK8<|^OdP=1 zC&hj77B5bV71xEL#ihmF-QAtyUVQQ5#l0-cvK05leG4tn0%a+-`1POM_uVCzyIdxD z^JbEnWahm|e)ID3e#)3pU2nOX+Eo?GtVu`}NJu%^n6+EtFyGZS6%xGtYZMzSycn0I`d(ki7 zRu}joD5aMQpwL`E*rS`{P1ftR zRcTC@`fwERcpd|-memlwK2q-J6$9-ypG#41u-aDaqt}hWk1^+H2_HTYg9|r7xYUnR z13Ct26`Urixq9gzCkAvGK)8zgBI!`3g`H;e1-0S4g9%@+d$Nb^vzt+J?x*jM73+gH zOZ4>WWx~*o^oCLyL!)4XdKB2N`B$zw`Co z$uJ!MqQ38m5S=4To93P79X=i1nb5au80&6hhCGwjKDJ&T6@d}3;7I@V8Mq@?ES4F@ zmXXjl><$^s-zTny?(tYkjEHc*kOLxyo|JVCG}{IN0EPN^szu)p!6qa_89hikFx2kJ z>(jhZvSfRYC#_*Jf#pfSX_T1)*)hewS#bQADGdo6LBfwloQg6^@={{rj%t}b1j!Hz zaemC^xvPvU|Mv(84qha*y)7+OW*$(J{)Jga5HX%xJYb95|FxgHI~@-ow+Q7Do8Gns zce;2@+q|mO5qs#1U}d+s?YBsi5wBU0IHeMp1BZ-P9jD+Jw%v@`N3VwdKwUqt=iqUp zwaN3|u=CDRNtQkP#lC?O91nlAV?_v(vT*aP;&g9J|{InT1#P=RzTUB)>xGI%V zV16t3Dq~U;mu*YSK&cetb)J$Wo>APORFl$Ot*+=$wU=gSqq5(nQz z?-R!|zlXBw9QUhBrX;Y9^qf~HGJAiqjeOqQJT{K2lfaTpoY&zuUn`$trf#I-^B#kL z{==WMPdg0t_#f$J=6nY0wa0$p0vV(2mOP&=lEUdub?6S{<htOIf;zd&YORK z2&xk}o3%T^I#%PMxXT;oT6W(#Gx~rRUiPK3l6!rg36y{HW4C&u9DSTAKSC<5sX ztwZXC1;S~vVWERQWk0)3>F$;y*Q zLknEDv9z_cw6r?5<;SB+Jm|iefKJb#q32arTv}c{Jv~v2QLnuPNs}rHtygjoVB0C3U|wE22JAHTeja){kim1M>DM(~Yi_ zKL+T#LKn7oOy4!mRMLR6W7g4d7y=IYOYZla`ewZ)ebDZRBSYEcH9T2 zK>Q^V1M+ndO8oVafoa_q5ZU~hv2}MXyzbTOeA&0aAp4E~M_aN;>V)Wl?50Qk%fD}y zY*S2B_nm7VSbqG-A@6Ku>g5|TQ=K_r&Zke>s9&E|3I7OrS+xE@yP*%0%r~12;^_F% zUTvH^=*#vq)vt3m>C#FdzzR_oGLno^Jdr3Mmz>r+s6i>EAv-bcYX=u_Jx$Q}M0a!+ zz&#xik~Ja5m&y4W+eeO%_9%1s8X2A14Bq$(zZR4h)J@vLN9Pswka9qNgzwE~;4v|& zSQ55O$uxeAvAnna+IlNAaeb=+BBx*7CG~DZiUQ~_hW0i(Gqk{+(hynEq_x30!}Qpk*P>7d*2-+t^LB**(WSQiExFho?Mn@m}v& z_27et9|?BDitalyaCp2{BDd^giGrR|vp^O)@!>>iw5dr0I!8*)b&!kxlUS|aXIXcu z;BGsR&Z^`(SL>exSpB`x_XZt0UoD}CsqsA;!W*el(FIyCVPqs&t8%Fa9`5l)ckw(%G)dRlok~Z7>NJeeDU-q?GAYH zV0f02{WQPbGzF>LVJU(DOxoU=-WClouJjHJz+FP;{`q%*Zir!ez>AU7(@9(=3Z~eu zPBTN?@zJ#PK2)hbzPFP;-u?V~ zyv(qEBB)ckOt+1rDfo---e=ux4;+X~X0!fR-J*PnC@8ylwX$Z@OTBtp?xpijphTZ= z&Lyo+Gz!r|bxfD0Vjc>nHew>0S%un@e({Toq_)b_*s9YHtfHaj9}l>`XGzj+0hF5+ zRhs)^OpPxxjL8luAK{UKQ^*{A*xG_!THto8G4X&RCR zCUjdBbL3yb;!57tQrDvUq&C7guf5= z;veh)8E?PQ0m&|g(Ccr_9P3ya|9EE>3ATbOeJnz6$rb=+w}b7Bfe>zaN!Pp?pcNIU4YQ^sa#Z?a|F*YTPNh zSeWcROwNh)F}an8i9M}kw9V)EY z!yaQFjgCk7eWgcu>1>)te;r}oXlb8QY-;h>Sj^oB`2bT-2>U^7vqt-+sa6OEC ziLRq5Ccu`v=ObQS(Sto(mKr+=eG)y}Id!SO5GzXM>U&F;8NzS`0*7y!p-Lm}mFkop+Alx&kwMLQ3`V4ltAiCiRjTcK)OjSKMsD{o@U#O~Qs4{#`8D645sk(osc#4M9<)-BjJvAtEt3cVhp!o58Qq7lnp zQ0TrE9MjmR=Zie;Tg2_cL4o7bV&<7K!{m{Gs#zxFizJ?uuS4I(r8Mm^!_s0S#QIYz zt{m@25zl2KY{o^?9@#C6#%|(&faD(26K?XwHH*2<@xn_5DxIV%zd!Fcw#PP}hDujz z+q2VI&skAH+ULDQ!e+%^3W_S)Gn}5c4rfI?qmzzEQz%eG8pek42jyz>&B(HsgyKmV zv1KdosLgv*pQ}}r{zMujS_s@_fLMlrw)(9c4f#0N8Ae0kW%%S*&H@Tw<5}J?wNxVH z*4u3&EWQ@fVu<{L#$jI~wYxoI7u1ex$K;n4?PYH%;dS=f%(eS|NBm>2hdRyI>Q_jA3*Tb_g3XyGGn56bl1Ci7L0zu0uA=fi0V>qPr|S? z8%f#OnuMR>{5A6@gzF_$?jrnatKLXSt@P&zuV<;eZK8SKBe3Y3qfLFs?ASM{_h}vu z%7=({-7EB@yG)Mf-Nd%52P8dvhCDhVB?9V#@~%VfrT2$J&znh0wyrAadHT3an&>(dK*6$Tc2@R}FB%g0si<6OV!mNNccs81>lCn}hPL3>mbbRFT+ybS34WoJ zl#GD!wIIQg0D8i>f~md(_k)r$p{1YuD%Ul?pf^_ zX6~E0z^wjK8m;exNay1r@Y&~9MxT-P5kW)#k2L73LJ*;F*|`*#`=o?|<$ncUgDTHx ztEVM#A_7}1w{2*7I_BTu9MqPn{-pBH7^QTr09LT8PMIVyMRP8bGHX`M%zFFz4YxbF z884Yx+a(=q*k||Tni3GLb3ftpj%PTy;m0ep#E0p-G0F0cuJUUB;}1;|O&h))^5M?z z)BRk}^TiADzVA0&y5yBSb`hPKm7d9`xJhd}wV8U`k*%EHugHjMa-AfbO4>?lndxUZ z`PWJMg-8CTT*Wp+f#F7l9TQwhss{{`FoF8eO*Or^_UR(RbK05N^ouxK_!HL=b5z^=U(y%ulZXC>UjDU(MekWzK+;TQJYH;bzk6`YJk#TkxDg@R(mv z@ce{daERf2%RGmbBRk;KZ2NOVU)9c%*;7Cc2)6k25TEXY@k*W4@^{o?e_hD?>ly}C zAR(sH*jp;^jCgd4a?B5Jhy+_+`&s%L=-Qy5L+of8rok0xgrsc0B&w~D?3^Ya95 zqKU#ZJOww=yJ2pglAF&0U}m18n;6%yFi#mNGyqH<`9=yo9cF_R3Y3t-D8ZYJb{O(O z^dhAKrNLNNHH*>IdOBO0jvSBgro`N0TY`8JR(J5MTlu6RUj9bXq)&n zG62?x*g`S{@__-{0LDlFEFLk0Bt>zC5=s-7Mry%o5DQ3Z6n7}GG{7Q~4@Qn;LkWap zLGUeNnukOYMMxf$NGJ}3U?=8u2!M!3vY`0yF~jj?VoHbj5P3*0l<+-vIDr=I6mgBj zL9yK9JrYJl4ZwB~r$_*btZl|iNjs{ zi@8xWc~hvODa>v&dS%xy5V##Fx~mZ=xElP@v9Tl)^7AU$MbG;iDC?g#S*p)}U zk&aH^wLuAmN=RdrCeFef_I!}ND5+3s2%1F#AME*_8nOx{1|hUaYla%^HXxT!G@(2Y zVvBSSsOWAHavDVy$^{|XNjrrG?DiqIPz<4b5Wr44BNVV3j~qgg-gAZ%%A}P-wRUTe z3n=P)?r>t6bPFioE;)+rULYK6Ajx8=c~2BsgyOju3C9^o-WfXG10du78HfK7Ga^Z5 zsC17HnTO)K7kgtMP8$D?pYr3o>C$P2X=RmrzpTZ$0Na0>eFCN!Uqf{(yCYT zMiV+E_`09TH0Fh-=Uy9YxH$gHD3F9}b_kxx^}*dcBu`{R;N~5oC-Qgj@D3UJw>WTF z-#7Gf@o+0&F?!i|a2;PEdii$UYJ9yqr6j`o1v=qFLy5Gs8uCL0iA2rnAZNIQu@Sk?h<al^~c9=iAP1gF~IQ+3rl_ZARw z*hy7LE^q=TCf6-EEOqcDN7y7_j@ljw^rrH4Pu@#0UKV3C;vgLRb=d}4Vk{Ez1BJ6A z)gv+(#8`?CmV75WVtg%Aeb;@a{^+h4(QRyI{<^o#ATr~pcG>jLRc&(P?Uu-0X%)Wn z?WF!8wRPShGd8JTf#p^ssDAC*Zt-KtcPmP8IoxZobtu#QEL>H^fQ}+7{Lo%BgubT1 z$4#(}BL6|?>3YF!lzP94x?uawUhuNmnEzDf)s*inHO~F!ANxjVN2BJeIW<|Avc|`k zoJtRh4YY(w_g`e(*S}f01`l8Q>6X z|4wbum_Xk^Qhen%W_e9}6GH%ZpP0Z_?y+8oQ9BobcWhAUR~Ibm2+LrJ1!~8%3=)wO zoOQR(=^4-Yi?0j7Y{LBmMnms()tsU3rmIIt6K*vhTNzvqqk;O9XBquYcXKEOZ$h zRi(M5O*L+)UNkar%8Ie@C#T|=?BEmV%j7HT^{x?lDhIj=5bZ67^s>+n z!-?0rQU@!QrqS5y=$f=u#vdtrbUqZO)8iX0ueL`(OEUPrmvZ; zSu4a)p>Bpco0)DQI#i%Wm#I1S_$cHa#lyF~p}e{G_x z%WkZ84xy(~FTLFPnYHMjzxSTmA;`y>`J}eOGYw$a9JRk$=-?JI)jv+1>0>^htI=Ud zbs}|uwcp$9P(jkoPU-rZVMKLW<&|6NSGEysjL`$c5tz|9>P_x*oy1Ysc!Hc|Q!Bce ziTAH6y_w%R#^+9R93D^~t8Tr@XSs4ula!EzZHLdy_VhRg}2h*bwb8A72kDc*srba5Y0t~p4vRq-Z=g~ z^)lLlyt8-UO!f5U<$R^!j3b{WpK14!1=G*T;83-(B0(JvRh}>V?j<%;OOqW7e}}ab zM7}kzHFWLwu|D$>NK97rjaZ%*ey7>qs0bvG?4_@vFjbJ)ut)qQ zVDgeDLQ&SZ-Ov4f2fXpOYbQzA?f9)x$&ZH_*E{co2|v)^%5iYx4Lq4}PxJFCD(Hfm zwCeIuwWI#0DnIXyjv~TkcE$L$33rB@s@1QF4L^AKyN52d@*Osp<9YUg0&t6lyhrA` z>^tdfKdYl+Gy0$9UARN^`EHQRM(3(l|07rEuMT?b^_`oDnjeM>*}ph(n%CSZepc&u z8fPnM@c0N5ZH&ui$p$An@p5ZO1G^wBgHwJ+-1j=uuZjmQ*vFFxS_3z)r*yhTcRJ+L zr+919y!)jVx}yC#%e5R4>W(2*s|p_)T;u888s0B(jgDWLnF zRw|*+A!%Mh!Q^#k$@?Lzsfc^IegX30eqnL&)RKQvw@_WLzp2lUO#TJGXi9*sySsCg z%gkgN@s{G2{!s3i-fsYo)kSrFj1NNSU_=4O{BV ziD*uO3ed6Jma8?E0ja5?C*`0X=6@;QKIlp5Vd+pR=#ebhh8$&Mt>lr@_A|{n?|S#E ze#ta60<*g;esj?PFMo6434S?ejK1|UEk{hh?F(7P|7ux{G|_J`t#Dx^v6-%ZHW%t| zm5TSal1uPvc>%xC>k0nT?N;-;|NaQx%q;1tBe2#a@rfoeTU2;1Jg=zXt3&=jRX0r% zB3U6!rixl&%=y}?kemc1Dy-`YoM;jqPAV)>JEzxh-Ksj3%Ky3{mi97nH*W*ha$6p@ zENy1I|0VROI4Hf|lg1{uQW*kHCru5xp{ zOVwHfVOdUD+*8#+16Uu~b`G*BHh>Mx_1z5bf14tdeGyFp&tbxqCs7Y>hT*zn4u1C0 zB9Z$_2G=tq@sq{-uBXD%i)y#I4b7?Y{stqQw#79K_RcEh3{>%zpQ zt2MO)?&U{q57wJ9ff_QGFc$>kl(=KR+g*VAf2sQ)pU?~Oo1D?mo*4+$ IH>08b4`|GD*#H0l literal 0 HcmV?d00001 diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7eb74fd127ee5eddf3b95fee6a20dc1684b0963b GIT binary patch literal 71896 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≠dR0E9ICQ{-tcR;@{R^I5P#1GUH!p=-{c zuc3w;7+BWfGaHj8JK6^F_ud{JF#?=p5IuL6%&BpqXGS{~wMRx;wzW@^P zzUW@Ot)-|dI*HP<%}AdxG=8KzXl^eew9JBUhfnZWKLoxK?HB-a*iv{+&FC9ByM80l^Gei zQ>vs1gSdu|%R^~clqW1HizMeJZ|Uw%65_aMdUAc=1!3QDeKP%EsZ28Zdzg@}Ra@o3o`d(7rU% zr%Mf`gx6r1G)j3PTIP7=RmrzHWJSTZ%8CM}L66{96Ho4D6?_e$&nwU~mxXqb zId&iY3{0N^R#wLfcb@8L^e#OJ0i2H zb1N~AI}Hhrr57~D4e+b*D>)wL^>o&)s8UwztF>$9RS7a?Sw$u3K`tZ*0x?8ZEV-%! zZ(Cu$a0TW-IWz_qLxkLbLdA#(MA#a)4oLRdKYo?%uPGj(X8nN-$ngfAplK!b+*+qu zd(^3srD(1I(q}@BoTVq%c)#*?F6u!kTXOc5e<{PlbM>3-_uc!l7m9~NcH(PIlU^P< zJm0cu@FYZB7yJZljwq`NdTWWwJf>Gmh{QwgZh61R`E)FxUO^-=N zUk_hCvNP$No2rYcET|!l$1|!COnmS_6xl=4AOcijV13+-y5FGgTB)%Z6#$vt0l5yn zc}XjHUE!zsSExQ#F7P{D*A3QC)vRlLf3}afFsGqV0M4(^NIsoho|d7?Ws1E;hZ4fa zOn=}epz9 kgw;ucYbA3cU1VJz%pjZC;Qk%~9{|M8~LQUOASDQR}Rkd4u{d`EM0 z#z42NZm2!myxQVgiOB_;c?k zlt~BrZfgQ()uk$+b4t(W8L1Dq{?-3n(@_7=jLW{gbK47%hqi3Si77PP5j3!pF~)_3 z@i8t~3S}m4z?MnVzPp{(T)K$|;@a7{d#x~^dVqSp>4E!z}v?-=tE(@Q0G6oT-hW6LGZ-|l?8KvgK-NS~Z8J62b zH`CdcT@78ZaY(vf+0yUTNMiVEdQojmS#YO~u19^5U7kkBLFVh#q#gwjQaVjk_E%%Q zW5)ucz5L9OK-D}21^p(t8Ib{#^el3ctEg~To0KMul*p-27#?x<-#cD1#}ww2eL_fD z$v>Fu*LL`g8B#SzuHPXUJLQ_!dJJZCtm=N^==#L_RbvS4CEo-a@9!%5c6iH|l(yhG z-qbeBqno#K{kLzkZTXgQcw5msN*i)Ay=hT5yl>U1tVUFFQ2QjVxnP_hY|JlBw~9K1 zZC4w{qbWrFnYF8`LSf8cLCq+6@ZXXcV}a$ zo@Yk1$idN<~Q@Ropjc;Z8}5`IO{Ii z;YhxD(#zHsPX5FB`-d(6^l6R7HVMMO?3)Hd&$oeHF9riqpq@4o3~N!4HI9g_?3}K? zj6VtI3U(<&t8#t*5(_I63BG)F-cow^%5)1EBDu3Ag?PtT1w=pBmHldGBdQn)KmcQx z!ez5{w7@~_a(Fn0OHJjEh@8Lrg)n8q4hZ)jZ!crLH+Kkg3P>$tNmuSyzuJIdtKj(> z$y{uaQ@nmoq>L`t#+iWJM=?1E&-Z|yHSAdJwNgVedZ?bq^x-0!K?^LO<2t7_iW!?i z7Rx{MS`%5HRM;a&Nh4FyeP>2|HgO+0c`WcSm}tqcnOBI2vW!gFqwTQK_HW*vIGs5khREImcAja+4D9gTh?Gl02cQHw!(s6RP@m*D7e8lI@plF5mU=x z>B&*D`$7Zh2)}t4;=IR(`B#n4U9rp{0im;xr`ucG4i;l{k6W(tLn(AS3kMrEpJD-j zDtbu|B=XcmdhNgUP63C^qV(wlO|bHO-6L!36*Fr>eQq_Ut;Mu)g01bORC}N6Ej@Ai z>Fq67E&kLUilT@ATW23t>Xkn@oa zus>fiWoscKG1089E#0l4{Gqok;irrqTV8br;D^|jhXD*r&bKIt+yLT^!(4mtd)^79 z4yv>VmJOjbe%QF(HxOi}ICFy|*f}*j#(4#h^!X#}@*jp7ru#8oNXmT_TU|36RwO@| zXIzv}x}4oeyS6R)=Z~z(WpDD_Hr8O*>U8Yh#DI8HUF@rFujw7h=+sClO5RzRw0;X} z8vIy}7Fz3yTT`65sM1|cvC$d|a~|hNgh%#6zg4Vtk>Mh*f#I-WOx%Xpy@DzVSyz6! z$!wSj@jl71lonL@{{de#=$fD1%-oV)l=Hc-j9%pMmtDZzk=yu*%BkllK@7(oky2Yu zcXZh z30OLYBbzmZ-#BjBGmL3P<59K&hqsm4*OFTgZL$%f@aQ(oa0eFt^!WQUFCw?z*IPTn zJMHpNua&$Cg9p@osIha9$U3J@3O1K;|59biD!tt(x$JnsvW(NZY3Pj@@gG;>*A zTH+ALGZ}irDadBtsZ*6W8vqk*Dv@*_94NT@%1b+VEL(GPrHv%f?#q^N!aL91_kBo$ z)NG+ZmBsUB82|Wx$I|BpqVVJs&*h_PiCyr>$;pAf<44g!G`;tQdg!9zQ~iX_bC}6A zQ^|ia>VYRu^lI6}&97gdqGGe39K_-x)@@>J6driJ9=LK4i=|SPF(*&FGiXVyCR)*~ zKX*F()X~#IMDkOrB%b=cjJ!Pz-#i``@_l@2EHpT)7o3|AH;^nUE1xWMN{So@0nuGz zQ8~&d&rQx-wW)k~r(djI^ z>#*7_iM8KW0p66fjO#5O)*C%oxTe*!d1vuR_ITN|+3sS1aH68x%;3=Bfs9p$59O|# zug9Nh1hu=rPS12!>HMe*_^s@b6XzuHKiCnJM zE>@rPxYY0Y@9F3MBh4%a(+qO?N57msjUyb=>3p;_1aAT5s^5mVN@eA!Jp z^KUwNathUCqD}hZdHjm)6UIJ&{*XJTCrd~LgHV2<*x@Ecco;(!7K)`gx)mD&Bne?7 zO#n#BYkUsr3_-XV^HPLOQudSO=jHJgI(d*0Lf==E8R{JUb;RLziB0yqyX)e7?mj*1 z%~%By0l;pDB3Q^~=6__-3-5Z3RMPPo5F{5Vn+8L`&f#XMCuI7-wacztV@JjVv350TvMt!zq2O{m*X6fy}e@@IxkM+m`uf1Sou)%DNAY zSSzDjV|tN-;$UpAvK14YVKbFYkw3y6Q` z=K6mofv8g8e9)%wXLKV$=FM0eke6sq+gb{pv=qN9Er%pFUdwOenVUz#N}d^t8(DeD zp>^29oeB&}z!x!A2+~Cy9`$5L6NERF*f!*zu|eEu?&mRQHDNlUF38;+kfL`%vGrWE zMRqubh27W_*HvN~XfXnFgDi+#UU~oaEHw+HFLK#jczPLWFteGLmh=y-+o}OsURw3o z4K6!zf5h6t@S2UTH@4}y_dk8#q1@Z@pi}A)Y(2nNGU)n~!;zg$n)vFDD%n`%`P64m z&t(orRfl)h6o4xl*T{e}8RJr_9s1?eNczsSFxmRZjnBS@HE%eyA^dsyx(|9fn+a6H zhV$8^KlUYjwe>>ICp)<<{j1yuYMc_CLNgVWyzMy+JAKW|@-q{Q2AQ=Xmo}(M!dIkk zZjV-{DRgV3b?ifrY&%k~{N&z;ueyC?anG$IpiHp&)Ysb8`Y;ZgdRx+Isd@u7Yu}ys6^?pi-Cr%Lafb=bmeY9*=7+{Qa%_v z*3fG4hor+^CBaf6n5s3`YHUp|0U#2GUj8ZvV;Gxel4=Yhq|&Uz=cMn3j@r-JzQ zF1Q3ARfhnZqK*f0Il~+`S7BNK=Z>54m5NT^ zeng|4COob$Au+NyCasZEOKLoQWl&*r5V9t3l4R62O|qZNHzC`$J=Sjaa;LxLguL;b zNs~x)XKnO9Rb5i^KPCW#OWQ-bK-shQLFEHMy#W(FLh(44Q4EIXlW{I;;0P*l<5NOvPm^Eb~1XvDpY0%Ge9&Qv(Udp zHo!uS1CDLtXL~AQ)ijtfQlCW43AfK9S77%~dFw}?&82p_#bnTqi^iw*N|(+Rjq;T@ zZns+yr*@N;SIXok9t;W0%Jpru*GocCY@5J%Wptxb*{D#&3;i_rtWEDN8I6+ZD&XHdg?~ z9*9kSZp0`vz>(_;XAc?(UD9%Ff^_LHHE zPMhH~w%0OUnVGM#&rbDcNZUViBO4o>k@^3G^E`V27Ed^#hsWQ-F`tvX!#G%yz_|nR zNxhF{9GDP4uYrE({hvNRrN`!(8l?ZW)x~pz3%bN66ByYK4Mh(3JpzNQ_z-Ov4PU6FH5U+BD^z3%j6M$!M8UPsHF zulFyfveXTAH>T?9Ry^%>tj%{81u4JC*P%bpkI~KMi2h3-lOhU`#S~=9Hq0ep{<}!$HnjI>V?b7k6O;8S~>&` zUZxkWK7F!qrPH;Z-unz7J;5Z`Hy>zjPEKhi?0*@(Ia+2tvaOP5(;M_#;XeO*MW&o2 z<4AT|lNK3+C&JAO!f+=xRa$e34i>s*mgrXJN--{%qmshXY&d4eUX(knipwka>q<`W z>yK~k(42Rvuf8BQgeB*DYsDe1oK0y*kWeIv5gm4S4@u$lDTWBj7+G=tLJP;$QS{Iz zH-!nG*65Pv$dUeO=51l7CITl@t}k@g86e4yVO+aL+bY*S=r6+SvgyZrA-2+M9lAF# zNoc@sJT|#xg~HFgz&Y>gI8lM#UandIFuC4=xTxG4zKC?ayh)&E^6j1SM(OQl;AG!8 zUK{NmnJcYpv%=>za%be&zQGWc9o>e+z7BU@iv;RGGo3yaeP)48H}TC zg%8Ai0hGCa5J(^Yik!)&vBm3*TejTuX)Ip`JCv<)T*8lc*$JKh7ZyFm86u4~DX;Cc zgwu%x5CUTF)BgT}fo=f(^u=RWuZF2G`Pu*ePfMeK4gx#&TIniERLQxGb&K|Y0tg8; zqT&Uz)}6C%DAMpO>-2Pt^96x#VZN?XV8TAw1%@*q<_e#V8G-b`-+0C;E>cAd$H=D? z2%RN%QVen8#*TWc0gN|!g|+>3QdGM9l955UHb9>K2|SPqr_--Mq%vFvt;- z3`Q`@RNqV%XL5F2BDG1&_UwVQg1?hhJV3QX^p|=VXt_OKx1>`8iwkL+Gs$B&Kp*a} zy_(~yWDD5gxtvowfATEXCguKtzcBStJ$m&8fHDBIRrg)@-#`6#J;h^L7iCBcIpeyq zf7(fXxGwR&{(?TcW^QVe!(`Y)raMsRSeZP(dP(QtgLq;dlkR)TqvDkSQP6AIC!Hmo z7q9Aw_$2;BVadV?lx@UxYnd)mOBm9v+g{N!G>_*#DmQ`>l)DAdmmPLB1dz)br0ZkW zy8dc=&fmeOld$M3DSb83u|Dhtb36PArWzgLYK&+;T1OX2r-KHw88W~+5(OwG%J*Ly zgnQDUcJRWkErZ8xi%^i|j7Rh&V^;HMN_QL9=2tnX2VY~=fFJepzk{$%9Vw&j#w>ag z;}K*-fyHs#)#^>{A52;1R=pL8^xT~vmH#;mqeEtWWnGom`eZkV0z0-we zjoZ0MRvzkgYKdwkA{!AqA1TQgI;x~s~kF(%dn(FZ0mF>qHoJm$ZTch)G4r(R-+ zC-AhDS6)_-{I(5bYx)|kczCX&AUU?Dv$y>C$e)vpXW&@*u#M!dEF8RY35bM*ju(`p z;K*~2MXsXrTO+@mDa5gH-;Pw7^H$?NUE=I=4^X%fqY6$6d+`<(`I0r!`86k>H{9F# zUXeRpfO&S_kdQ(J_0JnaN(xBreJI+eu>ZMePvOrFIL(&29w0ORNpYGBVhMtb1Mtl6{OvioEC4|H$ zo-w5*_}~jH9$*_#fpguu_>^)_EcOeB9{FE%tl8INvegmyzoU=^cpNwcqC`sDsL^P(C{c=TO7~Pdw|fPVBfR{q|BuIPOsNma7Z}|($RTYO zE?f7ajj)Vr#v5(c_&#*~Y+Gw_~6vptkceJ;6#AA4{U*G>m zv(t<}@AbfZth$BsgN{kJUQ4`I*>8>?8Nk=3zX?V%kwLG$-9i|(vVKJ6M`!jwoy^SN z=7FOwD=f^3=ZfV@actpRZtw@(j^+)HNl-gZ~_DmlAr+wcNi?V+b}qU;6q?= zcMb0Du7gVm85jueE`RRbt=+fXx38+Zy8G+XRehdL%byGMWw=ETI*Tc$XIVkYXsCVZ zb4N#6EZ-Qo#uYC<)!0ZG)(v6fHg4C8`jx{nW|IC1!LNG4AeKN2JV#qDHPM>^p6uL0 z>sDt9GR-_j@TKZ>xk9%<^4)$Z0~^cEDs)_gzV9)D&!BehM206+ zh}L?Gb?OHTpUvN2!?8v|DZ5qSjW+&#SXC&6!p~)oR}{k%ir*7xyU`bBw$B6F_y&R* zJGXM)P!sN_x?Fwvcl}Vi*TwZFCLhL}Sy(AkQ-O#tK(cQ5gCw6b$%tTc447{$X@Gt4qYl@?zZo zscT?q>xo+eXXdS%1=jkXdHT!tFWA297sM4v?KP52N58N5zWb-#2Z3ReM_Sjzg<}dnBy|GvI zhgapzrd3&*de)CZ!Oh~tL+K5NMR_+D@kp?5);fS&CFcwMo0!7w7ZNMm>>QDX7GHBZh)p-i`3Cbr6`q-0WzGf< z#>Iu=PybFT)E8et6+C+0Um{ezd0GY1nTz!3uAe@VzZLiSWS*nz{Y{by=d6LAtzeYw zwGFvS3S3>F;Z>G1mx2%JKH*NCZ@aP`q&iJcG&4~6o1Nb+L3zU|_0UwVk)0xSgkcXu^f(UaE9@~0>ztQR=w#`0O zTrZx+vX?#Jxh(CfeYELi=fpfM+DiYH6g-ONCiU95Jhw);kgSl7%Hx3zn2MfYJ5|Yw z%F^3xg*>0(y?JanEA{+m;rFeV-Nv!=!HyviDdGTZA?t?eh+u7t43pT(@|jp?PPQyB z&UIB|@1rjRjZ_2nFuxapx`I^gG<*>)xeBqb*N7X@Gbp)y4Fn=V4BpsuXeVYPhQCe2v)Dpw}5=9o9&dT&sh$KQK(W^O?86exnUfRayql~=x_>%Qb z_eEOB9rl9IlYA9e5VbCk{M;Go+sVSuW;xu(hOTUEsb+QU@N?brZ< zPP!)Lp=FXvUB#uOmpVE?c@_=>uMsh0184t<{R&1E~4kxh&46o=yQvQyO!kDegF!4ilCORdzqdzD7sf@iwmJhn9yIaIg!5Xa@)TbSDB;6 zqE4I*l$1vwtNMi@am@s{^KJg*?NEo|?a-1oX+gLm(0jsb6vuWWVf|KwQuQI$83+&M zr0QwGrj1}v{n+h(d6i)C3w^R{RyeTYaxAo!47T#IG%PLGJ2fl;b zGC<;obp}ZfmWeOoP$`xE&CT5}Qz!C8^h~*uA94@*(M7j1*OQ4Edm3;c0IhdttG>Vv zfS@Q6sPL%p)H0|Z8B9ptnr$JWFEeRvm2dr+S2mc;-%J}1f{kAD_c~cSO@ZQR3rFW0 zy*U$ALMUmoIy82fhQQO#)$NImKA)Ep_w|y*{cbw7@fP2|zL6+!3Wy6se|P65FgAE^ zi)tS>wpE^gak zJ*1)MQQ6l1LI4^O|40P$&tnN7Ha1^W?w>DbTVlPOr5;9=y^@E>BZIZDBHhZS2Imah> z@~IG#=!yi*5(}P>-#a~*gd=+QMTmGtaK!n;*q$)UtdZ|Jnao%mtQ-3+Tj&1 z8ak3WU%N*pRJYo((O|@+o1l{l0Iu$3?Q~?zVmhXT%b9{L{^~DkvORw9qukbtK*wfM z>yg{&mbJUR#+E@x8wro`mJT@$r)Xa_c$?7tM4s8v`ko*+VdZ(k9c{+7gNcsO!=GP@ zhn40Qh@a<&w+xHPXZJ(^;XQ{hJK<51R0fWe5#&qhBM#QKO#%D|-sEQCwMbue(x0H{ zJ()+CxWBQ6urBJv@ZRi+MD04)LHRvF)%p>97xuW7XqAF?R@96;@=*pjV+2Y(%{Z64 zg{$0_pl*FYX#$&WR@}z)XEL*Jm3XjJW9Z zGWc+Z{@B3W4SNt#*;VS~;9FyRv2x`1APF4JgUxSuKoWsIah$SQd-`AZso!9T{eyQ9 z?CSZ*2;W%#i>7EUTpe#<^%-Bc%$u+Iut&k#n+(D^O{HSik~y!P-#(`O02?pL2&Ix$ zlMBH_z{Jc|tO8Wu?qjW3C@tFCYvH#J-Ai_=^+W?&zWWnylWZ6P(~aX_U03R-zXasA zK9-(50i8nv9Yo&Z7Uz?^Hb(|q3Y|lfNk<^7cmjVS9yk(~I6ohN?TEe)JfVqC6(Di; zNwCmU!}ruh-@nnbWH7eDJIj(dIU}zTGSBKpg7>%&o#)yNOwq)xfT8RB2c@-zL(~Q9 zApv8k9vfO;X~M1EENU`MxFq!M(U??^>i^Kq(l5dC)bj7Rg6UAL|H|tI=rH0M*_geq z3eUu}uc74YQU*Q8d&Do0-GoFGJ6g1s95ljIR7<(O0jlI)G z4|m{~-IY+6t%u4ZR6;=AGa&=*A~{}{d51QZ6f3-)bEtgaSN~`w&v2#}ZkUdnT(OA^ z+?0)mVG6qRBslfi4`Tmep;vfbx&HG8=UN?vfTc>*mRSkAOBxTumVF^^<=J!26+%3I zmB7HYDc#=ksWY3(c5p4(%^<9*1PbB>yoL&~-a$gLQsOG6*z|eHV|EE`W!Q99)2jvW z8-ZE##B8-cno^e3DB=#5TeNgS&z0@CsvS}&3xq;+zQSZOws`$(4PIp84J(^dpn8;F zsXIlV?#VSF^qPt9=xBSCjmE0p?Xp`XzQV^CPj2e`Xzg2W}5DI?_2U@Ao;@*`?wD;V`zJxUnhZ;=LweQ`=>{G z_X8*r58bqMt=h)4u=k$woYL7nhhg<*w4$o7-x2ulhcE)6tRIqGTQ)8BLY|M{+i#%M z>p-A6s|kcjf5|f`<7mb}-1yd)lJqV`DqE)^Rlp_P5meqJ(-}-n=VXdwMT@%_R({k; zd0g^{uvjy5`&5EwTc!6|v0N-LHN0MM8_>0Xp*&%iCB`+R<)_>TUAIl-U+<#0OZ`<- zX+$S^{bWM(tnZoE9*qrY9!HKrlKk=~af{He5xc2?P!u&2Nm+B|CMh-a2fq%D)_mPr zuC=L?*w<3{RcLY-*mVX@o=0$hN#RXBq0ZGr!)+aioWlVxrGpWs%~bIGh@b(-fE|1!7HhIq~c1z+TVD*Wm=kWdW-NAF=dNcHHkFjp)qmKg7w$5P< zzHxp;+9uaPBU}a-vwu3fyGgs-A>tpO^Q_PdD=Ms;f#|R7eNzxo-g?Sw%H(m&xFYb_U1pZ(S0zwO*kP2 z3i+>%Zu?wZDqz=#!zK7+49R!XH9;=~o_tM*5qurY6}b+%Jz-Wvq|CVDA?o#$lEazq zlTT#3od;swz9mIeL|>4k!?3K36zcNr+RP1_;Gh7)Pp&_#eKmAEVO~$XUoPsL9$ZCD ze>OkB??8cF-QBeCQ#8g%mAg;pQe>i`qd@l-@h)k0V&y{qR+%z@eS>HxLvXx7%cw)` z>LGr~_|e(@BNApWX4Dp%;wsE zeK)2bp8l^hW-c>lc`;S7mDtZ+40BR8+hhtWZDGeH0=OX0K@;7sr_{*}%tz1BD+0E2 zeRg~AyF(B}7?Zo)w}lp|k~g=9%Njkob$*MIr|>ReY#X~sscLrr@>RkADh`Pd?VGf@ z3mS3wkeRCwN`hRmx~<2n#6g6MFF4qxwFnrg#j4A$Z5OLkB21}j9lc=fEn@5xzqE_N zO#VK;GTT1qq3e&O{DMb+gTwIEBYn&t=E?K?%KhS_d-F_$)y6fv<9PQe0Bz7Er10yv z9iNYA>OaV|VR*1Qnx%_S-Y5zS9W7O1m2oel>D}Qle(u7#c{}U8RE>(Rf z{QublBzjET;J)9O%-FHLfBp;2|L@=b8x%$rcDM|O<9{)y2Z5oOxXYC{Y{)hGC&>R9 zh#~<}{egpMNhc4{$Q0UFjr%n3L9$2>1t&Y8d6rGnMrUMxTCj%wC$Hb#R}SPl@0`#B zyMp^s%7_Q=Uu*h-g^%VqI2MiGjl7kV(l+VUW`@r{5p+%vmQmQu)eipI@WykhY6}Ir zt*4XkdmwEoul;g#;Z`$)>Y>ce*Ni3ea1XIC6@x7GS>=d4T39do3lv1TX{YXDKW5=} z0UpLJIc4?md|r$;kVi>N&xG5mh$fFm576b}+pE}G%u)<0@-o;_9k9nx?z?1DaEi?l zr%9Ys+$q4-oO`P|CrFJhg9`F;SRsU`qJvun*mQ_xwQW~OhL60)Eky4ur=RNnc5Q76 zbsQHUO{=KF$=lU(a`{M6Cr5A@^ErOPOa2Rr;P<2&3!J-kxde-jr7fgTSz1F+od<22 z0+(ZMFx0L3>DZ)^J8i8|XDJHxhaXxy_7d2K>@BVI+PuDklz9`vt92BZ{sq@n>bM^? zUog;cSw+uA-;C8A&=5OXxa$Tk$y->^MlBTRp-dODXWrNci*}5%*RJ8DRGzysy;i)p zv5-(*&}vkHK5u2u^U1BWo7T+?s<*F%nS|_(WF`fD1=I|1fe5Kf3UeJg*omEh@x)b? zy}#6R>^fo%pCbmRO#-^tbD=gpLXuJ-J(F2*+$f!BQTBqgA_U{?dqzZ5ft_M>%hl<6 z)Sp`6s$@f66p;imJdLrw?+o%{+O_OsIG>#i+Mx7VLXZ!+OF4BpYvej{Y-7ExN5kqY zcWIg`rJ6c2omTNCCBlLDKNTUhV~%k*ckL3isopY6&yz4Znk(zRlhQtR=7s06z)_tJ zA0(2XUTz)5BPH#Gcm1yd-TbKSt;p?C3r3y}ZOb_r?ECQrGXe4MQ6tJYQGcYq=y!H2 zvM|?b_2MX*Zj33QtrlU&C5Mi;HqNfzR7uev`BZGCl9=p+l|X-=9q~qvu}L_`5-O(A z{XQivf^2z$CPb-rnix2EBjgo;CMb8)3UY0*Ysq~5{En}mQ(SqO$85$y&~`DOQLcoB+UQ_v63sC) zewy&oo|z1(`{t0pBM8i>T(?aS+M4XIg0+$hJ&?{jQNW-@XC}DEu$lCJgUPdFu}Q9w zXT|nCH`h|I{rkb{@4KwF*na%h8tFYA@Pk}lMDO!}Glq)pPxRNaIlnns>5Fhhwh^hQ z`C=7`rD|h)AJAEiQvlOen5Hg=TkoH}|(s z88guDw8K@AA8CX(o?8;zjuV&wEv~Nt5Pzu?=K;HqIIMjh5YN$XTI7_2a@2h~e{ z*-9wY+~5pqBfwpq0?h{6kLNwNGfbCFFv&tiPo>y326>)+ZAg`4p;Uu8CTSMXQlSW^ zasQx)p^x`uT09s&B*e<%n_d_}rUqp(5`M-3U}lkI+zTFfkcbhjalk$0iww z#Ynxxs`ug>!ata-ochEaD3i)%wPxffFn#0YFt-R$V7t+hQhhj06iYHI9WALT*{wrN z_hCO58X;=1!6ah+R%Wv~>olr>R8|6V4*Lr4GA!$XMq)LwN6_&`su%J?M^8y3F_M4z z9rCH+KPk3+kBV#dV0YYA!A3ROtClEeXWbJyb??yC%c~exnn-?bBk5A1p3YE~8kWkNu@$+A4T>Q6@qkHOQ zN|dE!4Z6F{J_RTrHfn0m7u0E~0V*u8bKZ|O{@J~0 zzSO0NZ2vfh_P2c8amEX_9T6V_+7dDU?ZEe!+(BX4$rpB8T=?#I9n+Kmr4`usX3Q0* zsVYbU6rfZF=(Uout@8YFGdYIJ{Wvisr*Yj|$!FeE!w>^3>rqM>y63 zvD?d{k0g}AWC#N&y)8-t3{hId@C}LVX6h!g?PlUIgb~VoCpJ`|pVgeg`e$dkndD^G z;DD(Ab8c8Pu&+{nkv?~d2~h66>u)3{%oj#@!8-=klmW6Qn9ND83=1=2$i)BBaJXkA hYQ7@;&$HadiZ^|NpN=W$zx?7q%qNRS@!^Hye*i}iX8r&G literal 0 HcmV?d00001 diff --git a/gitbook/gitbook-plugin-back-to-top-button/plugin.css b/gitbook/gitbook-plugin-back-to-top-button/plugin.css new file mode 100644 index 0000000..a418cbb --- /dev/null +++ b/gitbook/gitbook-plugin-back-to-top-button/plugin.css @@ -0,0 +1,55 @@ +.back-to-top { + position: fixed; + bottom: 25px; + right: 25px; + background: rgba(0, 0, 0, 0.5); + width: 50px; + height: 50px; + display: block; + text-decoration: none; + -webkit-border-radius: 35px; + -moz-border-radius: 35px; + border-radius: 35px; + display: none; +} +.back-to-top i { + color: #fff; + margin: 0; + position: relative; + left: 15px; + top: 14px; + font-size: 22px; +} +.back-to-top:hover { + background: rgba(0, 0, 0, 0.9); + cursor: pointer; +} +.book.color-theme-1 .back-to-top { + background: rgba(112, 66, 20, 0.5); +} +.book.color-theme-1 .back-to-top i { + color: #f3eacb; +} +.book.color-theme-1 .back-to-top:hover { + background: rgba(112, 66, 20, 0.9); +} +.book.color-theme-2 .back-to-top { + background: rgba(189, 202, 219, 0.5); +} +.book.color-theme-2 .back-to-top i { + color: #1C1F2B; +} +.book.color-theme-2 .back-to-top:hover { + background: rgba(189, 202, 219, 0.9); +} + +@media only screen + and (min-device-width: 320px) + and (max-device-width: 480px) + and (-webkit-min-device-pixel-ratio: 2) + and (orientation: portrait) { + .back-to-top { + bottom: 10px; + right: 10px; + } +} \ No newline at end of file diff --git a/gitbook/gitbook-plugin-back-to-top-button/plugin.js b/gitbook/gitbook-plugin-back-to-top-button/plugin.js new file mode 100644 index 0000000..abd3523 --- /dev/null +++ b/gitbook/gitbook-plugin-back-to-top-button/plugin.js @@ -0,0 +1,25 @@ +var gitbook = window.gitbook; + +gitbook.events.on('page.change', function() { + + var back_to_top_button = ['

'].join(""); + $(".book").append(back_to_top_button) + + $(".back-to-top").hide(); + + $('.book-body,.body-inner').on('scroll', function () { + if ($(this).scrollTop() > 100) { + $('.back-to-top').fadeIn(); + } else { + $('.back-to-top').fadeOut(); + } + }); + + $('.back-to-top').click(function () { + $('.book-body,.body-inner').animate({ + scrollTop: 0 + }, 800); + return false; + }); + +}); diff --git a/gitbook/gitbook-plugin-edit-link/plugin.js b/gitbook/gitbook-plugin-edit-link/plugin.js new file mode 100644 index 0000000..32f3494 --- /dev/null +++ b/gitbook/gitbook-plugin-edit-link/plugin.js @@ -0,0 +1,30 @@ +require(["gitbook", "jQuery"], function(gitbook, $) { + gitbook.events.bind('start', function (e, config) { + var conf = config['edit-link']; + var label = conf.label; + var base = conf.base; + var lang = gitbook.state.innerLanguage; + if (lang) { + // label can be a unique string for multi-languages site + if (typeof label === 'object') label = label[lang]; + + lang = lang + '/'; + } + + // Add slash at the end if not present + if (base.slice(-1) != "/") { + base = base + "/"; + } + + gitbook.toolbar.createButton({ + icon: 'fa fa-edit', + text: label, + onClick: function() { + var filepath = gitbook.state.filepath; + + window.open(base + lang + filepath); + } + }); + }); + +}); \ No newline at end of file diff --git a/gitbook/gitbook-plugin-fontsettings/buttons.js b/gitbook/gitbook-plugin-fontsettings/buttons.js new file mode 100644 index 0000000..4fa4c61 --- /dev/null +++ b/gitbook/gitbook-plugin-fontsettings/buttons.js @@ -0,0 +1,151 @@ +require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) { + var fontState; + + var THEMES = { + "white": 0, + "sepia": 1, + "night": 2 + }; + + var FAMILY = { + "serif": 0, + "sans": 1 + }; + + // Save current font settings + function saveFontSettings() { + gitbook.storage.set("fontState", fontState); + update(); + } + + // Increase font size + function enlargeFontSize(e) { + e.preventDefault(); + if (fontState.size >= 4) return; + + fontState.size++; + saveFontSettings(); + }; + + // Decrease font size + function reduceFontSize(e) { + e.preventDefault(); + if (fontState.size <= 0) return; + + fontState.size--; + saveFontSettings(); + }; + + // Change font family + function changeFontFamily(index, e) { + e.preventDefault(); + + fontState.family = index; + saveFontSettings(); + }; + + // Change type of color + function changeColorTheme(index, e) { + e.preventDefault(); + + var $book = $(".book"); + + if (fontState.theme !== 0) + $book.removeClass("color-theme-"+fontState.theme); + + fontState.theme = index; + if (fontState.theme !== 0) + $book.addClass("color-theme-"+fontState.theme); + + saveFontSettings(); + }; + + function update() { + var $book = gitbook.state.$book; + + $(".font-settings .font-family-list li").removeClass("active"); + $(".font-settings .font-family-list li:nth-child("+(fontState.family+1)+")").addClass("active"); + + $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); + $book.addClass("font-size-"+fontState.size); + $book.addClass("font-family-"+fontState.family); + + if(fontState.theme !== 0) { + $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); + $book.addClass("color-theme-"+fontState.theme); + } + }; + + function init(config) { + var $bookBody, $book; + + //Find DOM elements. + $book = gitbook.state.$book; + $bookBody = $book.find(".book-body"); + + // Instantiate font state object + fontState = gitbook.storage.get("fontState", { + size: config.size || 2, + family: FAMILY[config.family || "sans"], + theme: THEMES[config.theme || "white"] + }); + + update(); + }; + + + gitbook.events.bind("start", function(e, config) { + var opts = config.fontsettings; + + // Create buttons in toolbar + gitbook.toolbar.createButton({ + icon: 'fa fa-font', + label: 'Font Settings', + className: 'font-settings', + dropdown: [ + [ + { + text: 'A', + className: 'font-reduce', + onClick: reduceFontSize + }, + { + text: 'A', + className: 'font-enlarge', + onClick: enlargeFontSize + } + ], + [ + { + text: 'Serif', + onClick: _.partial(changeFontFamily, 0) + }, + { + text: 'Sans', + onClick: _.partial(changeFontFamily, 1) + } + ], + [ + { + text: 'White', + onClick: _.partial(changeColorTheme, 0) + }, + { + text: 'Sepia', + onClick: _.partial(changeColorTheme, 1) + }, + { + text: 'Night', + onClick: _.partial(changeColorTheme, 2) + } + ] + ] + }); + + + // Init current settings + init(opts); + }); +}); + + diff --git a/gitbook/gitbook-plugin-fontsettings/website.css b/gitbook/gitbook-plugin-fontsettings/website.css new file mode 100644 index 0000000..26591fe --- /dev/null +++ b/gitbook/gitbook-plugin-fontsettings/website.css @@ -0,0 +1,291 @@ +/* + * Theme 1 + */ +.color-theme-1 .dropdown-menu { + background-color: #111111; + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #111111; +} +.color-theme-1 .dropdown-menu .buttons { + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .button { + color: #afa790; +} +.color-theme-1 .dropdown-menu .button:hover { + color: #73553c; +} +/* + * Theme 2 + */ +.color-theme-2 .dropdown-menu { + background-color: #2d3143; + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #2d3143; +} +.color-theme-2 .dropdown-menu .buttons { + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .button { + color: #62677f; +} +.color-theme-2 .dropdown-menu .button:hover { + color: #f4f4f5; +} +.book .book-header .font-settings .font-enlarge { + line-height: 30px; + font-size: 1.4em; +} +.book .book-header .font-settings .font-reduce { + line-height: 30px; + font-size: 1em; +} +.book.color-theme-1 .book-body { + color: #704214; + background: #f3eacb; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section { + background: #f3eacb; +} +.book.color-theme-2 .book-body { + color: #bdcadb; + background: #1c1f2b; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section { + background: #1c1f2b; +} +.book.font-size-0 .book-body .page-inner section { + font-size: 1.2rem; +} +.book.font-size-1 .book-body .page-inner section { + font-size: 1.4rem; +} +.book.font-size-2 .book-body .page-inner section { + font-size: 1.6rem; +} +.book.font-size-3 .book-body .page-inner section { + font-size: 2.2rem; +} +.book.font-size-4 .book-body .page-inner section { + font-size: 4rem; +} +.book.font-family-0 { + font-family: Georgia, serif; +} +.book.font-family-1 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal { + color: #704214; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + background: #fdf6e3; + color: #657b83; + border-color: #f8df9c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #f5d06c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr { + color: inherit; + background-color: #fdf6e3; + border-color: #444444; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #fbeecb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { + color: #bdcadb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a { + color: #3eb1d0; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #fffffa; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr { + background-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + color: #9dbed8; + background: #2d3143; + border-color: #2d3143; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: #282a39; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { + color: #b6c2d2; + background-color: #2d3143; + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #35394b; +} +.book.color-theme-1 .book-header { + color: #afa790; + background: transparent; +} +.book.color-theme-1 .book-header .btn { + color: #afa790; +} +.book.color-theme-1 .book-header .btn:hover { + color: #73553c; + background: none; +} +.book.color-theme-1 .book-header h1 { + color: #704214; +} +.book.color-theme-2 .book-header { + color: #7e888b; + background: transparent; +} +.book.color-theme-2 .book-header .btn { + color: #3b3f54; +} +.book.color-theme-2 .book-header .btn:hover { + color: #fffff5; + background: none; +} +.book.color-theme-2 .book-header h1 { + color: #bdcadb; +} +.book.color-theme-1 .book-body .navigation { + color: #afa790; +} +.book.color-theme-1 .book-body .navigation:hover { + color: #73553c; +} +.book.color-theme-2 .book-body .navigation { + color: #383f52; +} +.book.color-theme-2 .book-body .navigation:hover { + color: #fffff5; +} +/* + * Theme 1 + */ +.book.color-theme-1 .book-summary { + color: #afa790; + background: #111111; + border-right: 1px solid rgba(0, 0, 0, 0.07); +} +.book.color-theme-1 .book-summary .book-search { + background: transparent; +} +.book.color-theme-1 .book-summary .book-search input, +.book.color-theme-1 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-1 .book-summary ul.summary li.divider { + background: #7e888b; + box-shadow: none; +} +.book.color-theme-1 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-1 .book-summary ul.summary li.done > a { + color: #877f6a; +} +.book.color-theme-1 .book-summary ul.summary li a, +.book.color-theme-1 .book-summary ul.summary li span { + color: #877f6a; + background: transparent; + font-weight: normal; +} +.book.color-theme-1 .book-summary ul.summary li.active > a, +.book.color-theme-1 .book-summary ul.summary li a:hover { + color: #704214; + background: transparent; + font-weight: normal; +} +/* + * Theme 2 + */ +.book.color-theme-2 .book-summary { + color: #bcc1d2; + background: #2d3143; + border-right: none; +} +.book.color-theme-2 .book-summary .book-search { + background: transparent; +} +.book.color-theme-2 .book-summary .book-search input, +.book.color-theme-2 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-2 .book-summary ul.summary li.divider { + background: #272a3a; + box-shadow: none; +} +.book.color-theme-2 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-2 .book-summary ul.summary li.done > a { + color: #62687f; +} +.book.color-theme-2 .book-summary ul.summary li a, +.book.color-theme-2 .book-summary ul.summary li span { + color: #c1c6d7; + background: transparent; + font-weight: 600; +} +.book.color-theme-2 .book-summary ul.summary li.active > a, +.book.color-theme-2 .book-summary ul.summary li a:hover { + color: #f4f4f5; + background: #252737; + font-weight: 600; +} diff --git a/gitbook/gitbook-plugin-github-buttons/plugin.js b/gitbook/gitbook-plugin-github-buttons/plugin.js new file mode 100644 index 0000000..819d319 --- /dev/null +++ b/gitbook/gitbook-plugin-github-buttons/plugin.js @@ -0,0 +1,91 @@ +// LICENSE : MIT +"use strict"; + +var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })(); + +require(['gitbook'], function (gitbook) { + function addBeforeHeader(element) { + jQuery('.book-header > h1').before(element); + } + + function createButton(_ref) { + var user = _ref.user; + var repo = _ref.repo; + var type = _ref.type; + var size = _ref.size; + var width = _ref.width; + var height = _ref.height; + var count = _ref.count; + + var extraParam = type === "watch" ? "&v=2" : ""; + return '\n \n '; + } + + function insertGitHubLink(_ref2) { + var user = _ref2.user; + var repo = _ref2.repo; + var types = _ref2.types; + var size = _ref2.size; + var width = _ref2.width; + var height = _ref2.height; + var count = _ref2.count; + + types.reverse().forEach(function (type) { + var elementString = createButton({ + user: user, + repo: repo, + type: type, + size: size, + width: width, + height: height, + count: count + }); + addBeforeHeader(elementString); + }); + } + + function init(config) { + var repoPath = config.repo; + + var _repoPath$split = repoPath.split("/"); + + var _repoPath$split2 = _slicedToArray(_repoPath$split, 2); + + var user = _repoPath$split2[0]; + var repo = _repoPath$split2[1]; + + if (repoPath == null) { + console.log("Should set github.repo"); + return; + } + var types = config.types || ["star", "watch"]; + var size = config.size || "large"; + var width = config.width || (size === "large" ? "150" : "100"); + var height = config.height || (size === "large" ? "30" : "20"); + var count = typeof config.count === "undefined" ? "true" : "false"; + insertGitHubLink({ + user: user, + repo: repo, + types: types, + size: size, + width: width, + height: height, + count: count + }); + } + + // injected by html hook + function getPluginConfig() { + return window["gitbook-plugin-github-buttons"]; + } + + // make sure configuration gets injected + gitbook.events.bind('start', function (e, config) { + window["gitbook-plugin-github-buttons"] = config["github-buttons"]; + }); + + gitbook.events.bind('page.change', function () { + init(getPluginConfig()); + }); +}); +//# sourceMappingURL=plugin.js.map \ No newline at end of file diff --git a/gitbook/gitbook-plugin-github-buttons/plugin.js.map b/gitbook/gitbook-plugin-github-buttons/plugin.js.map new file mode 100644 index 0000000..a46db50 --- /dev/null +++ b/gitbook/gitbook-plugin-github-buttons/plugin.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/plugin.js"],"names":[],"mappings":"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","file":"plugin.js","sourcesContent":["// LICENSE : MIT\n\"use strict\";\nrequire(['gitbook'], function (gitbook) {\n function addBeforeHeader(element) {\n jQuery('.book-header > h1').before(element)\n }\n\n function createButton({\n user,\n repo,\n type,\n size,\n width,\n height,\n count\n }) {\n var extraParam = type === \"watch\" ? \"&v=2\" : \"\";\n return `\n \n `;\n }\n\n\n function insertGitHubLink({\n user,\n repo,\n types,\n size,\n width,\n height,\n count\n }) {\n types.reverse().forEach(type => {\n var elementString = createButton({\n user,\n repo,\n type,\n size,\n width,\n height,\n count\n });\n addBeforeHeader(elementString);\n });\n }\n\n function init(config) {\n var repoPath = config.repo;\n var [user, repo] = repoPath.split(\"/\");\n if (repoPath == null) {\n console.log(\"Should set github.repo\");\n return;\n }\n var types = config.types || [\"star\", \"watch\"];\n var size = config.size || \"large\";\n var width = config.width || (size === \"large\" ? \"150\" : \"100\");\n var height = config.height || (size === \"large\" ? \"30\" : \"20\");\n var count = typeof config.count === \"undefined\" ? \"true\" : \"false\";\n insertGitHubLink({\n user,\n repo,\n types,\n size,\n width,\n height,\n count\n });\n }\n\n // injected by html hook\n function getPluginConfig() {\n return window[\"gitbook-plugin-github-buttons\"];\n }\n\n // make sure configuration gets injected\n gitbook.events.bind('start', function (e, config) {\n window[\"gitbook-plugin-github-buttons\"] = config[\"github-buttons\"];\n });\n\n gitbook.events.bind('page.change', function () {\n init(getPluginConfig());\n });\n});\n"]} \ No newline at end of file diff --git a/gitbook/gitbook-plugin-github/plugin.js b/gitbook/gitbook-plugin-github/plugin.js new file mode 100644 index 0000000..14810ce --- /dev/null +++ b/gitbook/gitbook-plugin-github/plugin.js @@ -0,0 +1,14 @@ +require([ 'gitbook' ], function (gitbook) { + gitbook.events.bind('start', function (e, config) { + var githubURL = config.github.url; + + gitbook.toolbar.createButton({ + icon: 'fa fa-github', + label: 'GitHub', + position: 'right', + onClick: function() { + window.open(githubURL) + } + }); + }); +}); diff --git a/gitbook/gitbook-plugin-highlight/ebook.css b/gitbook/gitbook-plugin-highlight/ebook.css new file mode 100644 index 0000000..3779bae --- /dev/null +++ b/gitbook/gitbook-plugin-highlight/ebook.css @@ -0,0 +1,131 @@ +pre, +code { + /* http://jmblog.github.io/color-themes-for-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +pre .hljs-comment, +code .hljs-comment, +pre .hljs-title, +code .hljs-title { + color: #8e908c; +} +pre .hljs-variable, +code .hljs-variable, +pre .hljs-attribute, +code .hljs-attribute, +pre .hljs-tag, +code .hljs-tag, +pre .hljs-regexp, +code .hljs-regexp, +pre .ruby .hljs-constant, +code .ruby .hljs-constant, +pre .xml .hljs-tag .hljs-title, +code .xml .hljs-tag .hljs-title, +pre .xml .hljs-pi, +code .xml .hljs-pi, +pre .xml .hljs-doctype, +code .xml .hljs-doctype, +pre .html .hljs-doctype, +code .html .hljs-doctype, +pre .css .hljs-id, +code .css .hljs-id, +pre .css .hljs-class, +code .css .hljs-class, +pre .css .hljs-pseudo, +code .css .hljs-pseudo { + color: #c82829; +} +pre .hljs-number, +code .hljs-number, +pre .hljs-preprocessor, +code .hljs-preprocessor, +pre .hljs-pragma, +code .hljs-pragma, +pre .hljs-built_in, +code .hljs-built_in, +pre .hljs-literal, +code .hljs-literal, +pre .hljs-params, +code .hljs-params, +pre .hljs-constant, +code .hljs-constant { + color: #f5871f; +} +pre .ruby .hljs-class .hljs-title, +code .ruby .hljs-class .hljs-title, +pre .css .hljs-rules .hljs-attribute, +code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +pre .hljs-string, +code .hljs-string, +pre .hljs-value, +code .hljs-value, +pre .hljs-inheritance, +code .hljs-inheritance, +pre .hljs-header, +code .hljs-header, +pre .ruby .hljs-symbol, +code .ruby .hljs-symbol, +pre .xml .hljs-cdata, +code .xml .hljs-cdata { + color: #718c00; +} +pre .css .hljs-hexcolor, +code .css .hljs-hexcolor { + color: #3e999f; +} +pre .hljs-function, +code .hljs-function, +pre .python .hljs-decorator, +code .python .hljs-decorator, +pre .python .hljs-title, +code .python .hljs-title, +pre .ruby .hljs-function .hljs-title, +code .ruby .hljs-function .hljs-title, +pre .ruby .hljs-title .hljs-keyword, +code .ruby .hljs-title .hljs-keyword, +pre .perl .hljs-sub, +code .perl .hljs-sub, +pre .javascript .hljs-title, +code .javascript .hljs-title, +pre .coffeescript .hljs-title, +code .coffeescript .hljs-title { + color: #4271ae; +} +pre .hljs-keyword, +code .hljs-keyword, +pre .javascript .hljs-function, +code .javascript .hljs-function { + color: #8959a8; +} +pre .hljs, +code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +pre .coffeescript .javascript, +code .coffeescript .javascript, +pre .javascript .xml, +code .javascript .xml, +pre .tex .hljs-formula, +code .tex .hljs-formula, +pre .xml .javascript, +code .xml .javascript, +pre .xml .vbscript, +code .xml .vbscript, +pre .xml .css, +code .xml .css, +pre .xml .hljs-cdata, +code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/gitbook/gitbook-plugin-highlight/website.css b/gitbook/gitbook-plugin-highlight/website.css new file mode 100644 index 0000000..2aabd3d --- /dev/null +++ b/gitbook/gitbook-plugin-highlight/website.css @@ -0,0 +1,426 @@ +.book .book-body .page-wrapper .page-inner section.normal pre, +.book .book-body .page-wrapper .page-inner section.normal code { + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #8e908c; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #c82829; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #f5871f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #718c00; +} +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #3e999f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #4271ae; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #8959a8; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + /* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + /* Solarized Green */ + /* Solarized Cyan */ + /* Solarized Blue */ + /* Solarized Yellow */ + /* Solarized Orange */ + /* Solarized Red */ + /* Solarized Violet */ +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc { + color: #93a1a1; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title { + color: #859900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url { + color: #2aa198; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function { + color: #268bd2; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference { + color: #b58900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header { + color: #cb4b16; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important { + color: #dc322f; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label { + color: #6c71c4; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula { + background: #eee8d5; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + /* Tomorrow Night Bright Theme */ + /* Original theme - https://github.com/chriskempson/tomorrow-theme */ + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #969896; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #d54e53; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #e78c45; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #e7c547; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #b9ca4a; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #70c0b1; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #7aa6da; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #c397d8; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: black; + color: #eaeaea; + padding: 0.5em; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/gitbook/gitbook-plugin-lunr/lunr.min.js b/gitbook/gitbook-plugin-lunr/lunr.min.js new file mode 100644 index 0000000..6aa6bc7 --- /dev/null +++ b/gitbook/gitbook-plugin-lunr/lunr.min.js @@ -0,0 +1,7 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12 + * Copyright (C) 2015 Oliver Nightingale + * MIT Licensed + * @license + */ +!function(){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.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=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.registeredFunctions[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._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n 0) && (_maxTocDepth >= 1)) { + tocArray[tocArray.length-1].children.push({ + name: header.text(), + url: headerId, + children: [] + }); + tocSize++; + }; + break; + case "H3": + if ((tocArray.length > 0) && (_maxTocDepth >= 2)) { + if (tocArray[tocArray.length-1].children.length > 0) { + tocArray[tocArray.length-1].children[tocArray[tocArray.length-1].children.length-1].children.push({ + name: header.text(), + url: headerId, + children: [] + }); + tocSize++; + }; + }; + break; + default: + break; + } + } + }; + + // Cancel if not enough headers to show + if ((tocSize == 0) || (tocSize < _minTocSize)) { + return; + } + + // Generate html for button and menu + var html = "
"; + + // Append generated html to page + $(".book").append(html) + +}); diff --git a/gitbook/gitbook-plugin-prism/prism-coy.css b/gitbook/gitbook-plugin-prism/prism-coy.css new file mode 100644 index 0000000..5118dca --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism-coy.css @@ -0,0 +1,226 @@ +/** + * prism.js Coy theme for JavaScript, CoffeeScript, CSS and HTML + * Based on https://github.com/tshedor/workshop-wp-theme (Example: http://workshop.kansan.com/category/sessions/basics or http://workshop.timshedor.com/category/sessions/basics); + * @author Tim Shedor + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + position: relative; + margin: .5em 0; + overflow: visible; + padding: 0; +} +pre[class*="language-"]>code { + position: relative; + border-left: 10px solid #358ccb; + box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf; + background-color: #fdfdfd; + background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%); + background-size: 3em 3em; + background-origin: content-box; + background-attachment: local; +} + +code[class*="language"] { + max-height: inherit; + height: inherit; + padding: 0 1em; + display: block; + overflow: auto; +} + +/* Margin bottom to accommodate shadow */ +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background-color: #fdfdfd; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 1em; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + position: relative; + padding: .2em; + border-radius: 0.3em; + color: #c92c2c; + border: 1px solid rgba(0, 0, 0, 0.1); + display: inline; + white-space: normal; +} + +pre[class*="language-"]:before, +pre[class*="language-"]:after { + content: ''; + z-index: -2; + display: block; + position: absolute; + bottom: 0.75em; + left: 0.18em; + width: 40%; + height: 20%; + max-height: 13em; + box-shadow: 0px 13px 8px #979797; + -webkit-transform: rotate(-2deg); + -moz-transform: rotate(-2deg); + -ms-transform: rotate(-2deg); + -o-transform: rotate(-2deg); + transform: rotate(-2deg); +} + +:not(pre) > code[class*="language-"]:after, +pre[class*="language-"]:after { + right: 0.75em; + left: auto; + -webkit-transform: rotate(2deg); + -moz-transform: rotate(2deg); + -ms-transform: rotate(2deg); + -o-transform: rotate(2deg); + transform: rotate(2deg); +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7D8B99; +} + +.token.punctuation { + color: #5F6364; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.function-name, +.token.constant, +.token.symbol, +.token.deleted { + color: #c92c2c; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.function, +.token.builtin, +.token.inserted { + color: #2f9c0a; +} + +.token.operator, +.token.entity, +.token.url, +.token.variable { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.atrule, +.token.attr-value, +.token.keyword, +.token.class-name { + color: #1990b8; +} + +.token.regex, +.token.important { + color: #e90; +} + +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.important { + font-weight: normal; +} + +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.namespace { + opacity: .7; +} + +@media screen and (max-width: 767px) { + pre[class*="language-"]:before, + pre[class*="language-"]:after { + bottom: 14px; + box-shadow: none; + } + +} + +/* Plugin styles */ +.token.tab:not(:empty):before, +.token.cr:before, +.token.lf:before { + color: #e0d7d1; +} + +/* Plugin styles: Line Numbers */ +pre[class*="language-"].line-numbers.line-numbers { + padding-left: 0; +} + +pre[class*="language-"].line-numbers.line-numbers code { + padding-left: 3.8em; +} + +pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows { + left: 0; +} + +/* Plugin styles: Line Highlight */ +pre[class*="language-"][data-line] { + padding-top: 0; + padding-bottom: 0; + padding-left: 0; +} +pre[data-line] code { + position: relative; + padding-left: 4em; +} +pre .line-highlight { + margin-top: 0; +} diff --git a/gitbook/gitbook-plugin-prism/prism-dark.css b/gitbook/gitbook-plugin-prism/prism-dark.css new file mode 100644 index 0000000..73387bf --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism-dark.css @@ -0,0 +1,129 @@ +/** + * prism.js Dark theme for JavaScript, CSS and HTML + * Based on the slides of the talk “/Reg(exp){2}lained/” + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: white; + background: none; + text-shadow: 0 -.1em .2em black; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + background: hsl(30, 20%, 25%); +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border: .3em solid hsl(30, 20%, 40%); + border-radius: .5em; + box-shadow: 1px 1px .5em black inset; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .15em .2em .05em; + border-radius: .3em; + border: .13em solid hsl(30, 20%, 40%); + box-shadow: 1px 1px .3em -.1em black inset; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: hsl(30, 20%, 50%); +} + +.token.punctuation { + opacity: .7; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol { + color: hsl(350, 40%, 70%); +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: hsl(75, 70%, 60%); +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: hsl(40, 90%, 60%); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: hsl(350, 40%, 70%); +} + +.token.regex, +.token.important { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.deleted { + color: red; +} diff --git a/gitbook/gitbook-plugin-prism/prism-funky.css b/gitbook/gitbook-plugin-prism/prism-funky.css new file mode 100644 index 0000000..2eda0b0 --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism-funky.css @@ -0,0 +1,117 @@ +/** + * prism.js Funky theme + * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/ + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: .4em .8em; + margin: .5em 0; + overflow: auto; + background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); + background-size: 1em 1em; +} + +code[class*="language-"] { + background: black; + color: white; + box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .2em; + border-radius: .3em; + box-shadow: none; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #aaa; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol { + color: #0cf; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin { + color: yellow; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.toke.variable, +.token.inserted { + color: yellowgreen; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: deeppink; +} + +.token.regex, +.token.important { + color: orange; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.deleted { + color: red; +} diff --git a/gitbook/gitbook-plugin-prism/prism-okaidia.css b/gitbook/gitbook-plugin-prism/prism-okaidia.css new file mode 100644 index 0000000..767417b --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism-okaidia.css @@ -0,0 +1,123 @@ +/** + * okaidia theme for JavaScript, CSS and HTML + * Loosely based on Monokai textmate theme by http://www.monokai.nl/ + * @author ocodia + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #272822; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #f92672; +} + +.token.boolean, +.token.number { + color: #ae81ff; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #a6e22e; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #e6db74; +} + +.token.keyword { + color: #66d9ef; +} + +.token.regex, +.token.important { + color: #fd971f; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/gitbook/gitbook-plugin-prism/prism-solarizedlight.css b/gitbook/gitbook-plugin-prism/prism-solarizedlight.css new file mode 100644 index 0000000..6c4715e --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism-solarizedlight.css @@ -0,0 +1,150 @@ +/* + Solarized Color Schemes originally by Ethan Schoonover + http://ethanschoonover.com/solarized + + Ported for PrismJS by Hector Matos + Website: https://krakendev.io + Twitter Handle: https://twitter.com/allonsykraken) +*/ + +/* +SOLARIZED HEX +--------- ------- +base03 #002b36 +base02 #073642 +base01 #586e75 +base00 #657b83 +base0 #839496 +base1 #93a1a1 +base2 #eee8d5 +base3 #fdf6e3 +yellow #b58900 +orange #cb4b16 +red #dc322f +magenta #d33682 +violet #6c71c4 +blue #268bd2 +cyan #2aa198 +green #859900 +*/ + +code[class*="language-"], +pre[class*="language-"] { + color: #657b83; /* base00 */ + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + background: #073642; /* base02 */ +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + background: #073642; /* base02 */ +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background-color: #fdf6e3; /* base3 */ +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #93a1a1; /* base1 */ +} + +.token.punctuation { + color: #586e75; /* base01 */ +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #268bd2; /* blue */ +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.url, +.token.inserted { + color: #2aa198; /* cyan */ +} + +.token.entity { + color: #657b83; /* base00 */ + background: #eee8d5; /* base2 */ +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #859900; /* green */ +} + +.token.function, +.token.class-name { + color: #b58900; /* yellow */ +} + +.token.regex, +.token.important, +.token.variable { + color: #cb4b16; /* orange */ +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/gitbook/gitbook-plugin-prism/prism-tomorrow.css b/gitbook/gitbook-plugin-prism/prism-tomorrow.css new file mode 100644 index 0000000..a0eeff0 --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism-tomorrow.css @@ -0,0 +1,122 @@ +/** + * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML + * Based on https://github.com/chriskempson/tomorrow-theme + * @author Rose Pritchard + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #ccc; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #2d2d2d; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999; +} + +.token.punctuation { + color: #ccc; +} + +.token.tag, +.token.attr-name, +.token.namespace, +.token.deleted { + color: #e2777a; +} + +.token.function-name { + color: #6196cc; +} + +.token.boolean, +.token.number, +.token.function { + color: #f08d49; +} + +.token.property, +.token.class-name, +.token.constant, +.token.symbol { + color: #f8c555; +} + +.token.selector, +.token.important, +.token.atrule, +.token.keyword, +.token.builtin { + color: #cc99cd; +} + +.token.string, +.token.char, +.token.attr-value, +.token.regex, +.token.variable { + color: #7ec699; +} + +.token.operator, +.token.entity, +.token.url { + color: #67cdcc; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.inserted { + color: green; +} diff --git a/gitbook/gitbook-plugin-prism/prism-twilight.css b/gitbook/gitbook-plugin-prism/prism-twilight.css new file mode 100644 index 0000000..662df42 --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism-twilight.css @@ -0,0 +1,199 @@ +/** + * prism.js Twilight theme + * Based (more or less) on the Twilight theme originally of Textmate fame. + * @author Remy Bach + */ +code[class*="language-"], +pre[class*="language-"] { + color: white; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + text-shadow: 0 -.1em .2em black; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + background: hsl(0, 0%, 8%); /* #141414 */ +} + +/* Code blocks */ +pre[class*="language-"] { + border-radius: .5em; + border: .3em solid hsl(0, 0%, 33%); /* #282A2B */ + box-shadow: 1px 1px .5em black inset; + margin: .5em 0; + overflow: auto; + padding: 1em; +} + +pre[class*="language-"]::-moz-selection { + /* Firefox */ + background: hsl(200, 4%, 16%); /* #282A2B */ +} + +pre[class*="language-"]::selection { + /* Safari */ + background: hsl(200, 4%, 16%); /* #282A2B */ +} + +/* Text Selection colour */ +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */ +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */ +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + border-radius: .3em; + border: .13em solid hsl(0, 0%, 33%); /* #545454 */ + box-shadow: 1px 1px .3em -.1em black inset; + padding: .15em .2em .05em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: hsl(0, 0%, 47%); /* #777777 */ +} + +.token.punctuation { + opacity: .7; +} + +.namespace { + opacity: .7; +} + +.token.tag, +.token.boolean, +.token.number, +.token.deleted { + color: hsl(14, 58%, 55%); /* #CF6A4C */ +} + +.token.keyword, +.token.property, +.token.selector, +.token.constant, +.token.symbol, +.token.builtin { + color: hsl(53, 89%, 79%); /* #F9EE98 */ +} + +.token.attr-name, +.token.attr-value, +.token.string, +.token.char, +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable, +.token.inserted { + color: hsl(76, 21%, 52%); /* #8F9D6A */ +} + +.token.atrule { + color: hsl(218, 22%, 55%); /* #7587A6 */ +} + +.token.regex, +.token.important { + color: hsl(42, 75%, 65%); /* #E9C062 */ +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +pre[data-line] { + padding: 1em 0 1em 3em; + position: relative; +} + +/* Markup */ +.language-markup .token.tag, +.language-markup .token.attr-name, +.language-markup .token.punctuation { + color: hsl(33, 33%, 52%); /* #AC885B */ +} + +/* Make the tokens sit above the line highlight so the colours don't look faded. */ +.token { + position: relative; + z-index: 1; +} + +.line-highlight { + background: hsla(0, 0%, 33%, 0.25); /* #545454 */ + background: linear-gradient(to right, hsla(0, 0%, 33%, .1) 70%, hsla(0, 0%, 33%, 0)); /* #545454 */ + border-bottom: 1px dashed hsl(0, 0%, 33%); /* #545454 */ + border-top: 1px dashed hsl(0, 0%, 33%); /* #545454 */ + left: 0; + line-height: inherit; + margin-top: 0.75em; /* Same as .prism’s padding-top */ + padding: inherit 0; + pointer-events: none; + position: absolute; + right: 0; + white-space: pre; + z-index: 0; +} + +.line-highlight:before, +.line-highlight[data-end]:after { + background-color: hsl(215, 15%, 59%); /* #8794A6 */ + border-radius: 999px; + box-shadow: 0 1px white; + color: hsl(24, 20%, 95%); /* #F5F2F0 */ + content: attr(data-start); + font: bold 65%/1.5 sans-serif; + left: .6em; + min-width: 1em; + padding: 0 .5em; + position: absolute; + text-align: center; + text-shadow: none; + top: .4em; + vertical-align: .3em; +} + +.line-highlight[data-end]:after { + bottom: .4em; + content: attr(data-end); + top: auto; +} diff --git a/gitbook/gitbook-plugin-prism/prism.css b/gitbook/gitbook-plugin-prism/prism.css new file mode 100644 index 0000000..ec469f0 --- /dev/null +++ b/gitbook/gitbook-plugin-prism/prism.css @@ -0,0 +1,139 @@ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/gitbook/gitbook-plugin-search-plus/jquery.mark.min.js b/gitbook/gitbook-plugin-search-plus/jquery.mark.min.js new file mode 100644 index 0000000..a126e95 --- /dev/null +++ b/gitbook/gitbook-plugin-search-plus/jquery.mark.min.js @@ -0,0 +1,7 @@ +/*!*************************************************** + * mark.js v8.8.0 + * https://github.com/julmot/mark.js + * Copyright (c) 2014–2017, Julian Motz + * Released under the MIT license https://git.io/vwTVl + *****************************************************/ +"use strict";function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var _extends=Object.assign||function(a){for(var b=1;b-1||d.indexOf("Trident")>-1)&&(this.ie=!0)}return _createClass(c,[{key:"log",value:function a(b){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",a=this.opt.log;this.opt.debug&&"object"===("undefined"==typeof a?"undefined":_typeof(a))&&"function"==typeof a[c]&&a[c]("mark.js: "+b)}},{key:"escapeStr",value:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(a){return a=this.escapeStr(a),Object.keys(this.opt.synonyms).length&&(a=this.createSynonymsRegExp(a)),this.opt.ignoreJoiners&&(a=this.setupIgnoreJoinersRegExp(a)),this.opt.diacritics&&(a=this.createDiacriticsRegExp(a)),a=this.createMergedBlanksRegExp(a),this.opt.ignoreJoiners&&(a=this.createIgnoreJoinersRegExp(a)),a=this.createAccuracyRegExp(a)}},{key:"createSynonymsRegExp",value:function(a){var b=this.opt.synonyms,c=this.opt.caseSensitive?"":"i";for(var d in b)if(b.hasOwnProperty(d)){var e=b[d],f=this.escapeStr(d),g=this.escapeStr(e);a=a.replace(new RegExp("("+f+"|"+g+")","gm"+c),"("+f+"|"+g+")")}return a}},{key:"setupIgnoreJoinersRegExp",value:function(a){return a.replace(/[^(|)\\]/g,function(a,b,c){var d=c.charAt(b+1);return/[(|)\\]/.test(d)||""===d?a:a+"\0"})}},{key:"createIgnoreJoinersRegExp",value:function(a){return a.split("\0").join("[\\u00ad|\\u200b|\\u200c|\\u200d]?")}},{key:"createDiacriticsRegExp",value:function(a){var b=this.opt.caseSensitive?"":"i",c=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ÀÁÂÃÄÅàáâãäåĀāąĄăĂ","cÇçćĆčČ","dđĐďĎ","eÈÉÊËèéêëěĚĒēęĘ","iÌÍÎÏìíîïĪī","lłŁ","nÑñňŇńŃ","oÒÓÔÕÖØòóôõöøŌō","rřŘ","sŠšśŚșȘşŞ","tťŤțȚţŢ","uÙÚÛÜùúûüůŮŪū","yŸÿýÝ","zŽžżŻźŹ"],d=[];return a.split("").forEach(function(e){c.every(function(c){if(c.indexOf(e)!==-1){if(d.indexOf(c)>-1)return!1;a=a.replace(new RegExp("["+c+"]","gm"+b),"["+c+"]"),d.push(c)}return!0})}),a}},{key:"createMergedBlanksRegExp",value:function(a){return a.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(a){var b=this,c=this.opt.accuracy,d="string"==typeof c?c:c.value,e="string"==typeof c?[]:c.limiters,f="";switch(e.forEach(function(a){f+="|"+b.escapeStr(a)}),d){case"partially":default:return"()("+a+")";case"complementary":return"()([^\\s"+f+"]*"+a+"[^\\s"+f+"]*)";case"exactly":return"(^|\\s"+f+")("+a+")(?=$|\\s"+f+")"}}},{key:"getSeparatedKeywords",value:function(a){var b=this,c=[];return a.forEach(function(a){b.opt.separateWordSearch?a.split(" ").forEach(function(a){a.trim()&&c.indexOf(a)===-1&&c.push(a)}):a.trim()&&c.indexOf(a)===-1&&c.push(a)}),{keywords:c.sort(function(a,b){return b.length-a.length}),length:c.length}}},{key:"getTextNodes",value:function(a){var b=this,c="",d=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(a){d.push({start:c.length,end:(c+=a.textContent).length,node:a})},function(a){return b.matchesExclude(a.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){a({value:c,nodes:d})})}},{key:"matchesExclude",value:function(a){return e.matches(a,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(a,c,d){var e=this.opt.element?this.opt.element:"mark",f=a.splitText(c),g=f.splitText(d-c),h=b.createElement(e);return h.setAttribute("data-markjs","true"),this.opt.className&&h.setAttribute("class",this.opt.className),h.textContent=f.textContent,f.parentNode.replaceChild(h,f),g}},{key:"wrapRangeInMappedTextNode",value:function(a,b,c,d,e){var f=this;a.nodes.every(function(g,h){var i=a.nodes[h+1];if("undefined"==typeof i||i.start>b){var j=function(){if(!d(g.node))return{v:!1};var i=b-g.start,j=(c>g.end?g.end:c)-g.start,k=a.value.substr(0,g.start),l=a.value.substr(j+g.start);return g.node=f.wrapRangeInTextNode(g.node,i,j),a.value=k+l,a.nodes.forEach(function(b,c){c>=h&&(a.nodes[c].start>0&&c!==h&&(a.nodes[c].start-=j),a.nodes[c].end-=j)}),c-=j,e(g.node.previousSibling,g.start),c>g.end?void(b=g.end):{v:!1}}();if("object"===("undefined"==typeof j?"undefined":_typeof(j)))return j.v}return!0})}},{key:"wrapMatches",value:function(a,b,c,d,e){var f=this,g=0===b?0:b+1;this.getTextNodes(function(b){b.nodes.forEach(function(b){b=b.node;for(var e=void 0;null!==(e=a.exec(b.textContent))&&""!==e[g];)if(c(e[g],b)){var h=e.index;if(0!==g)for(var i=1;i1&&void 0!==arguments[1])||arguments[1],d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;_classCallCheck(this,a),this.ctx=b,this.iframes=c,this.exclude=d,this.iframesTimeout=e}return _createClass(a,[{key:"getContexts",value:function(){var a=void 0,c=[];return a="undefined"!=typeof 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(b.querySelectorAll(this.ctx)):[this.ctx]:[],a.forEach(function(a){var b=c.filter(function(b){return b.contains(a)}).length>0;c.indexOf(a)!==-1||b||c.push(a)}),c}},{key:"getIframeContents",value:function(a,b){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},d=void 0;try{var e=a.contentWindow;if(d=e.document,!e||!d)throw new Error("iframe inaccessible")}catch(a){c()}d&&b(d)}},{key:"isIframeBlank",value:function(a){var b="about:blank",c=a.getAttribute("src").trim(),d=a.contentWindow.location.href;return d===b&&c!==b&&c}},{key:"observeIframeLoad",value:function(a,b,c){var d=this,e=!1,f=null,g=function g(){if(!e){e=!0,clearTimeout(f);try{d.isIframeBlank(a)||(a.removeEventListener("load",g),d.getIframeContents(a,b,c))}catch(a){c()}}};a.addEventListener("load",g),f=setTimeout(g,this.iframesTimeout)}},{key:"onIframeReady",value:function(a,b,c){try{"complete"===a.contentWindow.document.readyState?this.isIframeBlank(a)?this.observeIframeLoad(a,b,c):this.getIframeContents(a,b,c):this.observeIframeLoad(a,b,c)}catch(a){c()}}},{key:"waitForIframes",value:function(a,b){var c=this,d=0;this.forEachIframe(a,function(){return!0},function(a){d++,c.waitForIframes(a.querySelector("html"),function(){--d||b()})},function(a){a||b()})}},{key:"forEachIframe",value:function(b,c,d){var e=this,f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},g=b.querySelectorAll("iframe"),h=g.length,i=0;g=Array.prototype.slice.call(g);var j=function(){--h<=0&&f(i)};h||j(),g.forEach(function(b){a.matches(b,e.exclude)?j():e.onIframeReady(b,function(a){c(b)&&(i++,d(a)),j()},j)})}},{key:"createIterator",value:function(a,c,d){return b.createNodeIterator(a,c,d,!1)}},{key:"createInstanceOnIframe",value:function(b){return new a(b.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(a,b,c){var d=a.compareDocumentPosition(c),e=Node.DOCUMENT_POSITION_PRECEDING;if(d&e){if(null===b)return!0;var f=b.compareDocumentPosition(c),g=Node.DOCUMENT_POSITION_FOLLOWING;if(f&g)return!0}return!1}},{key:"getIteratorNode",value:function(a){var b=a.previousNode(),c=void 0;return c=null===b?a.nextNode():a.nextNode()&&a.nextNode(),{prevNode:b,node:c}}},{key:"checkIframeFilter",value:function(a,b,c,d){var e=!1,f=!1;return d.forEach(function(a,b){a.val===c&&(e=b,f=a.handled)}),this.compareNodeIframe(a,b,c)?(e!==!1||f?e===!1||f||(d[e].handled=!0):d.push({val:c,handled:!0}),!0):(e===!1&&d.push({val:c,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(a,b,c,d){var e=this;a.forEach(function(a){a.handled||e.getIframeContents(a.val,function(a){e.createInstanceOnIframe(a).forEachNode(b,c,d)})})}},{key:"iterateThroughNodes",value:function(a,b,c,d,e){for(var f=this,g=this.createIterator(b,a,d),h=[],i=[],j=void 0,k=void 0,l=function(){var a=f.getIteratorNode(g);return k=a.prevNode,j=a.node};l();)this.iframes&&this.forEachIframe(b,function(a){return f.checkIframeFilter(j,k,a,h)},function(b){f.createInstanceOnIframe(b).forEachNode(a,c,d)}),i.push(j);i.forEach(function(a){c(a)}),this.iframes&&this.handleOpenIframes(h,a,c,d),e()}},{key:"forEachNode",value:function(a,b,c){var d=this,e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},f=this.getContexts(),g=f.length;g||e(),f.forEach(function(f){var h=function(){d.iterateThroughNodes(a,f,b,c,function(){--g<=0&&e()})};d.iframes?d.waitForIframes(f,h):h()})}}],[{key:"matches",value:function(a,b){var c="string"==typeof b?[b]:b,d=a.matches||a.matchesSelector||a.msMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector;if(d){var e=!1;return c.every(function(b){return!d.call(a,b)||(e=!0,!1)}),e}return!1}}]),a}();return c.fn.mark=function(a,b){return new d(this.get()).mark(a,b),this},c.fn.markRegExp=function(a,b){return new d(this.get()).markRegExp(a,b),this},c.fn.unmark=function(a){return new d(this.get()).unmark(a),this},c},window,document); \ No newline at end of file diff --git a/gitbook/gitbook-plugin-search-plus/search.css b/gitbook/gitbook-plugin-search-plus/search.css new file mode 100644 index 0000000..4dba667 --- /dev/null +++ b/gitbook/gitbook-plugin-search-plus/search.css @@ -0,0 +1,41 @@ +/* + This CSS only styled the search results section, not the search input + It defines the basic interraction to hide content when displaying results, etc +*/ +#book-search-input { + background: inherit; +} +#book-search-results .search-results { + display: none; +} +#book-search-results .search-results ul.search-results-list { + list-style-type: none; + padding-left: 0; +} +#book-search-results .search-results ul.search-results-list li { + margin-bottom: 1.5rem; + padding-bottom: 0.5rem; + /* Highlight results */ +} +#book-search-results .search-results ul.search-results-list li p em { + background-color: rgba(255, 220, 0, 0.4); + font-style: normal; +} +#book-search-results .search-results .no-results { + display: none; +} +#book-search-results.open .search-results { + display: block; +} +#book-search-results.open .search-noresults { + display: none; +} +#book-search-results.no-results .search-results .has-results { + display: none; +} +#book-search-results.no-results .search-results .no-results { + display: block; +} +#book-search-results span.search-highlight-keyword { + background: #ff0; +} diff --git a/gitbook/gitbook-plugin-search-plus/search.js b/gitbook/gitbook-plugin-search-plus/search.js new file mode 100644 index 0000000..8e6401e --- /dev/null +++ b/gitbook/gitbook-plugin-search-plus/search.js @@ -0,0 +1,263 @@ +require([ + 'gitbook', + 'jquery' +], function(gitbook, $) { + var MAX_DESCRIPTION_SIZE = 500; + var state = gitbook.state; + var INDEX_DATA = {}; + var usePushState = (typeof history.pushState !== 'undefined'); + + // DOM Elements + var $body = $('body'); + var $bookSearchResults; + var $searchList; + var $searchTitle; + var $searchResultsCount; + var $searchQuery; + + // Throttle search + function throttle(fn, wait) { + var timeout; + + return function() { + var ctx = this, + args = arguments; + if (!timeout) { + timeout = setTimeout(function() { + timeout = null; + fn.apply(ctx, args); + }, wait); + } + }; + } + + function displayResults(res) { + $bookSearchResults = $('#book-search-results'); + $searchList = $bookSearchResults.find('.search-results-list'); + $searchTitle = $bookSearchResults.find('.search-results-title'); + $searchResultsCount = $searchTitle.find('.search-results-count'); + $searchQuery = $searchTitle.find('.search-query'); + + $bookSearchResults.addClass('open'); + + var noResults = res.count == 0; + $bookSearchResults.toggleClass('no-results', noResults); + + // Clear old results + $searchList.empty(); + + // Display title for research + $searchResultsCount.text(res.count); + $searchQuery.text(res.query); + + // Create an
  • element for each result + res.results.forEach(function(item) { + var $li = $('
  • ', { + 'class': 'search-results-item' + }); + + var $title = $('

    '); + + var $link = $('', { + 'href': gitbook.state.basePath + '/' + item.url + '?h=' + encodeURIComponent(res.query), + 'text': item.title, + 'data-is-search': 1 + }); + + if ($link[0].href.split('?')[0] === location.href.split('?')[0]) { + $link[0].setAttribute('data-need-reload', 1); + } + + var content = item.body.trim(); + if (content.length > MAX_DESCRIPTION_SIZE) { + content = content + '...'; + } + var $content = $('

    ').html(content); + + $link.appendTo($title); + $title.appendTo($li); + $content.appendTo($li); + $li.appendTo($searchList); + }); + $('.body-inner').scrollTop(0); + } + + function escapeRegExp(keyword) { + //escape regexp prevserve word + return String(keyword).replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1'); + } + + function query(keyword) { + if (keyword == null || keyword.trim() === '') return; + + var results = [], + index = -1; + for (var page in INDEX_DATA) { + if ((index = INDEX_DATA[page].body.toLowerCase().indexOf(keyword.toLowerCase())) !== -1) { + results.push({ + url: page, + title: INDEX_DATA[page].title, + body: INDEX_DATA[page].body.substr(Math.max(0, index - 50), MAX_DESCRIPTION_SIZE) + .replace(/^[^\s,.]+./,'').replace(/(..*)[\s,.].*/, '$1') //prevent break word + .replace(new RegExp('(' + escapeRegExp(keyword) + ')', 'gi'), '$1') + }); + } + } + displayResults({ + count: results.length, + query: keyword, + results: results + }); + } + + function launchSearch(keyword) { + // Add class for loading + $body.addClass('with-search'); + $body.addClass('search-loading'); + + function doSearch() { + query(keyword); + $body.removeClass('search-loading'); + } + + throttle(doSearch)(); + } + + function closeSearch() { + $body.removeClass('with-search'); + $('#book-search-results').removeClass('open'); + } + + function bindSearch() { + // Bind DOM + var $body = $('body'); + + // Launch query based on input content + function handleUpdate() { + var $searchInput = $('#book-search-input input'); + var keyword = $searchInput.val(); + + if (keyword.length == 0) { + closeSearch(); + } else { + launchSearch(keyword); + } + } + + $body.on('keyup', '#book-search-input input', function(e) { + if (e.keyCode === 13) { + if (usePushState) { + var uri = updateQueryString('q', $(this).val()); + history.pushState({ + path: uri + }, null, uri); + } + } + handleUpdate(); + }); + + // Push to history on blur + $body.on('blur', '#book-search-input input', function(e) { + // Update history state + if (usePushState) { + var uri = updateQueryString('q', $(this).val()); + history.pushState({ + path: uri + }, null, uri); + } + }); + } + + gitbook.events.on('start', function() { + bindSearch(); + $.getJSON(state.basePath + "/search_plus_index.json").then(function(data) { + INDEX_DATA = data; + showResult(); + closeSearch(); + }); + }); + + // 高亮文本 + var highLightPageInner = function(keyword) { + $('.page-inner').mark(keyword, { + 'ignoreJoiners': true, + 'acrossElements': true, + 'separateWordSearch': false + }); + + setTimeout(function() { + var mark = $('mark[data-markjs="true"]'); + if (mark.length) { + mark[0].scrollIntoView(); + } + }, 100); + }; + + function showResult() { + var keyword, type; + if (/\b(q|h)=([^&]+)/.test(location.search)) { + type = RegExp.$1; + keyword = decodeURIComponent(RegExp.$2); + if (type === 'q') { + launchSearch(keyword); + } else { + highLightPageInner(keyword); + } + $('#book-search-input input').val(keyword); + } + } + + gitbook.events.on('page.change', showResult); + + function getParameterByName(name) { + var url = window.location.href; + name = name.replace(/[\[\]]/g, '\\$&'); + var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, ' ')); + } + + function updateQueryString(key, value) { + value = encodeURIComponent(value); + + var url = window.location.href.replace(/([?&])(?:q|h)=([^&]+)(&|$)/, function(all, pre, value, end) { + if (end === '&') { + return pre; + } + return ''; + }); + var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'), + hash; + + if (re.test(url)) { + if (typeof value !== 'undefined' && value !== null) + return url.replace(re, '$1' + key + '=' + value + '$2$3'); + else { + hash = url.split('#'); + url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, ''); + if (typeof hash[1] !== 'undefined' && hash[1] !== null) + url += '#' + hash[1]; + return url; + } + } else { + if (typeof value !== 'undefined' && value !== null) { + var separator = url.indexOf('?') !== -1 ? '&' : '?'; + hash = url.split('#'); + url = hash[0] + separator + key + '=' + value; + if (typeof hash[1] !== 'undefined' && hash[1] !== null) + url += '#' + hash[1]; + return url; + } else + return url; + } + } + window.addEventListener('click', function(e) { + if (e.target.tagName === 'A' && e.target.getAttribute('data-need-reload')) { + setTimeout(function() { + location.reload(); + }, 100); + } + }, true); +}); \ No newline at end of file diff --git a/gitbook/gitbook-plugin-sharing-plus/buttons.js b/gitbook/gitbook-plugin-sharing-plus/buttons.js new file mode 100644 index 0000000..d63e0f9 --- /dev/null +++ b/gitbook/gitbook-plugin-sharing-plus/buttons.js @@ -0,0 +1,71 @@ +require(['gitbook', 'jquery'], function(gitbook, $) { + function site(label, icon, link) { + return { + label: label, + icon: 'fa fa-' + icon, + onClick: function (e) { + e.preventDefault(); + window.open(link); + } + }; + } + + var url = encodeURIComponent(location.href); + var title = encodeURIComponent(document.title); + + var SITES = { + douban: site('豆瓣', 'share', 'http://shuo.douban.com/!service/share?href=' + url + '&name=' + title), + facebook: site('Facebook', 'facebook', 'http://www.facebook.com/sharer/sharer.php?s=100&p[url]=' + url), + google: site('Google+', 'google-plus', 'https://plus.google.com/share?url=' + url), + hatenaBookmark: site('はてなブックマーク', 'bold', 'http://b.hatena.ne.jp/entry/' + url), + instapaper: site('instapaper', 'instapaper', 'http://www.instapaper.com/text?u=' + url), + line: site('LINE', 'comment', 'http://line.me/R/msg/text/?' + title + ' ' + url), + linkedin: site('Linkedin', 'linkedin', 'https://www.linkedin.com/shareArticle?mini=true&url=' + url), + messenger: site('Facebook Messenger', 'commenting', 'fb-messenger://share?link=' + url), + pocket: site('Pocket', 'get-pocket', 'https://getpocket.com/save?url=' + url + '&title=' + title), + qq: site('QQ', 'qq', 'http://connect.qq.com/widget/shareqq/index.html?url=' + url + '&title=' + title), + qzone: site('QQ空间', 'star', 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&title=' + title), + stumbleupon: site('StumbleUpon', 'stumbleupon', 'http://www.stumbleupon.com/submit?url=' + url + '&title=' + title), + twitter: site('Twitter', 'twitter', 'https://twitter.com/intent/tweet?url=' + title + '&text=' + title), + viber: site('Viber', 'volume-control-phone', 'viber://forward?text='+ url + ' ' + title), + vk: site('VK', 'vk', 'http://vkontakte.ru/share.php?url=' + url), + weibo: site('新浪微博', 'weibo', 'http://service.weibo.com/share/share.php?content=utf-8&url=' + url + '&title=' + title), + whatsapp: site('WhatsApp', 'whatsapp', 'whatsapp://send?text='+ url + ' ' + title), + }; + + gitbook.events.bind('start', function(e, config) { + var opts = config.sharing; + + // Create dropdown menu + var menu = $.map(opts.all, function(id) { + var site = SITES[id]; + + return { + text: site.label, + onClick: site.onClick + }; + }); + + // Create main button with dropdown + if (menu.length > 0) { + gitbook.toolbar.createButton({ + icon: 'fa fa-share-alt', + label: 'Share', + position: 'right', + dropdown: [menu] + }); + } + + // Direct actions to share + $.each(SITES, function(sideId, site) { + if (!opts[sideId]) return; + + gitbook.toolbar.createButton({ + icon: site.icon, + label: site.text, + position: 'right', + onClick: site.onClick + }); + }); + }); +}); diff --git a/gitbook/gitbook-plugin-splitter/splitter.css b/gitbook/gitbook-plugin-splitter/splitter.css new file mode 100644 index 0000000..4e84720 --- /dev/null +++ b/gitbook/gitbook-plugin-splitter/splitter.css @@ -0,0 +1,22 @@ +.divider-content-summary { + position: absolute; + top: 0; + right: 0; + height: 100%; + width: 5px; + display: table; + cursor: col-resize; + color: #ccc; + -webkit-transition: color 350ms ease; + -moz-transition: color 350ms ease; + -o-transition: color 350ms ease; + transition: color 350ms ease +} +.divider-content-summary:hover { + color: #444; +} + .divider-content-summary__icon { + display: table-cell; + vertical-align: middle; + text-align: center; + } diff --git a/gitbook/gitbook-plugin-splitter/splitter.js b/gitbook/gitbook-plugin-splitter/splitter.js new file mode 100644 index 0000000..5034e5b --- /dev/null +++ b/gitbook/gitbook-plugin-splitter/splitter.js @@ -0,0 +1,128 @@ +require(['gitbook', 'jQuery'], function (gitbook, $) { + + // MEMO: + // Gitbook is calculated as "calc (100% - 60px)" in the horizontal width when the width of the screen size is 600px + // or less. + // In this case, since contradiction occurs in the implementation of this module, return. + if($(window).width() <= 600) { + return; + } + + gitbook.events.bind('start', function () { + }); + + gitbook.events.bind('page.change', function () { + + var KEY_SPLIT_STATE = 'plugin_gitbook_split'; + + var dividerWidth = null; + var isDraggable = false; + var dividerCenterOffsetLeft = null; + var splitState = null; + var grabPointWidth = null; + + var $body = $('body'); + var $book = $('.book'); + var $summary = $('.book-summary'); + var $bookBody = $('.book-body'); + var $divider = $('

    ' + + '
    ' + + '' + + '
    ' + + '
    '); + + $summary.append($divider); + + dividerWidth = $divider.outerWidth(); + dividerCenterOffsetLeft = $divider.outerWidth() / 2; + + // restore split state from sessionStorage + splitState = getSplitState(); + setSplitState( + splitState.summaryWidth, + splitState.summaryOffset, + splitState.bookBodyOffset + ); + + setTimeout(function() { + var isGreaterThanEqualGitbookV2_5 = !Boolean($('.toggle-summary').length); + + var $toggleSummary = isGreaterThanEqualGitbookV2_5 + ? $('.fa.fa-align-justify').parent() : $('.toggle-summary'); + + $toggleSummary.on('click', function () { + + var summaryOffset = null; + var bookBodyOffset = null; + + var isOpen = isGreaterThanEqualGitbookV2_5 + ? !gitbook.sidebar.isOpen() : $book.hasClass('with-summary'); + + if (isOpen) { + summaryOffset = -($summary.outerWidth()); + bookBodyOffset = 0; + } else { + summaryOffset = 0; + bookBodyOffset = $summary.outerWidth(); + } + + setSplitState($summary.outerWidth(), summaryOffset, bookBodyOffset); + saveSplitState($summary.outerWidth(), summaryOffset, bookBodyOffset); + }); + }, 1); + + $divider.on('mousedown', function (event) { + event.stopPropagation(); + isDraggable = true; + grabPointWidth = $summary.outerWidth() - event.pageX; + }); + + $body.on('mouseup', function (event) { + event.stopPropagation(); + isDraggable = false; + saveSplitState( + $summary.outerWidth(), + $summary.position().left, + $bookBody.position().left + ); + }); + + $body.on('mousemove', function (event) { + if (!isDraggable) { + return; + } + event.stopPropagation(); + event.preventDefault(); + $summary.outerWidth(event.pageX + grabPointWidth); + $bookBody.offset({ left: event.pageX + grabPointWidth }); + }); + + function getSplitState() { + var splitState = JSON.parse(sessionStorage.getItem(KEY_SPLIT_STATE)); + splitState || (splitState = {}); + splitState.summaryWidth || (splitState.summaryWidth = $summary.outerWidth()); + splitState.summaryOffset || (splitState.summaryOffset = $summary.position().left); + splitState.bookBodyOffset || (splitState.bookBodyOffset = $bookBody.position().left); + return splitState; + } + + function saveSplitState(summaryWidth, summaryWidthOffset, bookBodyOffset) { + sessionStorage.setItem(KEY_SPLIT_STATE, JSON.stringify({ + summaryWidth: summaryWidth, + summaryOffset: summaryWidthOffset, + bookBodyOffset: bookBodyOffset, + })); + } + + function setSplitState(summaryWidth, summaryOffset, bookBodyOffset) { + $summary.outerWidth(summaryWidth); + $summary.offset({ left: summaryOffset }); + $bookBody.offset({ left: bookBodyOffset }); + // improved broken layout in windows chrome. + // "$(x).offset" automatically add to "position:relative". + // but it cause layout broken.. + $summary.css({ position: 'absolute' }); + $bookBody.css({ position: 'absolute' }); + } + }); +}); diff --git a/gitbook/gitbook-plugin-tbfed-pagefooter/footer.css b/gitbook/gitbook-plugin-tbfed-pagefooter/footer.css new file mode 100644 index 0000000..5205266 --- /dev/null +++ b/gitbook/gitbook-plugin-tbfed-pagefooter/footer.css @@ -0,0 +1,15 @@ +.page-footer { + margin-top: 50px; + border-top: 1px solid #ccc; + overflow: hidden; + padding: 10px 0; + font-size: 12px; + color: #808080; +} +.page-footer a { + color: #808080!important; + text-decoration: underline!important; +} +.footer-modification { + float: right; +} diff --git a/gitbook/gitbook.js b/gitbook/gitbook.js new file mode 100644 index 0000000..13077b4 --- /dev/null +++ b/gitbook/gitbook.js @@ -0,0 +1,4 @@ +!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f=0&&nC.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="
    ",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){ +return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de(" + + + + +
    +
    + + + + + + + + +
    + +
    + +
    + + + + + + + + +
    +
    + +
    +
    + +
    + +

    介绍

    +

    本项目致力于对 Python 3.7 的源码分析,深度参考陈儒大大的《Python 源码剖析》,编写 Python 3 的版本。

    +

    希望各位 Python 爱好者能参与其中,一起探索 Python 魔法背后的奥秘!

    +

    使用

    +

    您可以直接访问 在线版,或者根据以下步骤访问本地版。

    +

    前置条件

    +

    您的系统上需要安装好 node (会自带npm)。

    +

    使用 make 或者使用 npm 命令去构建

    +

    使用 make 命令的方式构建:

    +

    若您可使用 make 命令,简单执行如下命令进行初始化:

    +
    make init
    +
    +

    执行如下命令运行服务端:

    +
    make run
    +
    +

    使用 npm 命令的方式构建:

    +

    若您不能使用 make 命令,或想直接使用 npm 命令,执行如下命令进行初始化:

    +

    安装项目依赖:

    +
    npm install
    +
    +

    执行如下命令运行服务端:

    +
    npm run serve
    +
    +

    访问

    +

    直接访问 http://localhost:4000 即可查看本书内容。

    +

    Roadmap

    +

    大体按照《Python 源码剖析》中的目录结构进行编写。依次介绍 Python 源码基本信息、内建对象和虚拟机。

    +
      +
    • [x] 章节
        +
      • [x] 序章
      • +
      • [x] 前言
      • +
      • [x] Python 源代码的组织
      • +
      • [x] Windows 环境下编译 Python
      • +
      • [x] UNIX/Linux 环境下编译 Python
      • +
      • [x] 修改 Python 源码
      • +
      +
    • +
    • [ ] Python 内建对象
        +
      • [x] Python 对象初探
      • +
      • [x] Python 整数对象
      • +
      • [ ] Python 字符串 对象
      • +
      • [x] Python List 对象
      • +
      • [x] Python Dict 对象
      • +
      • [x] Python Set 对象
      • +
      • [ ] 实现简版 Python
      • +
      +
    • +
    • [ ] Python 虚拟机
        +
      • [ ] Python 编译结果
      • +
      • [ ] Python 虚拟机框架
      • +
      • [ ] 虚拟机一般表达式
      • +
      • [ ] Python 虚拟机控制流
      • +
      • [ ] Python 虚拟机函数机制
      • +
      • [ ] Python 运行环境初始化
      • +
      • [ ] Python 模块加载机制
      • +
      • [ ] Python 多线程机制
      • +
      • [ ] Python 内存管理机制
      • +
      +
    • +
    +
    Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
    + +
    + +
    +
    +
    + +

    results matching ""

    +
      + +
      +
      + +

      No results matching ""

      + +
      +
      +
      + +
      +
      + +
      + + + + + + + + + + +
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/dict-object/dict-mem.png b/objects/dict-object/dict-mem.png new file mode 100644 index 0000000000000000000000000000000000000000..0d14a3722e5e155aabc64351e7f73b170e75e474 GIT binary patch literal 116396 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%0A2uk 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
      >Yo+ZW2maQQ}iTEw4-X0CmB_aw>;V zswXyd&ITBQ>+Qf77qU(7pVcdcF8~k{sfprXuvmP75SaZxN7y*eoW6TYZA#?#*#DMx z?Bkk7yKFDH)-R{dtLuadn{IB})1|Z~W>Z+=2V7rm`3lKx{|HLxed3x&-IN_TkrW-V zHUU51C;MPxEPCG~uI)775wsE(o59&TliOntuS@8LprpY{kJR?vfh@ zK0ii1F=6A22^4>n4t{rE8iqs+n5z1=)+2euz#kvwSEzbO?^B648_jBki>8gQeG9J2 z_{cOL0Z6PD_!=XmQkayvlSf!L6S>R6)SR+Z5N3>`jB`6lH3-0v53yReCg*pk&pb84 zN8K>i+Hzs?$oCi9Mhts!{rI**Nj<0hGDrvW_VXFotNY&iaS~_(>n7)uibJ%#)ETtw zz9EP7D26(z6bbzMk|I<>`W#&_;`bl)c=_V0*lq*l|GuzBDd@uNp)x~TqiZG_H9B0d zul;BL=H%hxM;9D8IHciDmh6Kx-gQi$eokhRKQSJF=&Adl^)Z?MeS$mB+^Ow$pwyU_ z*4e~pyvj~~>4K5fD&v-C4p%(1&th_{k^IpI)+rV*Sg%DtD_|`WVS1)q_>@@tlzp$% z$4C8sQP)!DgUcy>p4B0tc~`(YH0X;q7kJJ7ap*!HdzmtQpTXZ1TO8E2+ep;|KV@*bFR5Cd^|ehGmT5yOv3@j!|2w)}j%<6wb~0qw*0+#D6P zP9{lM;908_+52{+j>*f}IHgooTm9wc33F`T_B1L`s?`l(G2N#k)g_~^yAEu=we@QM zzYACI8L|7?vUJ0{x7V!xS@6DiUTWJNZa-yS2K3i&nHX_Fo?V2m-@I8JJo}VU3`Oy| zdrrHf;{+!};^WNeL>e8YVQn=K{E=wug`q;>A80P@ih)`ev#BPLEfOw?+dwb_)(sDTh%WO1R@p-)r?19u3i zozE?MA9WgFTaHpBy6#{lkBwMNnLO7-qiq>0_4Zx zKr*(D-7I2#qgYf^x~;*lq^#BOzLV29XU)2Uf+sn2=$81n_}ivRmMQnTl%W0+5!h1-iYsJoN}b zkf=&UwZ$w6#PG~G(_d$+*2**23Ne&XQchQR3<;GJA22<;b@-w3vgL2xi~F74R^OR0 z%qS(VQlGY80TOcWoJRJ@xivs{{-7mTM(&aAYevC=YSo6MdYkJm`_gg0W z1I&#^Sg>kB!L(ypYtCLa*wr{G$!z)BB(M%Gs1$U){^6Kp8{p6+2ZtLEjguVX-i5|rvWTB+Hz-Hz=QafYJU`tfs~^>W_W%tI*9QHN=UQ4ZrbS`#1XEOSRwjqaN zQ=3-!ecaH@!NEy4Z!~VMc38e^B~1;BZGG9eb+@TsBg>d}w8SAQ9SpnrUV7c4&??b6j1&oTxXGP5tKC>yD*J(#K5{@J7bO(16hdD&eG z{OM=auWN_jjH}J0{uBHA5i<*?9kX(yuX~*=VX2lr4j8r*ydlge&cc)07QJB=f z8}U4O;f;)!@5KHx?_VvY{eT&$-BE`{JhNl7^Wt}`P-BCi^Ol}j_RcOYSrSRQxsST% ztMBFpt4_Dd)kyLsu`Adq9A~;A_(JBtn4&A6#iA^0P;J|qC;1za%nR&XLaNF$UZj}c zyl!UW5Jy;kgsHNN27lE^^EX0i^z+Fa5a(t#*2+k!4#&#m6oA+RwcYu%(* zo4tac4fZfTt9q2nT$fb7x;EZ%yCqebTSb2{a2`eBB4R75Tq($bhsBnWMrREaH&%1R z^cD_q#<2|Z1+jB_%+G`g^ka|+C@{YAnC-qSkJHw)umTfdPxn$LOHAHW^_KhPej+e1 zlSYV{)^OA#Gd@qwo;%oUww|6eu_YtU)uegrYzMDicRE9UU{fMeDU!NT)2E*Ti<0fv z&m-S&CtK*#BY`Yte7>Ld&>_9=R0nwqnQ|70REULGiTPTw^}*hIbp8T$aPz{9l=vjT z8h%h9S5&NH5WNfeUcjc?^+%5$O&KcFzrT6qcTzu27L2uJXJ@{E@ytoZ|(18)84#gge4Z!U-NJq5X4PmNK}aW!49 z%^_jbd=I19&|i7<)(eVne5XaNZ@&3!AP|+L*n)qVjea3WFAK#+DuoJ!VeBW@`^+XG zseVL(V;>Re!0xTJVj=b`&yUkBw|$<2G95aZ4Oi(0AIi1$b?iBScvd0VkHl(`;NY>**e8J)6*_e%~}G2!02gF%0ll(ydE6f6S-LPs)G zQ8D_C&Lm2?3W_A*CLzSuf!C(LST*5qhVUS$vKToM==FOadxG$+j31Ird_6WyWb0WqEqxJ=X zuz#Sd7?xPFa@@tY|7ihMO_*SP|BzAVM?C4xP)8ciO@E&^eVpxp+s+EJ!9k3&2e-c(9%u{-8ko|1J*jI2UrbJe9rS0s1(FT8lgt#tD)f-!9`*sUVLAR)%%Eng0m)-=<$tw*wn}57}h#rd@8XB z7lM(LIh1HgwWfmM>zS|FM|nVP1k!~k*gOQgh&YFSy!lH@05L;`?BFb@qMpI=!hMvb z?dOhLxO*JtZH3JzPn}vs=W(<3`xu;Es2*i|_tqtv&e+qS@jMWLjQxlWV3yx_=wxgBubB0soU2v$E(obQ@g+_!}mLw|!nU;Kb7l5EOc1{9T1>=|Q^7w6KuC5nOO&xOkxcJXYFagtQA4ia&SpdYi_l2ij6dyacfQ4qY;?D4#N4?CRQhT1?J zSa(lP0t)oXndb4EH2B2$2Uf0~pCCojUEW;G;e?bO(IZ%59(j zfNB$iuAHczy?SM#Q(F2VTy@wmAr?c;>k|+#3R;CA_?soSaLky)14RT+P4n`|7Afv( zdablBUqx){04FfETyYt>;g5#XzpSb9XwF^?Y6$TD(JuO$Y`Bch3t<*Fn6^a;)VA4=9wst`|2tW;B|nRx{l&gQ;D; zu{VYEh&MUL?uyK_%G%mRlxjq`#9kMo_mf69YiTDIZEV@OEuEvzB9kEyA}pw4Y|~wm z;NbRahL6Q76Q!Wq6Jv3&Qf!@hOa1#~Br>`U<4V%ztI2g}t4ZhaQj*csUc~f!UL-*t~r(udFm=Rd#>$Y8JLrPAryGznPPx^ zT`Yz&EIlfE!45s7W>^4xr#JEgCMYkMv4|0_CaliD?BzU*6quo5;%BxMfHW}rvOiKi719%2tPAYgiC{lg1g{=X1^+VI}Me$ z=MqI8*_N^u9-`LVU8mF93Z&Ho-Y+W(HrWtabj3Fef?IIC{FK-dv4~+1ZydSXVs0~+ zib@I8xx=*5bM;VFsl!vY^z*yN#p1>aV+*Q)Y{1>VYYfeeSQa$F8DD7eR!7GkWvM ze;)V9-{Q&{+%4oPEKukA_^3grbPY8`JdT{bFyWhK_}_9}$n5 zBnL)(*u6=G7?b?w&E&>=102shvlID=-wQH-l%H;9(4E-5%15>&$fOTJ zUz^6d5^#^1h3lEuyH}X#1X`bxxzle8@(LDgPD|^jGp(DMS)r1bu9@z&uovXUIPZ?2*RkvlP?E3*EZ{PyYbgQwM8D9VdAi!Fn#-vYxW-K=GKE*gxIHgjIf%s%Yf)VAL*6{hgukEAPE`gH0nj1!@y5Q zVWMjTK?yXsG%&bD!7;|`N9_diQh?4`8uRkHx|y7Rz~(`qid4(?IdPk{pB3cpS+~Pz&pOd^Gh%P=9sBHq^O!lm4*vtU zgql$TuP1E+a?Ob}628YAjM+@i!_3hTJ;7IjTw$NpMcB3`}lgOYeZf9wdu zJ7fFwEz_uB2!Weu01X3%&*MAt1HG~tJyfGfJT(-X`f6f>y6{Wk0g|~^h zr&1B`wKk>PG+DY|fpzVa$O78|l_ZI>yW<$Y{?pwa+6KnPnaJes!AraVA7{-U(;&M^ zOJDu-Qmq&N6L~$KLSP8y0?3hz987f(MrA3s3FCO4b-MM-C`q!7Nt=}3(h2HpTtcNg z4N>pg+-a$$+hD~AM9tpFy@1RUcjMsNyQCd%SmkMrt_Qv;!~BOiU+ z=}q^cq5fTHS_|4jKy8Cxk-~%MFj?<2s)Bv!kPVhDy-)coHnejY+O0y6CYnhs4VXxZo-?C+w0;A#d0_Bq^dx*dZKUWwIJwYu>X=P^TfwU^-PX#>YG9pqOOGf|u z$ny!yc#jPw)LJ7&NcNb6k*!BXkeNGwiC9fZ1#_cV4*ue)C&7IS2Zz+?J3zTQCpjD2hfVrzdS)4fzByr6zIUnV`j!8CGD1J9+YIhNW>-Fz3^vEZo9-= zjyj_a?PA=flgu3jU28Y9*yEolnEjoj_6?}Z9Z%K;y-rApJ$cZl0^mZr!Z!IwN?A#H zoy|L$~m`V_;ZV9tE6IapmK=gDVoU2PNjT z(r{Yqxbn?(UL!*!5yCX>3(@pYA@sOzQOz9t_S&>QYJ>bIV~8_o``0(pEguk)%Ub|p%U$oW{ zo%f`em0ok&#r1kAdw_~_?B;YZTq2bol0mYb%w*J!#&+&$8D2zg;Y39w!9L61TO5v1ra+-_EA#7Xyd{$B95Oo%~l>H|U3B8-U`CxF;rSL{mVn}4= zmILq|PLetd34a+qm^b$@8iF$acPu3*l(}qC{ZC!6-+b2lcOAr``R`AH5C6aauzQKY zNffU+<*&L^K?YA-m9Rj0Lr{0mOqG+lOO=~^m@c@yw5C!1fYr2>=`{nYE2m{;-!Uq` zrc>PQc|(f&$3LpALgO7>Z!B%9*>KV8Kw?r(*lC+Ad!_UhPf~nep1a@`JH7P4s+(GW zZ(X$h^!6J+n!n`!x@0an6<^8^Ft|N2@Wz5pPUA;^^t_d^z1#MNUmN5PJm*wU zkV*New%5|rK`q`JC&)?v!5p-!kInQKP5UE_VkjrsGXmsjzCtq>_3lL{Ws(fRT;XWU zJpo6HF_J!KE?sf}#gPnPd*^r4vh`}eFsjm!qI+-sg;FO_!L5Jxcsst@pQ^k#l+GpP1*`aeE^@7 z8twC5OvSkrwU2;wF6HOs%!+;X++ACz)0?iWpAk#b8>fG_ywM@0siEn9z*6l97xfi> zR%$AR;oZA-y}CdJw6)YB(zT(XOO0&KngqTVdiz)>Q6Iy^l26WI_z!Q3aUZ1bza zab68v)tVPmCGn@nD_&l#?TCKTF3I(MRpZv_1bx@{C%biMCnid~&P-o$_di%Q;!9lk zlo-2G^T%o{S3JK_v~{|X(CNBXS3P}l=~&U}?=3Cuvb5zHxG{;zce%G=Q)1CU)2PJh zr!B;YH;P4Q(f2TZLxiWZX`oGXQxOjV=jm;xqzAY)R>tVce~oi|&a(3L*cQvG@lnYUEI(ZXGR8&I(=@FIw8a3=eM!(>z?gBuaHv z-iGcQSJVQ;<979i@K}TLj&IxAQu^x&bHCq=Mu)!2eJV|Vb{ON!$Lp@!_e11|G+$s<`hOi0VzqZ5Uu_bcLmc-rBN5GuL@De)E92&V7_>XcanAW&+ zZ%qO|8FTII1bTKS7c<;Nvf?LSCeLwjqMkZocqav7h`9Xlh!T5WL3wL^-Jf@KRI$q3 zlDU~Z`n`Sq{Fx<(m_xy^aw;yL{r&Fo$As$vM^Ixx^I55ckWWW40ftzUNw+UacZU8m zCTQ7+9AjTs*mT|O2#flTwi%E_Al3ny}PpRobR*th{wc!ii2$W zXj{v`UT<0_vD1h&^3jXbVUX^R3(=G7>+8Q#WbI;v4+sX$nb1jd&}_6OyfJ`U#$ON| z;y#43SO+Q`Z1|*^a6*rBdvj?}LO1$c};!QV{y9fE=_ zpCBEzN+m>?bVfb>j3!y=cL6z+eA2Y1fg59oEOib2Cv3+^j61g9cNs!$C1ldzD`H*> z3?rw9R`+wJv22CYJ!`=1)MPQdB7*VnBDD1rv7NDxowG-lrjXT1C|fVbY!-R)Iax}P6sLo8%aMr!H8=2Sjq1HV8wX@ zMYPTWRRMn#UB?*%MM1Oi)BGL6Hnrsea%$T{W6+gIaiT|=Oy0A^DE1iw%8sZX@zy$M z8tby<=6N1Z9GMrnT8?@X6&-6F;4b7tl|8@G-~-3brEB!yk{w-~dx=5got|BArqB+={Abd6S295QU!PLPzpSz>^r(c39G>8PNOoH~_@n)oYR z3sQw6a?WiDsWggvc;IqeAlj&G^!+14YFD9g#t%2*>3i{u#b56vDe)sdw6_z2p&k=j za(k|!yky1Kizvb2A{?l_vX*}iOHg+8vza1Meg3O#=}PUPc3l#Smd7=VDOR->+m_5L zH@r^8X(u_BZoJuAurc|J!Hepolt51{y;3E+h={pfVF^Y!%-~NgTsvabt@W<+rmD4 z*}BkmU4)F=fmf@dpL-T;oMIJ!qsY?BFUae=twwUrn%f(rmg??m!}BZL{%YgC%;2Qc zQ;W)X-nG87aY}Ge{stHI^e?}3iWdbn#{bf&+R%D;Uq*}VDSfxO@wel$R$tt+=EBPq zHOXXmn*=1EW=2aW@KE2$4j3?IzIsR1kcB{(^QG1PWZV)=s0~FKWTLvWX6SA(ei#EJ zhU~<`W^{zI=JkTlsloBLYrlo8zTD8LS^RCorz_FZH8pGM6>{NYpWcnQ=j3bE>%~Y^ z9y6H;8p%}A42J7Q9(%klbKN9p70dFaTQk~Rei8X7^|w3#JjSSDsrgunRfv^m(~kW! z7BwYpUi{Oura3Dl;Z2*|HpiNlo_)OTvRP?p@W~C?H;T6Z+&1$sukRkBu8d7upq!z% z2c3gt?cSn|$qNQY7go3Vp9rAHD>`fE0SeY*F&Dk#K841g7xE4G`oA51{_qPOU~{9x z^H#3yYtyX!p=+;qNZIZ&W<0O&?f0Y&QjCR{)z*&f+^OTybB7udeonjfOKEMFskYH^>sOZ{V8Iigmkc>Pucb(7?=8u$R%15*A!&_V3{~IIu)c zq=fxS3EOY)DjT29P-*#mqj~85b+@bcx${6QFQLFsV3dyxLG;#*dV1C=3Q~lo5pM~6|jKer9?!BSnI_>U>Y!1ZVcjlTqJ=2GZCLVrgyu?KpJ|@ zL7p`eh5D8z*fi1|XpsBfvv+S-&&8LzdN$RZMRezS;D7C9fvL)r<@?RUA(w$8KQXFi z@@*pHxoCSQ@}*=q+c4}(CKE&YzrJQ`>uH`3m-M7e0X>X!4!^8|loH5qva8R?y6H{P zGwk9oES_w0s^F)ox<>Es|2DJ*+X>U*y&-+NL%Q9yR+)%K16^1)@M#W!LR-1G@9l{& zdSlfbJQ8u8R&2Nl*%df|Eq8|*OAovtCw6Z(fQytoZnD77ra{b;0W`|yj9-y9n-5D5 zd3{Xnzh8Ztc50)^esf~M(Gw^15QZ_aD}+u!(pZ75sJr=VyBHbE5;I|-32NxOq$s|W zr=E8yN!?sUMcjeq%=^$Mgc~cVxz_XrZMk>%?k-N%M1U4DhrzIWn7avK7)Ud%5Wt^& z>*oM(L0AF`2kjXGZ+k_?7y^BkZiU`M5A`is9I?c}4@e zb|5(krxJtEt6|fe)&!mIatn3i&YO(G+Hlme@Hc=_Ikxl$AU3VmY>K%HNj?6#1eqBN zexsUHJ48IeB~lc1l`9RW#9t{~4Hk^g*iHE)>Qp#PurFjwQgmq*_mVD+VJ30xWp^9mas9TH#s?SX6ni#gtgU>dwz;l3%u`=S zr!5NZ%^y;mIe*U3hC&`de9r6QDH+gH8r#Ibw$yq z)9Ld&F&Q(ihVa={ewqxk|1n09OBq{XfcwLDGL@K-Wj1NPc;aa;V+00^hGf9~h5O%% zbdGiSY5A1VE7B(MV;;J$U@)3V2NCN~U$r~Lok5m|sJe^@Acr`AY!_?)%~kI*Mh%)C zsTYK(rYD7Ue7vK-WaOw(Ro7bKvG|qyzzf%;NQ#)MVxVSD)YBLVX1lxKZO9k7ltPJ_ z^A;_#!C6GJxp?z`L|5Ekj427X`qL{P*(NS|^71U;INHnTcCyM0HAMs@StJpJjS)3`2=jO3%xoF_R7RM^Ec!_;> zqPo;~Za$;<(WY@PS7=X>4hguTPk1!5^w`6=mEd&=C}Kzj(~!0*Jw50OvK&$x@C2B) zD6nlv&v|%5`Vcc>Gs+?521JdZOP8N=(vK!4HizCeW?5oo#`OyMXBU?pg)p4q#k+Hq z0-|##KH{UaX&Yw*W~n*NYg z4|q8GSR(OtDi9T~K_`PbwNpdoA}FsMvYv=L#26d2F4w<2S-@DHv7bmdSg=(W92KG% zxv}QP(|fRi8#iR(=C%Xr2@8*tebV3*G#V>`S$Q@O*57-Z9&)ycY|9+peunt1mj#E0 z))+hd8>h+{(a_O+8|G2j5C02&Xo_PAm&Di&eC9*4w^(YV8}aA;g_DH$BR`{3UH=8L zouU-S(@O%*NRsTH{T`Www`)u&1_I$VuV0U}=^CrlT*cgH;zY5yj)wd*S@!-iJUM&&vw9i(sszt|K7|D=RGM?u( zooNg~`I1lyY-q=A&|rFe-zXxaVWeI!hga7hAhJ3oTZ16*zs{^|qL6niU&zfC@(xr8 zqlORPh5QfunJ!9ZmqKfsfDNy%d%TmEt?n1`hmc@H!wAb#QCiLMm75v$^f2>2M1o}) zd&6U!r8puZ1QdK5m-1>DnVH|J;{0|V>h@485A^gt0IbCPyACN!uC6l_t{P0QiUkx< zH)7ZpT?;@bTl9ca-2ig3}pR&v4Mtd562H&&I4;F?`4pLnM&U=kL* zVYNG252^Lb68e?eGypS*^uVYqKKpVu=T8r=?(0I=EwIyDw{9s{3#Bbui4gRbAY7QD ziXTIex<}#*O-_>3veJh%5!v+ax>s4JeIhyxbo`9mLtex6AeJw>V*{+ZYVKn^pj}AD z4~J8^&l2)2f=j;tvItT%+zHovA%0-Fj*hKk0V9+RbfGE?b5N{sY*cjrb#h5Dkjr}C z|BK-$zVx6rNNj|YX%Fj_wux#B@~022%i@-uuqh&c3K9yp6h0dHV+1EsD;){@p*LX6_>>7Eg%@JW&UJo)2&N@U8k^Vv`~nbM~g*%C7%?p- zvW|;sAtJhH??lQAU@<+u9su)AtMQW(iykp4C0J0w;*A*b_jQlW508zlzM31SdKVY! zQ+zJ#`8#hmz1+Z<@KLmgF*zVQ9_4;h>%M1nY~NmR^up?a4#Hw#+~%0H$A=kTgNwzOuJTQLo3d~xYvCh^b< zE}|}a=0ZjyAgYZlsLK-V0wK*EnNQ5pgke-^1p}=HX>SkZup8aj<`Gpv5afYqjLom@ z{`!QVuDvn_nOAmKrds;(_I zTYK3&&Q0DxBmSaktb)_6OY@b}r*BpsI(7|fTNhc4_MMU-H*)jx5%z0FpU84P_~x9= zMT?xOufNJS5*2%F@lMHC98+KCaI=el+P%gPmDjUW`unj#xx~pL_L&|bf0Tac8IIr5 zI8zY5X|x3-yb6MPIa5}2#aGCx%HALQjv5!0_N{5_I@%M_Z*tk55*ol-UT>+&GtB3= zV+PA`%5-F|kES%$W*2-$baLUjp=uJR`#0n;B)9ripZl+jygpgGa>sURvj$Qk&}_xk!u^lzY~==t;^f$ z46W!X?yk!x8CGpgxM*4{>*C*K+E}agxBpylz}R zraQ|v(GUrt^2Z{Flvt-)R}GpKW_X9Fj^45%JP&W0^^a2d0R~sB=TELgO`TA*5gi*F zy~JE%h>f>@qj{^XwOPLQg+A#i0n@)u5GqXH@ZyPvW@mN&Kmqb|hhD`AdEU{q{`btU z+Fy-3`O({=&}rtTl&OnX#B~dkWDPk}^x4HEz^HAR;jrwiB;yOlKE&>NusXP|~KyM;`t`c{~6?vzO+Sp;xUZ_5b*xCG5lrUsIPv z{ivsx9r7%ui_JZhQQs)a#aLNlhUYm&X-W^aB??W9Z|||v)=gU*nw#D9E{U^4+E)MR z+@;Z4)1-xojZzN{LQMIT=8j>qXKHEMXCW&Jk5HpY=+~6sjx0 zlOw>_Se-a$Ya~gDf|9sGB^(I)^+=2p;8{nWVpo3k#x=wK$d=gYx^@>c9l(GKkV?fTY0S(yM?wQ*(J zMf~`sweDG1p;C{tiqgnD8itd2t!a0uhlK9z()vfEJ5Co-Wl(GHRGB*!7cDbRz+5swG=Jg3 zg){ri)m)`;bhM=33df+((1QU1i;q#?7 zHUBs-Y)0iDU&(R*c9uA*4#|F-hX8Farru}=#rg{j{vB` zjIG`4k00|H6BNEl%slk)4Tq}A2EC~X%=8ZkSbP7_(1l@|A)G9XB}OvCq`ODDSF}lN zZ!yH_!4HYy?@eP(KCBfT*1AfeK(2o*tpxA{H~^L4kps z9Fp<4x{DI`Ba(wHh9oFV5|G7-p<~EncjhoBzdsas@<*wxoX*?%?6pLjVR||xKM(jd zpDJL`s+hU}s?N^^OBVOqGBMNY5`9vjGOZaU_53sm(m}OTiPV>BOJpUydem^u`oWPO*!*$B!79Gd z@)bCD8>IR5QfUfs&f$|xOniE>V7zF~#EK;9?sc?UcxlLEp~duskQsgc+<9pxAwmo#=-#CaXd#EhPkB;!82}7jsnq zCx=H&mY}8nM9irw@9D8kJURZ^`hDC-%&Z=-GycWED%J*1uSh&&#pn(dC93E#E-TQY z36(G4-C16p7#O6N<_?60T}Tza?cgSB;E}|eml8lH#m)q)dtI@~>q*dmD10R?CZ*rZKM?wG8*c2-i$v<3X^$Wn?PZ$rOjxY-ZMQ(ZZ+Llfg_>scKdGas zBy467rQRoLts_ZsFGtcA3%?YeaKiSVTS1CD9|NLQ(umnm z=`|bs3&S=sfeJRzb_Y1E*ykyhbulC>c6js0h^bkwjPs}0Gr@Ls!5G^_nhx@EA_!P0Xo@E-T806vt02Sl`tyy(Euzcp(O>NPW7K!0r|nPR)L!An21J zo0pdszf>VOz#b!lo)MyAQ&7QfC$V|*Lqs&-%^IE(OfS*};Tt2e3y>3CrU=7yd#$(j z`iS1Ac^P?GOuH~W-;IxEi(LrCLu~##+6V%9U#)G^kWla&MU8+tC~&7Q-Q%@<<=zL> zkL_{47Lr@3={LBEqUCq5OwZPPyyYXZd$`9kMy1~r4B2J?;2vt*|Hd=nVgrUGrucb^ z+mH!EH){r}mP;GTjA--b#M^7v6fjhwsBaT(7C(sZ9syzU~Ajip~Zp(_}La%J&UsX2LUD_y|t z|Lc+U@_&r=ct{429h}C!;fe%bYTO6pxTP6eCsR5Zjd~iCYvxW~YRo=5JXPt> zGA(#_q<8)xhKJd%6&&0Lc`5*?yDf7}f_)dl1Wd3>79k8o%FpLk};OjBfwo zK16lBF`d23qeO^Kfecb!L|bO4i>4J5p8P`3-Ui7Vmr+P{xy52Jc0U@8TBWh+wG?2r zc;LWo)ci5aQ&lJjg47?&TPr+=pM5VkRZXqm9K$QhH&s*W z(_2^{D{XXAP*5% zW&#c)E59i(pT$iuxnO)2I-;gH^(g0riz}9&fHIEc0atO9)?)BU6%JUJN97}IWe%w& zJ|b~)QNz?VDuB8?nu^wbTv|ybDl&gKOX@m~m^4X_aR^aOaj8-62;divwCyK+u<=NX zaGiC-gv$Y`*Nrg>vtSqIdc+K2k)wXQ%X8<C8~n#&&k+ua%GT`NjTfCh)3dq#;A5&J5|+OpZnq*Dm8p6Pi7?b0{sIJ zdW6a+o9T0%6gHkghxE{8A9;FtmwuY4~Mmu3bmkk&iICbb)DDQBQ55I1znG2 z)v8rz(rV){=d^ov!7$Eza+D1*QF9PFsdo1T z1mq8NtiuFS*c~P~mFqGWdi->XcOleIrdRKN{e1p$82>?yjM7JyU_QAGlk*QL(jQkh z3S5!uMRbZ3-=Tx%5)EXi8E4q`DHF4ka&qS^tqB35h>4aIMjOuhdDAkUnd;M`vrcC7hRXB+3Pw+8+BXPap~ZfU`#3*a8M znH6Oi%u>v|=C{bAmh>alJ7FcCRP`8ufjN?s>VMv*x2)G3{g7W3x^+TPt!s^I`c}hD z957|S?q@TI5}R3?DtH=DozW&25fhBUbDx=dA39iJrY=SGCs5&s zl&RAg9pLjqJpf$)ukei%{=T%EmYf&tAs<4?0F z!-YLF4SOIlkQ*nW52np`G5Od_>fp~Ajv8^VnM_%m!|iu(I8t8Lzy8Fu2M2JDLtOlV zAsUg~vhBNd?|#GThsaBq08@Etw5tUp*1?_!@AN8{mYl#Fm>g}1=8?1969OqvA9|3@Tw+zZ+x1(yxu-g;`beKhR*fWB@+>2+$(wIPTwVr5h`~}LHD6Cy~)cnAdO&N zHRkZxdNehk>vP68@K@C}KP%-S9p{dJdmY88#jyivd{OlbT8wE72|Z}~$OuWn09m1z zc;p(&?5_Hm>HwW6IB7T@bVxGr4s?a3`+8g35BIeTQ91O81wM}srxi|J3; z&VCcuv?l>fp&gF^%7YI&f#cF;D(A+|`_N5ufwq>IVCw=fe@|cU)sE|>M7=ahpm&$MMW)c zJ>mC{*HGJTy%5-leGsNEvzoj7rv<>rmR3&~)6(T$NNdGtcnCx8^b+kc7!{oZhL%Ae zuT)Kv^5jE_&&KN)^dB4L{Q(Q+U#Xjz=-KQ*ID0p#Ns@7#ikYiTWq+Y_8sF$|L^z_Z zqXC(xuP^oihz1TZ%H=KZjad4yKP4q)$whd*!$booGOkNetyKXM5@t0+;#Cf`d`v2| z%xOIQ^zXm_mLFw@3@dbA+dGpVIHhU}Cn@3GfXOQWvmi3yVucSqV|4R)(^O&xYkvUr zk7mg5{*tm0qhLhsuEW8L59Qluy#E91vW(_e;zWp1QsnM}%c8Yd*|uFf!6a~oO&l-k z*pAQP18aVoJ8#Ufr*Z3>C)pTHZEASD7SIn&!)L6hc+0#q}mej0_D`P z`2W+~n@3~0zG1_U29*XG8dT=7LM2ING9*z*AtY1g%u|y>846KkDp80c^OTe!>M<3v z%|wLE(PVg!OZ)e}?{B?py=#4ceBb)4-QLyqJnrYduj{xG+e>y zyEgo9EYn9cQGrmeG3%RGG0gTQI_Ex)%y=G+HRIpAcdyz@e3bK^yAtp)UGOklbitdz zo@pD}8c=)?hU~bp+3F3L%iJ(j#2627KrgHxYsGEY93Ff^WHLP1oOF>fW{jv z@oNYI_za{vCDLtRnj~mo&5=g?0qdq7@FvV)T|o|e{Fo4wjxUG+6ICXT#TV_PgcE{l zd>V#4Ai}8-Z74wfr>{Wurbl+_os%%VjzsHGDg1+@BlF~BYyRSos8Vn3g;J! z3XCnh0hZ*4zpY3r)CNz_kL2zQp1q)5hs2!(kk+aagS3&n7dGq z0qTlH4xsf^ix+-sWk|{ir3l#_6dQyhpR!+c0D%fS4t&`26FqO3_ZYifJ;AhULM;pPU34R zcWX1MVFD5&gC=JojBsy36b#`w5TbaoHo)NJ5Y3V)@<u6PDgq@e@i)T36X(^$3O7xRurk;# z46ZpFdziO_I)PM>Nr*l)>v6-0{RsCkR>Cz9CFCxhRF|_q_zl{zRY)<7d+EOI^v}PK z4u<4jm*!_$G^qCMaxX9angVm}AFCM2^(hZdV+~@i^Gdx4Fm-Ms@iyNXc^K;8?73Pj z>1I9C?C^HVHv(PR-0=%)gYPdQJ)S?TJQRR@0XXUh^F}K?{V(W96E$e`NWl*hSn7fF zcV=2uDO&+(I9a;oLcZrF3`fhk`Sv1XLj1#er{}tB*l2 zfB^a>x;jR)S-JxtD+@i;MMX(UbkW%B=HSI>yz9e8Ap0{D{9)|wq*?uW6c@xGsENe@ zb=Gkdd|-@}QK`GzFSj8?X=^vPpg|=!;N7%2h_~K+3m$L|-viL+s(~gZguJlwhCs?p{M0|RAE5$P9Tt9$I`!d zkU^ned5N#aMqGHn{6$F(Sx)DVd5A~?fQ2E0y+3-)8f*w&BoIhl(PgjS3kaSZO}Vy6 zx{;-sh(wW)f*tF=&3S_ed%a<%iC<$Ds`fbWD)*xkhkUB&5*h*;`%mNf5w>i_=sF7^(L8rujBZRO{RXOJ=G?_9KBn<;-W^Vh>AdEsE1rYMc@U=uV{_pel`) zAY!6!P7XRh6vf5HcPecr{Z(S{Z~362R{NGL`?|BwP^>Vrvep8R*@|olt+trj8;GHn zqL_`C)p--YHOWi~F+E%45}@_uD9vKGnozOR0W@UM#UL&;*y&le(?C)`fUAXMrW(3H zfiro6K+m*C?gPpSi;b-TU&&)Mx8*)iU*rp^+P6@KIDxYw`0x&z*8u(W-hU^z3jR#R zzy5KWGZ^zrw69A~k1W!Wx;1vPbil2yTSz5FD=qJ~o882>_T*D(%|nZxX@?Cm)~5^5 z%^I}TYN1`u#vA(&vA=Oy=b zbTgTEYWYG=V{~=im09T=T0Wp3WFnP=xy(DH1~^)KL5yp9ekKyDAHGI!fm1-AX^wUg z5hVf^CscR|w{J(}FR0ytwyqia`jtL*?*IJ#Na2^0peFJiI+Gpwx;AQG88 z5++g|;R;9}66{`I!C?Kjc0s`Sb5M-9F_WhXz{uBzX~Q7gRg{Led^Lc=cy%im1OI0f>KDsWaLR%o8> zevs&xYx8|k=_1F>CHc2r8}S&nLWBnb8>9^6sEn=A-K=hM$jiivf$F$QCrB6Fs%)pI z+Rd-WzI!y6yvNjH2*ScuS75tCde+h}Z84kYczWD;`|Y;|s~&DCYwj3zfAgXISWuB( za-)^*!NJl886c3LK~?Q`s|X)NyaXraK_Dk?`m<=ON|s=PFQ2rubX5QwX5|T>y%OO> zINFGv$Z}K=wbA<~on2I~jYxM>Pd+WfIu`(JK*51(0T7tXg#g5){rCt2@r2vaeI9zg zjFMUXysC!IPHF0~xR zd|WTKtc*d{(L-?>k%Qfwr)_<92P$|eD+gyjHWcvnxGO$9(teda$GZNEU|Z94U;^f? ziWYa}w~t2OTbuLiCELmEQj$v~FMpL!=n|tGv5xoxqkyYf^E3yy-3B_eamS8Wb3^3Y zH~{YbUS5oz+KwM19?WWK%J)d1z+{Zc(8V*?$#2&Zn;Qx&b`wyvwRRQ07rGW<7*;1A zWOQihJJHf&f}#Q^#A7sge4w~+0H8q}k{T)*{(gtQRCqcKe#^EK=ftkBT>o-eE2QtR z{W~yj>2C@skc{38)=1Vq|3iyeDek)7>eHX^UvJ0rPSl%UieUJc)G%-!HVM$ta9}Ja zp4`^f)-;hvR-Xr@2EaMi#ZLX4l$yDn|Gt9j_|t2mmWMG=3qu{e_JK3InKC46?GN*M*~TTPLf-`+b07XicEygtTfE2h0ZH z;ImBlPJs@{7Eptg7=@IUmhz1F@(fp$LyYDRz=g00h<**BT^-bKybvbH0(-%mAty1c z&w@~H0mPC6Lf(Ai&c^hyPm{8nly>%fTzyBHW%-2c250KLwg_af}L>5-|nFVb_sk z4>(yNSm*Lv)K*iFcOZDs0?8R5GnLwU}!nAek{c&;ZEZk-F zu?qCG(K6!;-~;efYtd*n+eo_4>cNSvw#v!Q<(<-tI_E&1Lthu-Rg9wflAh`D6%ANa z`Ks1UDa6-?s6qg8-Q9h918Oa_n{Vysp}U1PH(WFkl&1*l-Z(_kynY5w8d9#2ZUlN) zWZDtXN#)_RWse(&Ft}>iv>Kf&R?>+*bVx5ueq}Whn!Q^wT^lSe5MKnOkFUL-_+XcQ zj(}m23z_@twEQRqyxx%2z`DUu8NdG$p*@ZP_XF|P0CB1(G|N86)y|7rc@Jp(h6uM9l~fVLOMg&1{K^p zQ?oK&z^h2}nyP%jqD*QXf8kN^>(3uJiC)K0^515pM?o9``o7U-(m>JG~4<+Fy~DHYhh>EdaqFD)W?xRn->RgrN`aDQ3j}IlIT0#Yu5a z_LmsZy)CQ0G?xo%49oEs(n5 zGbRVREKJYBE_rx^#|UQmAP^yAU>^oAJs6PU0ch>h^0t>2M%(LT)jC0_Owjls(?8HK zd3v0k1FQ%vD_DeYAw%{6Sfd*rvRNpanwUWrA~|dph;uH%#>g*ZHLjtvTuOl;^gTHp zC$KU294iS^IA}o=?Lkq59@J(+m9JBiM>`D61H@w=0Jg-{8jpZ$P?-k14`D|WAAz*< z5LvMvoeb#i_Z8q~62K80%OQxrNn9Xz{umt^_xu?C8UC&UxIQsbKz1ZD8Ay2@dMNG8 zLg{@8)@aujmrC70lXB}^YeuRjeRS>ST9YTqgIDEFsXWWcnLGZ-K2sNx7hdl2*l}G6 zRv!LjtRwD-w74^rKoj?OPF9=LsLov`@1&BMc^6IV=N1n=96#~Z#W=HH>dw2)w-~bg zi6^3S!Sdl5{kK`I&#-3H>phWq3a9S^et4adq{TB3JilYd21v z%r7+Qyp)U->mK?ucTjucd_ge3!Q(?0s*zld37;r{PXNS%ZXB)J`#U0+B{dFVesco& z^9a|V^kA@SIFBKX(=h?!S9k&oDVR_fE5%}EAs#jGVVi&0Kh-p|@9KR#-)xl_>msAc59 z?{9WrXY511dD2ClH8?Ffm@9QW_m+9C#e-G)FIAK@F<&q`_Dqy}X->eCFNf&cE}iO$ z?q(ON_k6KHZY4Wkq$DUV9;t5W={K{h6Ka@^MH|_r(78*8KiuKuecY$hamTnI zc0r|}K5X%P>04Tci&F@BZz!6W9U;8eUfI9HN7P1BST5X42J$hVH=(2d$YF&5x4H9I zEQUoA$TQ@thGrUUTc(IjCEP+VteC!k;bLg}p{w~hwjr3N)br(uy7bk)x3#vi%T?x~ zhzG;aGqv3ylN4J+EG!;hKC(GBh3m80+_{S8{P3*^+$^6?`zniUny4xjulL2YB}N%+ zYgO7OXN#thq=mR_H=vGaVEA^W$%k)kl(DPGbf+e=NfZIa6B4lm9v|kU!u%xBTm9@o)M{GNXS}O!5s5H2=}#EPZ>~%Kry1R=lRo{3Jf;M9;dF zhLpdxI(g?whc+0kpugJ(-#VhtE3`j@33=pGp^);E5!gT`^EKdom2!d3?N>HQ5A#}Bu!iQc_Ue{VB zP0R{x=$C39c6M*r6>;hdxV_Oh(cp7mcjo!2Z*F!ne`=h&fDSeDM6}v|>X&kDI^a|{ zC=?7PIrjBjER4Whnrii%NokvFAw39OGTTttcQ+MpJR=$NZ-5auvEu&o8*UNj({tOA z`FlQV2aIE%->&KOH0H?|BPe^eVrPO&ZPGu{?m-Gj_(52bs8N>(RfgFapt$Be+xzpf z6KNU1pw$9U*>DkP8Yv@4%?KI@`9HLT+F19vBa`s#1o@1R`4HkyAh*Cgm=wVE0F2LJ zEr48yyb50S>_G9}fO`&wCR(a0XkuSmys#Uh6*y=eg%vX7{P0XdPhqGzZ3{e$qJFbw z;6Y>b_kD3kE;1VvB?^J&fv-Z#Gh{29QEV52xA);&zkyu2MNYhFtL>>;6SxK8aM%#G zIdjJ<{UBW&ov?EI?sfTd}^-qy!q#H9aQG(b!R!*czig2PLv`FL?Q<;u;Tx_Z_U9lpNL_6Bk1RoIC|rpr-rC_G(!>VL?{yxgvc*6{+Xj_QV^C5VxUl-Kg6Nb|$EX zYZ*D>zj&q^3JTS03o)$^4q_Ctbgi?AN});(PPGWh7aKyX~_BjuMV_P?gkl7z9`gQ_I_VbY+A0$j(7X*hJQh^bLMKuRCLPHJrvNj zJH&qYX|eCd5IU6-Pgy2c{mP=;^ssOaFs>4TQ!N4Ve5jKdrA zC+HS>(9)0|9EwJi2MjR%Mcy1c>xyWC0|Uba{2He)#{&=p8L;>dsxU-eGNJ;6AwT@* z>G(A8K+J7ep`?j}8ssv}CKoPl$v^8Z(Z&QD0KDry=&y4HQ7VC5Iry`6;1g|q@U8#p zq)4BMx{L5g2u=$c6}*s-$Zr|SMAkD?y|1v8aPiTVry-ptpqpek1qdG?Qhn_zDb^m( z1L!%8_@{|{(^U^RCMpq^z!&NOMGrxpbpg=plZ2zYYP5P8?EXa&&e z+3U9jPCI)j*k5%&F3wC&g7qTO?dU|PWPhWxhyO3kwFH8PYT;yq62l_*(uH~MC7OI9 zNC7>Qs2(8qUJ6+pRbx7R4a~3=$9BBj0m;VqWTAYUF(PVg>ik_ z`p3K+GIjt5s6&Mzq8Ut*8l)+^p+E%MNXGDyc^FWk>a<`j1QW6#+!~1DyY|OCP;Ye2 zUIW;)YD&3N)PbHXNCzMiQIM9B=5FCzx^?UN(e=SG2@NN3&#SR~{x-132GjsXnCsNq zs*3CSgiWikTKzdtV~8p{rn^z<#Q-n4_`4kd&qsWA!R(ztfgYfk?sSf-C@0>ignx|H zn3{o{K@Dq*F2?{~^aH?a9z%5n0p=chmu@_kB>V|Na9t%NK49DjsXg^e zAJ`MLH$u1|R9@nPfr%K^S+!(f6dv$a*ax7+SnF(C<>65XBoze0+mLAWjE$uW|CpLG zL8Fq8-@t6mMwy2NN4ld#k3>3Mq$)?{bO{C}AT1JX7u9XX%PBhWz&?Yc4pv9zxpLZt zx#{C1vqCy4j=@EQqJ(pU^d`}?dU@5@og?HGs_KR&(Ax+Td;HfpAjLYcyI?ty)EHOr zlE|5W1i3`8JR;&H#PqSkW1o9Jq-b&z9vJ9L%`IpRokLvv6(|Ww8`v=*Kfjlrzl;U# z0gWS;-|eDrSk~54g0kIFFTDoi+);LEoh3q33i^ycUyYyfzgdf%P%q1D4LLO+`T+{W zgu43%%<@qhL%lT6QRqyDcw>CFVVvQ_zn%CC7cL+cgT!wBz@B+-w*3MzqQ<(I0$+>F zp8`gT*4rTHmwitnjXvX-2`pL(0}lWdx?yNi=lwQ()d`9&nO20%8+HF(fRIE+O?tj$ zW&oPulz(7PKwwhTk)UJJ(z6{yzb@y`-UD1!iopRpm|C7R4iN!5+MNI*II2cTe;#+B zNtNFz>%V9q8X?&OnrnsRdNsh3Y~bfj5-zn50wW| z?1$Y3ut&ZC5cWh7ldE}e-<1mZh3oIHIxv8YI5E*9_*QParw1r%AHx6mA{v6w86 z2^QNswo5O9`${RqF0g53b~WIVxD0%xY|BG<7LfTA`!EHNBE-Mh!ra_1Qqm4)>Zz$W z&Oc2`PR6;t9K+~TBQ3fNV5AMWs1jjlAA}nep)&_N9Lm@CR{1hAP(ov4*HKc^(rotA zeAt8?1mjyH@lV)@bouRMC>kA-8L21tledplc+I}&^GCa_7{n!P7~n=I^?T2i z`D##|AjIm6ES)nKU(h*i=r=H6K{Ro&aiIs7Y4hYyPzaQy4-YFMldA&dSD)8ZgU`fb zvl85c*o~m+wv4`kJOW54L%P9B4BZU zdkt`K5)zWn__HGBUO^J?3p9`-v}GlXJ(QJ{Rw4`M-XKa0obbwkj~}&&-l+H5tM<{i zYxlhL1|e_*(u$O)Pv3z3G6}o74gI$5 z+uKXJ$A27-_@W^jY1ljc3pThMsvj;)J`3FX;&>5REKFOO;&cZd|@tL`sOu7&gOvTlI~a1OyW<@s|ZEiFc}=Q}XjwzrCC zng7YLVuIYd;P|1!W1X6MdI7k*@Gg-yauw|}GO^Po6+j0rcKsF{WweJ zX~h^oW0WTX7$FD*v~9q&@AK!0uZbaf(X>~ya6py8COIW#HDZZRv-PN3AsA`vBdMFZ z&h}SKc}cN}$JNhpEv@R#rR7 z+z-m@#rf{VH>h&JE(A)U`jC2Am2p3F*4_l?50)OyW5E3?;QPjOm3-=cXnEd!do&!DJe4qsuco zAeJ+`y1L?wGHo(vL&iaht(3m4o0j&JBC9FcIth7TJ>QLt?8~@1znfx=v!DQLj+-qT zHv`(VH6Z8tb=r^bH9CBFIoxl8&|WsiSxIEA8beK=Y|;y9q4KZ7(L~&WYif>ByjwY5-G zjMKL`(i|~jjv@z{CFG=wz2xOng4f=^KWf{aw;q(TOFyq44&&)?Yqz6F7 zLCjV;Bqg`w-hZ1tCwQKn6{+CZkiu3Yh+NRDy;!t$&<`6OYbf#Q(=~ANPiE$pkzs>- zI0+nOYi@=Df1wTIQL;VsfhGK1)47jgz$InjN4fLfjO}ZQeQclBXb#>_;pR$6nZspO zg8g|DpI<6gPTcW$fEl2Hs`vlyT&fyGHY{lS0$g5vA;5G=55 zsE1ZkHm;+k$r0Rt8z|S=g{dubuz!9FjF^)u(qVs);(Na7G8_X50f&SlsALsuPHw|Q zg!k{?gZ9IA`MaigoW?VQLPlO*-h$p6+ey^{w;=`uzX}WhLC1dM>J=}bT_8J(=)}Pb z@ga=n<{Ci?!KEhv*Yuzm@@uty`*3mYyc9Amft@?wAkRLbsd)`$-~`PM0}F;B@R7d) zrizSUk_Al&#t3W23i^T@wKl7Ul`Wrd@P2i+^orq?1>~GG6hKF}3#9QZ(3SXZ2b?Jrva|Mgv2Sn$5 zD=PB-D657wz@6>X+1Q4meb85ssu4;yE^Pic6OnsTQ{8M%{Y2G51`mHNV#~bdg*xI< z>MqjxL@Kj-)rK8kMNa{Myn^X{c#!mP*Hpx2tYCb7cJA{Q4@~7Gb4JJ|Q7ZE4AH4nF zAF_5Ho*&6-(Gary@!1t^LBa$)s-{*fnpQskgHWo;yv0}z{v?gKKr*-wV^KW5KDya< z*$6nZhxR!o%?Z>5H^+&AokOGg!E;FCA>MKm*W7Y+3<3ZeFx}VJpR}KC0svkWHf){rkV3mlfzj1Ie>*$_6@({JQ-e9A zOXkgY%&u!-2gKk&zI?NEAeHB(ah$WEF8d z&xEle`Ul1!c9O@216i^3x#qdJ7aAHB5|5l&$kFI>^pXraigtfI!|nJv0(hpIFeqxL5_Nk5nL6z?m-s`k~-GJNp8W7zn)~pu;tyod-p7@t;;Zad3{=Q+YsNI zM{8%szR@&)a_YuMB0&t95&hM^kx37SH!HWq<1erXg$Sk#cg^*u4P7_c154JRAI3ba zCr?PCG~pq|T9-zd0^-lVEYr96t;Z9!#r1*O)__c|BC1o5zWWQNpdB8zqX!#c>Cvk zQjC3>`oT_S$1_GoY#1+gFJ*B7K~cYxk17J?d6a*<#u7HwL?!NIhdpX!Hq?;Np_t#ma()SsptbY4M79bH0WEssv4ZQPH-* z1jP=vb+mULKJ4CQfmHM7_J5duY>WZiiA3c#*bJs1|0cUQLIqdtFttZC=8Ga!W%n_= z7?5f)tE4^-w+#<xvE)c49p9V#j+>U#lA*xttT0V#u>IA0J6tbQy2x>C+9lyPPMn=%M3ok7~4 z04Do)!&)luKO5fLWvTxG~d1(+`}lbe~z0MJ7od{gm9o4KeWY**(TJ3I&DbWz1$ zffDsD-S0JX9sE9oY2@3L|ezA6sIH|6_9@YDa6DPdE4DEv%YbAz* zS1ER`As}^r>HK=!U@RLsP!w>wKC;?Iq*)}#2iDADZDW&(k<+9kMRrhy(_{kCmq-&v z>prgYM9!Cqz0=g(d=A7*Z1M{5Z&_bm0H#R9Tn^|fuUJO&tu1#gmRtn@f*=e{A|sjL zzi;i4Q3x{8XXJsE5W!F=WDFYISA>z321cCe4Ir%=XN-m6%y zACZUBx|7^MB-UwWMtXWI&=b(dn_Jnbyr)t>lwMt&7=ILXlrZ4RsQZhuRbQ0%QX0Z^ zN9uZM>y2v?5D1t3UaQPKB=h+@1F=9ZE~cnzSwV8T$3_^y2F#;@G3>;`krh{Bz8PON>s4C!Tfq-&@>})xz zZ7R}Xc;Is*M*+GfDO~iGi==5Jxbvv$0>gvsX#+(U+9{$4A}M1*!B(^lstnybSAsz* zJ3n;1!Ic%_fU&~pZ(49UO8Oiu3ft%)NQw;x5#>hO~QJ*lh;Wq!7BR2 z6{G%wR)5opIulPRHqJg{u7n3L>F=HKYX3HV%cJvYYC`%Z8pAD2)bSr{YuhQGorF4B zLhjp%rM+lOYikoI<~JQG+MuNATS2#C*~G6)3MMOk- z4{I}V8{kE6u!+fszsx&XdK~a zaQcg=$4P7gcx0(_BhSJnPAZ0uh(z5BrhZ)tH7~3c%dmvyu`*AXZ<5w3i-uw~tZBXgQHSYqkZX?M}uFH5oL^bJ^?w-p2=U!=x&Lfe4Uo`<2 zFDvixSx%8iIXr8q=#u``HkL0iMK@ugG|#|&+nx)~NpE}X4lTZtfFh>1tu4|HE+vLu zV^8aH*715neS@#MO`ktz0iOT+ufUL@ay)!7bLM8Vn-nR6z?Rf2GQp?)fDB-82x8V)@2Ej zf|AnXR^01We6c`rMNU&C+TS!3mu8-2Huhc(v{|IXPXy(r$LwXU2P1D`_GwB?dpS+V;}uLX)F+ zM2o;wJGW-0Vuaesm=;$<-9p8@Unl-BpH8RDEqwhWr`{N!ni{%rvQgAS>Oo2$#df-r zVI3|0@yqjMxE%lWiplHG_VoB$d^ja-Z6+7P^CesT(?>#i*5u~q{_OFgN7;Aw z`*=4y;sADQa*%u1>UsK<)YLNcqsU+xEI;i_v9G--C#SI zn7GX*K6Z3q#P$7@KL1-!MkJO_qib>$+?6BbhUn;=%Wn0(tJdNQigt?WFB1Qljbt|3 z2^Mz>KQ=JR*n&(mjCp>=iTrlE0ynyxOO2K}Vi~F1mR*bRx)o6^*8TC$;cA=jB%bIU zi9w$mqL*rps=mqBy$-8~Vw7@)`xPr(G|4dyqsM<>0i~y@adtLnAo=ThZxECL3F*$ z!;JDPGW++#(UB$P*|Q1)`Jl%a8@mJS7rI~U#|;xxcL8ji1fpXCrZ%yY$MFYDZsf_T zINd$yby@vf`~xb;hlU1k*fPbV|L`n){}CM>q@O*=!zuy!1Aj;__)Le9P-S17a=qqA zmq{b!jgF2I$Ht9LomL`IzF+L>`nS%RS%kmiu~m*MsHLyGw`QYu`iXUkmDZja74}kA z6}oS2lLy_NomkzM>$%!yT4-NIo{;7jlbG@7hJ%L6m%DHO`ejvYfZjGLKZ<_XYJ((2 z<;Par;5gAU<3(`ue{AzM$ZqFajP(1w^*KAUq`g?z$o|~9#__$UEG+ow=;$WM{Aa-G z@|Q15V~FM2NNS~?!ub=Ho7Hr5HldBO0%tW!$sPc;&m!4eOiG}u+L$Gn2(ZG^*0utl zG!qr_1L4n}LSkZ@(Y8K>gC8@ja@_t%B+k?(RP}I~#@U%p4oJg%U~igA1{IqbOX(8DPIv29bnUk?vqF znlJ{g%{s(Ii?p(c6TplK1)AgI<6HC+Mo> zz#m@~(qxKsuYT|_ZX7Hwf(Z(Mv!u1PRUx9Ip^y{V43d;Gu)ZeH0s9Q_Rt05Z#jESl zN%AeOobyrDkNv83xxzQUF~L_ALx+zz}3Dp?yC4OA5KMz5cTZM^};@Z6w1m7 zRYm!e^z6Z4!+s_RFWB#zhK8Mum0Wbr5^)9JvZ#AuxCK-ubiee|P2umbD>^KkcHVuw zG4owPtDrE@sCfS)kno4SP&Bku4)xz-Es+{I#^^f1)F6_mQNwAwi&=?bGu2jXty&W@ z$GU&GB&d6r7TG!6-nZ)yc6dYc82|F+4nXjvD}71kY{kJEuE^*WKJw@G&)(Xmrpe5i z9EBtlD_5wKY13|(!1$C|3diRXRGf#gazLUW@C^W3BM(Lfh7X4VmQLHi9sncga~ZgN zP@4ENkDRbq+F4=SwrzM)zBLqv!Y0Kg5k9$&tWAb3nrF@gVT?nHsZ})X!+L%f)w}+_ zr#Uuyrw2tDHbDww{V5zdDT;??>rHtd4q~C)VfedM?C6BFtuO36ZeS1#vN&XC$Bx~? zZ)z==^7wDzyR%m5TZT`f*`&mZZ0{U3O+hU|vF7{Q70Vh#)sKAKbN3e0JqKPq6^WRM z-KzgdTDbl{%3Ai~rVnu~gN&=7)1KjxZzYD(yl7{g@RDA3bmiBg4dL&YU3ch3oD+*d z*C`cCKEICc-aS-pB{uOVf-;@bIxSmOWD|)W>mq}Kk zkH1b22-$UQ$Y|N_DySNU`rr{NL9%nr^frGSa4mU4W&H3;G0(HOGgyv;qN9@-{KY{$ zUf}4@T;;9@%TcXt{}x5jRaT0m|9vLo%OBt zLDtjCJ3^3K4dKUj?;$^}HGZ`v@(FHSO!bv6i)_xV>*$7JV5E!v^J3B;v~6SA3onra zOdg@O3nh(<3~x0si`mjzzuk2m8&jWe6*pf*$`5Lasl%NJAAUB|U`U73Bp3eI+VN&_4>@zJM$aj0q)$SWs4dPIW+2DC-Zs;R&DsYEgwaRmk+ z@=0zW>-Aj#tq>;H9e3=EbaZ~sUlHFCoMIYaJ6&5V6u`wW^Uuctb6vrK6jRRs{dVG&S(|Z!a)r*9MqZEIlfuB(T&DZLw^^AH~k1M+tKl&dgilv|CyS zN{sg4J_AKd2yPBHbr8NxcGuF^|9^@EfB*kWDblk@^DS2GA7zDwLlk_eDrqRDD;Qt@ EA3-IR!2kdN literal 0 HcmV?d00001 diff --git a/objects/dict-object/index.html b/objects/dict-object/index.html new file mode 100644 index 0000000..6fdb726 --- /dev/null +++ b/objects/dict-object/index.html @@ -0,0 +1,1104 @@ + + + + + + + Python Dict 对象 · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + + +
      + +
      + +
      + + + + + + + + +
      +
      + +
      +
      + +
      + +

      Python 字典

      +

      Dictionary object implementation using a hash table ,通过描述可知,python 的字典就是实现了一个 hash 表。

      +

      Python 字典概述

      +

      在 python 的字典中,一个键值对的对应保存就是 PyDictEntry 类型来保存;

      +

      源文件:Include/dict-common.h

      +
      // Objects/dict-common.h
      +typedef struct {
      +    /* Cached hash code of me_key. */
      +    Py_hash_t me_hash;
      +    PyObject *me_key;
      +    PyObject *me_value; /* This field is only meaningful for combined tables */
      +} PyDictKeyEntry;
      +
      +

      其中,me_hash 就是哈希生成的值,me_key 就是对应的 key 值,me_value 就是对应的值。 +在 python 中,在一个 PyDictObject 对象的变化过程中,entry 的状态会在不同的状态间转换。基本上在如下四种状态中转换:Unused、Active、Dummy 和 Pending。

      +
        +
      1. Unused:没有插入任何一个获取的 key 与 value,并且在此之前也没有存储任何的 key,value,每一个 entry 在初始化的时候都会处于这种状态,并且 Unused 会被里面切换到 Active 态,当有 key 插入,这就是 entry 初始化的状态。
      2. +
      3. Active:当 index>=0 时,me_key 不为空并且 me_value 不为空,保存了一个键值对,Active 可以转变为 Dummy 或者 Pending 状态,当一个键被删除的时候,这只会在 me_value 不为空的时候出现。
      4. +
      5. Dummy:先前保存了一个 Active 的键值对,但是这个键值对被删除了并且一个活跃的键值对还没有填入该位置,Dummy 可以转变为 Active 当删除的时候,Dummy 的位置不能被重新使用,一旦发生碰撞,探针序列就无法知道这对键值对曾是活跃的键值对。
      6. +
      7. Pending:索引>=0,键!=空,值=空(仅拆分),尚未插入到拆分表中。
      8. +
      +

      字典的两种类型

      +

      python 的字典类型中包含了两种,分离字典(split-table dictionaries)与联合字典(combined-table dictonaries)。详细的信息可查看有关 dict 的描述pep-0412

      +

      split-table dictionaries

      +

      当被创建的字典是用来保存 object 的__dict__属性时,该字典才会创建为一个 split-table,它们的键表都被缓存在类型属性中,并且允许所有该类型的实例都可以共享该 keys。当出现一个事件将字典的属性值进行改变的时候,个别字典将慢慢的转化成组合表的形式。这就保证了在大部分的应用场景下很高的内存利用效率,并保证了在各个场景下的正确性。当 split-dict 重新改变大小,它会立马改变为一个 combined-table,如果重置大小作为保存实例属性的结果,并且只有一个该 object 的实例,字典会立马再变为一个 split-table。如果从 split-table 中删除一个 key, value,它不会删除 keys tables 中对应的该值,而只是将 values 数值中移除了该 value。

      +

      combined-table dictionaries

      +

      直接通过 dict 內建函数与{}生成的字典,模块和大部分其他字典都会创建为 combined-table 字典,一个 combined-table 不会改变为一个 split-table 字典,该字典的行为方式与最初的字典的行为方式大致相同。

      +

      容器的相关数据结构

      +

      字典对象是通过 PyDictObject 来实现数据的,详情如下;

      +

      源文件:Include/dictobject.h

      +
      // Include/dictobject.h
      +typedef struct _dictkeysobject PyDictKeysObject;
      +
      +/* The ma_values pointer is NULL for a combined table
      + * or points to an array of PyObject* for a split table
      + */
      +typedef struct {
      +    PyObject_HEAD
      +
      +    /* Number of items in the dictionary */
      +    Py_ssize_t ma_used;                 // 使用的keys个数
      +
      +    /* Dictionary version: globally unique, value change each time
      +       the dictionary is modified */
      +    uint64_t ma_version_tag;
      +
      +    PyDictKeysObject *ma_keys;     // 如果有则是保存的keys数据
      +
      +    /* If ma_values is NULL, the table is "combined": keys and values
      +       are stored in ma_keys.
      +
      +       If ma_values is not NULL, the table is splitted:
      +       keys are stored in ma_keys and values are stored in ma_values */
      +    PyObject **ma_values;              // 如果不为空则保存的是values
      +} PyDictObject;
      +
      +

      其中,PyDictKeysObject 的定义如下;

      +

      源文件:Include/dict-common.h

      +
      // Objects/dict-common.h
      +/* See dictobject.c for actual layout of DictKeysObject */
      +struct _dictkeysobject {
      +    Py_ssize_t dk_refcnt;                  // 引用计数
      +
      +    /* Size of the hash table (dk_indices). It must be a power of 2. */
      +    Py_ssize_t dk_size;                   // hash table 的大小必须是2的倍数
      +
      +    /* Function to lookup in the hash table (dk_indices):
      +
      +       - lookdict(): general-purpose, and may return DKIX_ERROR if (and
      +         only if) a comparison raises an exception.
      +
      +       - lookdict_unicode(): specialized to Unicode string keys, comparison of
      +         which can never raise an exception; that function can never return
      +         DKIX_ERROR.
      +
      +       - lookdict_unicode_nodummy(): similar to lookdict_unicode() but further
      +         specialized for Unicode string keys that cannot be the <dummy> value.
      +
      +       - lookdict_split(): Version of lookdict() for split tables. */
      +    dict_lookup_func dk_lookup;                       // 哈希查找函数
      +
      +    /* Number of usable entries in dk_entries. */
      +    Py_ssize_t dk_usable;                             // 可用的entry数量
      +
      +    /* Number of used entries in dk_entries. */ 
      +    Py_ssize_t dk_nentries;                     // 已经使用的entry数量
      +
      +    /* Actual hash table of dk_size entries. It holds indices in dk_entries,
      +       or DKIX_EMPTY(-1) or DKIX_DUMMY(-2).
      +
      +       Indices must be: 0 <= indice < USABLE_FRACTION(dk_size).
      +
      +       The size in bytes of an indice depends on dk_size:
      +
      +       - 1 byte if dk_size <= 0xff (char*)
      +       - 2 bytes if dk_size <= 0xffff (int16_t*)
      +       - 4 bytes if dk_size <= 0xffffffff (int32_t*)
      +       - 8 bytes otherwise (int64_t*)
      +
      +       Dynamically sized, SIZEOF_VOID_P is minimum. */
      +    char dk_indices[];  /* char is required to avoid strict aliasing. */   // 存入的entries
      +
      +    /* "PyDictKeyEntry dk_entries[dk_usable];" array follows:
      +       see the DK_ENTRIES() macro */
      +};
      +
      +

      相关数据结构的内存布局为; +python_dict_mem

      +

      Python 字典示例

      +

      本次示例脚本如下:

      +
      d = {}
      +d['1']='2'
      +d['1']='e'
      +d.pop('1')
      +
      +

      通过 Python 的反汇编工具获取字节码;

      +
      python -m dis dict_test.py
      +
      +

      输出的字节码如下;

      +
        2           0 BUILD_MAP                0
      +              2 STORE_NAME               0 (d)
      +
      +  3           4 LOAD_CONST               0 ('2')
      +              6 LOAD_NAME                0 (d)
      +              8 LOAD_CONST               1 ('1')
      +             10 STORE_SUBSCR
      +
      +  4          12 LOAD_CONST               2 ('e')
      +             14 LOAD_NAME                0 (d)
      +             16 LOAD_CONST               1 ('1')
      +             18 STORE_SUBSCR
      +
      +  5          20 LOAD_NAME                0 (d)
      +             22 LOAD_METHOD              1 (pop)
      +             24 LOAD_CONST               1 ('1')
      +             26 CALL_METHOD              1
      +             28 POP_TOP
      +             30 LOAD_CONST               3 (None)
      +             32 RETURN_VALUE
      +
      +

      通过字节码指令可知,首先调用了 BUILD_MAP 来创建一个新的字典,接着就对新建的字典 d 进行了赋值操作与更新操作,最后调用了 pop 方法删除一个 key。接下来就详细分析一下相关流程。

      +

      字典的初始化流程

      +

      通过查找 BUILD_MAP 的虚拟机执行函数;

      +

      源文件:Python/ceval.c

      +
      // Python/ceval.c
      +switch (opcode) {
      +    ...
      +
      +    TARGET(BUILD_MAP) {
      +        Py_ssize_t i;
      +        PyObject *map = _PyDict_NewPresized((Py_ssize_t)oparg);    // 新建并初始化一个字典
      +        if (map == NULL)
      +            goto error;                                           // 如果新建失败则报错
      +        for (i = oparg; i > 0; i--) {                            // 检查在新建的过程中是否通过参数传值
      +            int err;
      +            PyObject *key = PEEK(2*i);
      +            PyObject *value = PEEK(2*i - 1);
      +            err = PyDict_SetItem(map, key, value);             // 找到对应的值并讲该值设置到map中
      +            if (err != 0) {                        // 检查是否报错
      +                Py_DECREF(map);
      +                goto error;                        // 如果错误就报错处理
      +            }
      +        }
      +
      +        while (oparg--) {
      +            Py_DECREF(POP());                       // 弹出栈上输入参数的引用
      +            Py_DECREF(POP());
      +        }
      +        PUSH(map);                              // 讲生成的map压栈
      +        DISPATCH();                             // 检查是否需要执行下一条字节码指令
      +    }
      +}
      +
      +

      从该函数的执行可知,初始化的函数是从_PyDict_NewPresized 开始,该函数就是生成并初始化一个字典;

      +

      源文件:Objects/dictobject.c

      +
      // Objects/dictobject.c
      +
      +PyObject *
      +_PyDict_NewPresized(Py_ssize_t minused)
      +{
      +    const Py_ssize_t max_presize = 128 * 1024;          // 字典最大的容量
      +    Py_ssize_t newsize;
      +    PyDictKeysObject *new_keys;
      +
      +    /* There are no strict guarantee that returned dict can contain minused
      +     * items without resize.  So we create medium size dict instead of very
      +     * large dict or MemoryError.
      +     */
      +    if (minused > USABLE_FRACTION(max_presize)) {       // 检查传入的数量是否超过最大值
      +        newsize = max_presize;
      +    }
      +    else {
      +        Py_ssize_t minsize = ESTIMATE_SIZE(minused);    // 获取最小的值,在新建一个空的字典的时候该值为0
      +        newsize = PyDict_MINSIZE;                       // 设置字典的最小值 为8
      +        while (newsize < minsize) {                     // 如果传入的值大于最小值则调整newsize 大小
      +            newsize <<= 1;
      +        }
      +    }
      +    assert(IS_POWER_OF_2(newsize));
      +
      +    new_keys = new_keys_object(newsize);                // 生成并初始化一个PyDictKeysObject对象
      +    if (new_keys == NULL)
      +        return NULL;
      +    return new_dict(new_keys, NULL);                    // 生成一个新的对象并返回
      +}
      +
      +

      首先,先计算出需要生成的字典的大小,然后再初始化一个 PyDictKeysObject,最后就生成一个 PyDictObject 返回。继续查看 new_keys_object 的执行流程;

      +

      源文件:Objects/dictobject.c

      +
      // Objects/dictobject.c
      +
      +static PyDictKeysObject *new_keys_object(Py_ssize_t size)
      +{
      +    PyDictKeysObject *dk;
      +    Py_ssize_t es, usable;
      +
      +    assert(size >= PyDict_MINSIZE);           // 检查size是否大于最小size
      +    assert(IS_POWER_OF_2(size));              // 检查是否是2的倍数
      +
      +    usable = USABLE_FRACTION(size);           // 检查是否可用  根据经验在1/2和2/3之间效果最好
      +    if (size <= 0xff) {
      +        es = 1;
      +    }
      +    else if (size <= 0xffff) {
      +        es = 2;
      +    }
      +#if SIZEOF_VOID_P > 4
      +    else if (size <= 0xffffffff) {
      +        es = 4;
      +    }
      +#endif
      +    else {
      +        es = sizeof(Py_ssize_t);
      +    }
      +
      +    if (size == PyDict_MINSIZE && numfreekeys > 0) {      // 是否有缓存,如果有缓存就选择缓存中的dk
      +        dk = keys_free_list[--numfreekeys];
      +    }
      +    else {
      +        dk = PyObject_MALLOC(sizeof(PyDictKeysObject)
      +                             + es * size
      +                             + sizeof(PyDictKeyEntry) * usable);    // 没有缓存可使用的字典则申请内存生成一个
      +        if (dk == NULL) {
      +            PyErr_NoMemory();
      +            return NULL;
      +        }
      +    }
      +    DK_DEBUG_INCREF dk->dk_refcnt = 1;                              // 设置引用计数
      +    dk->dk_size = size;                                             // 设置大小
      +    dk->dk_usable = usable;                                        // 设置是否可用
      +    dk->dk_lookup = lookdict_unicode_nodummy;                       // 设置查找函数
      +    dk->dk_nentries = 0;
      +    memset(&dk->dk_indices[0], 0xff, es * size);                    // 将申请的内存置空
      +    memset(DK_ENTRIES(dk), 0, sizeof(PyDictKeyEntry) * usable);
      +    return dk;
      +}
      +
      +

      主要就是通过传入的 size,检查是否超过设置的大小,检查是否有缓存的字典数据可用,如果没有则申请内存重新生成一个 dk,最后进行申请到的内存讲内容清空。接着就会进行 new_dict 初始化数据;

      +

      源文件:Objects/dictobject.c

      +
      // Objects/dictobject.c
      +
      +/* Consumes a reference to the keys object */
      +static PyObject *
      +new_dict(PyDictKeysObject *keys, PyObject **values)
      +{
      +    PyDictObject *mp;
      +    assert(keys != NULL);
      +    if (numfree) {                            // 判断缓冲池是否有
      +        mp = free_list[--numfree];
      +        assert (mp != NULL);
      +        assert (Py_TYPE(mp) == &PyDict_Type); 
      +        _Py_NewReference((PyObject *)mp);              // 使用缓冲池对象    
      +    }
      +    else {
      +        mp = PyObject_GC_New(PyDictObject, &PyDict_Type);    // 缓冲池没有则申请新的对象并初始化
      +        if (mp == NULL) {
      +            DK_DECREF(keys);
      +            free_values(values);
      +            return NULL;
      +        }
      +    }
      +    mp->ma_keys = keys;
      +    mp->ma_values = values;
      +    mp->ma_used = 0;                           // 设置ma_used为0
      +    mp->ma_version_tag = DICT_NEXT_VERSION();
      +    assert(_PyDict_CheckConsistency(mp));
      +    return (PyObject *)mp;
      +}
      +
      +

      new_dict 就是根据 keys,values 设置到从缓冲池或者新生成一个 dict 对象,最后返回。至此,dict 的创建工作已经完成。

      +

      字典的插入与查找

      +

      通过字节码的指令 STORE_SUBSCR 可知,该命令就是讲'1'作为 key, '2'作为 value 插入到 d 中,此时查看该执行函数;

      +

      源文件:Python/ceval.c

      +
      // Python/ceval.c
      +switch (opcode) {
      +    ...
      +
      +    TARGET(STORE_SUBSCR) {
      +        PyObject *sub = TOP();                 // 第一个值为key
      +        PyObject *container = SECOND();        // 该为字典对象
      +        PyObject *v = THIRD();                 // 该为value
      +        int err;
      +        STACKADJ(-3);
      +        /* container[sub] = v */
      +        err = PyObject_SetItem(container, sub, v);  // 调用该方法设置值
      +        Py_DECREF(v);
      +        Py_DECREF(container);
      +        Py_DECREF(sub);
      +        if (err != 0)
      +            goto error;
      +        DISPATCH();
      +    }
      +}
      +
      +

      此时,从栈中取出相关参数,并将这些值传入 PyObject_SetItem 函数进行处理设置值;

      +

      源文件:Objects/abstract.c

      +
      // Objects/abstract.c
      +int
      +PyObject_SetItem(PyObject *o, PyObject *key, PyObject *value)
      +{
      +    PyMappingMethods *m;
      +
      +    if (o == NULL || key == NULL || value == NULL) {           // 检查是否为空如果任一为空则报错
      +        null_error();
      +        return -1;
      +    }
      +    m = o->ob_type->tp_as_mapping;                      // 获取类型的tp_as_mapping方法集     
      +    if (m && m->mp_ass_subscript)                       // 如果有设置该类型
      +        return m->mp_ass_subscript(o, key, value);                    // 调用该mp_ass_subscript方法
      +
      +    if (o->ob_type->tp_as_sequence) {                                 // 获取作为队列的操作集
      +        if (PyIndex_Check(key)) {                       // 检查key是否是索引
      +            Py_ssize_t key_value;
      +            key_value = PyNumber_AsSsize_t(key, PyExc_IndexError); 
      +            if (key_value == -1 && PyErr_Occurred())
      +                return -1;
      +            return PySequence_SetItem(o, key_value, value);       // 调用索引插入
      +        }
      +        else if (o->ob_type->tp_as_sequence->sq_ass_item) {
      +            type_error("sequence index must be "
      +                       "integer, not '%.200s'", key);
      +            return -1;
      +        }
      +    }
      +
      +    type_error("'%.200s' object does not support item assignment", o);   // 则该类型对象不支持设置
      +    return -1;
      +}
      +
      +

      其中就调用了字典的 tp_as_mapping 的方法集,并调用了该方法集的 mp_ass_subscript 方法;此时我们分析一下,dict 的 tp_as_mapping 的方法集。此时就调用了 tp_as_mapping 的 mp_ass_subscript 方法,此时就是调用 dict 的 dict_ass_sub 方法;

      +

      源文件:Objects/dictobject.c

      +
      // Objects/dictobject.c
      +static int
      +dict_ass_sub(PyDictObject *mp, PyObject *v, PyObject *w)
      +{
      +    if (w == NULL)
      +        return PyDict_DelItem((PyObject *)mp, v);
      +    else
      +        return PyDict_SetItem((PyObject *)mp, v, w);
      +}
      +
      +

      可知,删除一个 key 就是 PyDict_DelItem,设置一个 key 就是 PyDict_SetItem;

      +

      源文件:Objects/dictobject.c

      +
      // Objects/dictobject.c
      +int
      +PyDict_SetItem(PyObject *op, PyObject *key, PyObject *value)
      +{
      +    PyDictObject *mp;
      +    Py_hash_t hash;
      +    if (!PyDict_Check(op)) {            // 检查是否是字典类型
      +        PyErr_BadInternalCall();
      +        return -1;
      +    }
      +    assert(key);
      +    assert(value);
      +    mp = (PyDictObject *)op;
      +    if (!PyUnicode_CheckExact(key) ||
      +        (hash = ((PyASCIIObject *) key)->hash) == -1)  // 检查传入的key是否hash为-1
      +    {
      +        hash = PyObject_Hash(key);                      // 生成hash调用key对应的tp_hash方法,在本例中传入的是str类型,则调用str类型的tp_hash方法
      +        if (hash == -1)
      +            return -1;
      +    }
      +
      +    /* insertdict() handles any resizing that might be necessary */
      +    return insertdict(mp, key, hash, value);          // 生成hash调用key对应的tp_hash方法
      +}
      +
      +

      insertdict 方法就是将生成的方法,插入到字典中去;

      +

      源文件:Objects/dictobject.c

      +
      // Objects/dictobject.c
      +static int
      +insertdict(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject *value)
      +{
      +    PyObject *old_value;
      +    PyDictKeyEntry *ep;
      +
      +    Py_INCREF(key);
      +    Py_INCREF(value);
      +    if (mp->ma_values != NULL && !PyUnicode_CheckExact(key)) {
      +        if (insertion_resize(mp) < 0)                     // 重新设置mp的大小  如果ma_values有值
      +            goto Fail;
      +    }
      +
      +    Py_ssize_t ix = mp->ma_keys->dk_lookup(mp, key, hash, &old_value);     // 调用查找方法
      +    if (ix == DKIX_ERROR)
      +        goto Fail;
      +
      +    assert(PyUnicode_CheckExact(key) || mp->ma_keys->dk_lookup == lookdict);
      +    MAINTAIN_TRACKING(mp, key, value);                                        // 检查mp key values是否需要加入垃圾回收
      +
      +    /* When insertion order is different from shared key, we can't share
      +     * the key anymore.  Convert this instance to combine table.
      +     */
      +    if (_PyDict_HasSplitTable(mp) &&
      +        ((ix >= 0 && old_value == NULL && mp->ma_used != ix) ||
      +         (ix == DKIX_EMPTY && mp->ma_used != mp->ma_keys->dk_nentries))) {  // 检查是否是分离表,如果没查找到旧值并且
      +        if (insertion_resize(mp) < 0)                         // 重新设置该字典大小
      +            goto Fail;
      +        ix = DKIX_EMPTY;
      +    }
      +
      +    if (ix == DKIX_EMPTY) {
      +        /* Insert into new slot. */
      +        assert(old_value == NULL);
      +        if (mp->ma_keys->dk_usable <= 0) {                      // 如果可用的值小于0
      +            /* Need to resize. */
      +            if (insertion_resize(mp) < 0)                       // 需要重新扩展字典大小
      +                goto Fail;
      +        }
      +        Py_ssize_t hashpos = find_empty_slot(mp->ma_keys, hash);         // 查找一个可用的hash位置
      +        ep = &DK_ENTRIES(mp->ma_keys)[mp->ma_keys->dk_nentries];         // 获取存取的地址
      +        dk_set_index(mp->ma_keys, hashpos, mp->ma_keys->dk_nentries);      // 设置该值
      +        ep->me_key = key;                                 // 保存key
      +        ep->me_hash = hash;                                                   // 保存计算得出的hash值
      +        if (mp->ma_values) {                               // 如果mp的ma_values有值
      +            assert (mp->ma_values[mp->ma_keys->dk_nentries] == NULL);
      +            mp->ma_values[mp->ma_keys->dk_nentries] = value;           // 设置该key对应的value
      +        }
      +        else {
      +            ep->me_value = value;                                             // 直接讲value设置到entry上面
      +        }
      +        mp->ma_used++;                                   // 使用个数加1
      +        mp->ma_version_tag = DICT_NEXT_VERSION();  
      +        mp->ma_keys->dk_usable--;                            // 可用减1
      +        mp->ma_keys->dk_nentries++;
      +        assert(mp->ma_keys->dk_usable >= 0);
      +        assert(_PyDict_CheckConsistency(mp));
      +        return 0;
      +    }
      +
      +    if (_PyDict_HasSplitTable(mp)) {                                         // 如果是分离的
      +        mp->ma_values[ix] = value;                                           // 直接设置ma_values对应的ix到values中
      +        if (old_value == NULL) {
      +            /* pending state */
      +            assert(ix == mp->ma_used);
      +            mp->ma_used++;                               // 使用加1
      +        }
      +    }
      +    else {
      +        assert(old_value != NULL);
      +        DK_ENTRIES(mp->ma_keys)[ix].me_value = value;
      +    }
      +
      +    mp->ma_version_tag = DICT_NEXT_VERSION();
      +    Py_XDECREF(old_value); /* which **CAN** re-enter (see issue #22653) */
      +    assert(_PyDict_CheckConsistency(mp));
      +    Py_DECREF(key);
      +    return 0;
      +
      +Fail:
      +    Py_DECREF(value);
      +    Py_DECREF(key);
      +    return -1;
      +}
      +
      +

      首先会调用相关的查找方法,去查找待搜索的值是否已经存在字典中,如果当前字典数据已经满了则会按照增长大小的函数生成一个新的字典,并把旧数据设置到新的字典中,当找到的字典匹配时则返回。

      +

      其中 dk_lookup 对应的方法,在初始化之后对应的是 lookdict_unicode_nodummy;

      +

      源文件:Objects/dictobject.c

      +
      // Objects/dictobject.c
      +
      +/* Faster version of lookdict_unicode when it is known that no <dummy> keys
      + * will be present. */
      +static Py_ssize_t _Py_HOT_FUNCTION
      +lookdict_unicode_nodummy(PyDictObject *mp, PyObject *key,
      +                         Py_hash_t hash, PyObject **value_addr)
      +{
      +    assert(mp->ma_values == NULL);
      +    /* Make sure this function doesn't have to handle non-unicode keys,
      +       including subclasses of str; e.g., one reason to subclass
      +       unicodes is to override __eq__, and for speed we don't cater to
      +       that here. */
      +    if (!PyUnicode_CheckExact(key)) {                     // 检查如果不是unicode则直接调用lookdict方法查找
      +        mp->ma_keys->dk_lookup = lookdict;
      +        return lookdict(mp, key, hash, value_addr);
      +    }
      +
      +    PyDictKeyEntry *ep0 = DK_ENTRIES(mp->ma_keys);             // 获取keys的首个元素地址
      +    size_t mask = DK_MASK(mp->ma_keys);                    // 获取大小
      +    size_t perturb = (size_t)hash;
      +    size_t i = (size_t)hash & mask;                       // 获取生成的最终的值                 
      +
      +    for (;;) {
      +        Py_ssize_t ix = dk_get_index(mp->ma_keys, i);                // 便利ma_keys key列表
      +        assert (ix != DKIX_DUMMY);                     // 判断不能为空
      +        if (ix == DKIX_EMPTY) {                                     // 如果为空则证明找到一个可以使用的
      +            *value_addr = NULL;                       // 讲key对应的value设置为空
      +            return DKIX_EMPTY;                        // 返回
      +        }
      +        PyDictKeyEntry *ep = &ep0[ix];                       // 获取该位置元素值
      +        assert(ep->me_key != NULL);
      +        assert(PyUnicode_CheckExact(ep->me_key));
      +        if (ep->me_key == key ||
      +            (ep->me_hash == hash && unicode_eq(ep->me_key, key))) {  // 如果key相同 hash值也相同
      +            *value_addr = ep->me_value;                    // 将该值赋值
      +            return ix;
      +        }
      +        perturb >>= PERTURB_SHIFT;                      // 偏移
      +        i = mask & (i*5 + perturb + 1);                   // 获取下一个位置
      +    }
      +    Py_UNREACHABLE();
      +}
      +
      +

      该函数的主要工作就是查找,字典中是否有空余的值,或者如果找到了满足 hash 值与 key 相同的就将 value 设置为找到的值(这也是字典查找的核心逻辑)。至此,字典的插入的大致流程已经分析完毕。

      +

      Python 字典的操作测试

      +

      现在我们动手观看一下具体的操作实例,首先声明,该例子仅供调试使用,目前调试的字典的 key 与 value 都是 float 类型并且不能 del 或者 pop 其中的 key。操作字典如下所示;

      +
      = {20000:2}
      +d[1] = 2
      +d[3] = 2
      +
      +

      首先,讲如下代码插入到 dictobject.c 的 1060 行;

      +
      // 测试代码
      +PyObject* key1 = PyLong_FromLong(20000);
      +Py_hash_t hash1 = PyObject_Hash(key1);
      +PyObject* old_value1;
      +Py_ssize_t ix1 = mp->ma_keys->dk_lookup(mp, key1, hash1, &old_value1);
      +if (ix1 == 0){
      +    PyLongObject* give;
      +    give = (PyLongObject* )key1;
      +    printf("found value : %ld\n", give->ob_digit[0]);
      +    PyDictKeyEntry *ep01 = DK_ENTRIES(mp->ma_keys);
      +    int i, count;
      +    count = mp->ma_used;
      +    int size_count, j;
      +    size_count = mp->ma_keys->dk_size;
      +    printf("%s ", mp->ma_keys->dk_indices);
      +    int8_t *indices = (int8_t*)(mp->ma_keys->dk_indices);
      +    printf("indices index values :");
      +    for (j=0; j<size_count;j++){
      +        printf("%d  ",(char) indices[j]);
      +    }
      +    printf("\n");
      +    for (i=0; i<count;i++){
      +        give = (PyLongObject* )ep01->me_key;
      +        printf("size : %d ", mp->ma_keys->dk_size);
      +        printf("found value while  key : %ld   ", give->ob_digit[0]);
      +        give = (PyLongObject* )ep01->me_value;
      +        printf("value  : %ld\n", give->ob_digit[0]);
      +        ep01++;
      +    }
      +}
      +
      +

      然后编译运行;

      +
      Python 3.7.3 (default, May 22 2019, 16:17:57)
      +[GCC 7.3.0] on linux
      +Type "help", "copyright", "credits" or "license" for more information.
      +>>> d = {20000:2}
      +found value : 20000
      + indices index values :0  -1  -1  -1  -1  -1  -1  -1
      +size : 8 found value while  key : 20000   value  : 2
      +
      +

      其中为什么初始化的时候输入 20000,是根据代码找到相关的 key 值,因为字典也被 python 自身实现的结构中引用了多次,所以我们就设置了一个特殊值来跟踪我们想要的字典;当 d 初始化的时候,就输出如上所示内容;我们接下来继续操作;

      +
      >>> d = {20000:2}
      +found value : 20000
      + indices index values :0  -1  -1  -1  -1  -1  -1  -1
      +size : 8 found value while  key : 20000   value  : 2
      +>>> d[2] = 3
      +found value : 20000
      + indices index values :0  -1  1  -1  -1  -1  -1  -1
      +size : 8 found value while  key : 20000   value  : 2
      +size : 8 found value while  key : 2   value  : 3
      +>>> d[3] = 4
      +found value : 20000
      + indices index values :0  -1  1  2  -1  -1  -1  -1
      +size : 8 found value while  key : 20000   value  : 2
      +size : 8 found value while  key : 2   value  : 3
      +size : 8 found value while  key : 3   value  : 4
      +>>> d[5] = 6
      +found value : 20000
      + indices index values :0  -1  1  2  -1  3  -1  -1
      +size : 8 found value while  key : 20000   value  : 2
      +size : 8 found value while  key : 2   value  : 3
      +size : 8 found value while  key : 3   value  : 4
      +size : 8 found value while  key : 5   value  : 6
      +>>> d[7] = 8
      +found value : 20000
      + indices index values :0  -1  1  2  -1  3  -1  4
      +size : 8 found value while  key : 20000   value  : 2
      +size : 8 found value while  key : 2   value  : 3
      +size : 8 found value while  key : 3   value  : 4
      +size : 8 found value while  key : 5   value  : 6
      +size : 8 found value while  key : 7   value  : 8
      +
      +

      此后我们一直添加值进 d,从输出信息可知,index 就是记录了 PyDictKeyEntry 的索引值,-1 就表示该处未使用。 +当我们继续向 d 中添加内容时;

      +
      >>> d[9] = 10
      +found value : 20000
      + indices index values :0  -1  1  2  -1  3  -1  4  -1  5  -1  -1  -1  -1  -1  -1
      +size : 16 found value while  key : 20000   value  : 2
      +size : 16 found value while  key : 2   value  : 3
      +size : 16 found value while  key : 3   value  : 4
      +size : 16 found value while  key : 5   value  : 6
      +size : 16 found value while  key : 7   value  : 8
      +size : 16 found value while  key : 9   value  : 10
      +>>> d[10] = 11
      +found value : 20000
      + indices index values :0  -1  1  2  -1  3  -1  4  -1  5  6  -1  -1  -1  -1  -1
      +size : 16 found value while  key : 20000   value  : 2
      +size : 16 found value while  key : 2   value  : 3
      +size : 16 found value while  key : 3   value  : 4
      +size : 16 found value while  key : 5   value  : 6
      +size : 16 found value while  key : 7   value  : 8
      +size : 16 found value while  key : 9   value  : 10
      +size : 16 found value while  key : 10   value  : 11
      +
      +

      从输出内容可知,字典的大小随之改变了,这也说明了 python 字典的最佳大小容量限定在 1/2 到 2/3 之间,如果超过这个阈值则字典就会自动扩容,扩容的策略大家可详细查看源码。

      +
      Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
      + +
      + +
      +
      +
      + +

      results matching ""

      +
        + +
        +
        + +

        No results matching ""

        + +
        +
        +
        + +
        +
        + +
        + + + + + + + + + + + + + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/list-object/PyListStructure.png b/objects/list-object/PyListStructure.png new file mode 100644 index 0000000000000000000000000000000000000000..9e357bdc3bedbfe62c63e7fec76a4681cb40b0a7 GIT binary patch literal 11631 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 literal 0 HcmV?d00001 diff --git a/objects/list-object/index.html b/objects/list-object/index.html new file mode 100644 index 0000000..d09747f --- /dev/null +++ b/objects/list-object/index.html @@ -0,0 +1,831 @@ + + + + + + + Python List 对象 · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + +
        + +
        + + + + + + + + +
        +
        + +
        +
        + +
        + +

        Python List 对象

        +

        在Python中的list可以存放任何类型的数据,查看PyListObject可以发现,list实际存放的是PyObject* 指针

        +

        PyListObject

        +

        源文件:Include/listobject.h

        +
        // listobject.h
        +
        +typedef struct {
        +    PyObject_VAR_HEAD
        +    /* Vector of pointers to list elements.  list[0] is ob_item[0], etc. */
        +    PyObject **ob_item;
        +
        +    /* ob_item contains space for 'allocated' elements.  The number
        +     * currently in use is ob_size.
        +     * Invariants:
        +     *     0 <= ob_size <= allocated
        +     *     len(list) == ob_size
        +     *     ob_item == NULL implies ob_size == allocated == 0
        +     * list.sort() temporarily sets allocated to -1 to detect mutations.
        +     *
        +     * Items must normally not be NULL, except during construction when
        +     * the list is not yet visible outside the function that builds it.
        +     */
        +
        +    // 可容纳元素的总数
        +    Py_ssize_t allocated;
        +} PyListObject;
        +
        +

        示例

        +
        lst = []
        +lst.append(1)
        +
        +

        其存储结构如下图

        +

        PyList structure

        +

        PyListObject对象的一些操作

        +
          +
        • 创建PyListObject PyList_New
        • +
        • 对象赋值 PyList_SetItem
        • +
        • 获取元素 PyList_GetItem
        • +
        • 插入元素 PyList_Insert
        • +
        • 追加元素 PyList_Append
        • +
        • 移除元素 list_remove
        • +
        • 调整list大小 list_resize
        • +
        +

        PyList_New 创建对象

        +

        为了避免频繁的申请内存空间,创建PyListObject的时候会先检查缓冲池是否有可用空间

        +

        源文件:Objects/listobject.c

        +
        // listobject.c
        +
        +PyObject *
        +PyList_New(Py_ssize_t size)
        +{
        +    PyListObject *op;
        +#ifdef SHOW_ALLOC_COUNT
        +    static int initialized = 0;
        +    if (!initialized) {
        +        Py_AtExit(show_alloc);
        +        initialized = 1;
        +    }
        +#endif
        +
        +    // size 合法性检查
        +    if (size < 0) {
        +        PyErr_BadInternalCall();
        +        return NULL;
        +    }
        +
        +    // PyListObject对象缓冲池是否有可用空间
        +    if (numfree) {
        +        numfree--;
        +        op = free_list[numfree];
        +        _Py_NewReference((PyObject *)op);
        +#ifdef SHOW_ALLOC_COUNT
        +        count_reuse++;
        +#endif
        +    } else {
        +        // 缓冲池满只能向系统申请内存
        +        op = PyObject_GC_New(PyListObject, &PyList_Type);
        +        if (op == NULL)
        +            return NULL;
        +#ifdef SHOW_ALLOC_COUNT
        +        count_alloc++;
        +#endif
        +    }
        +    if (size <= 0)
        +        op->ob_item = NULL;
        +    else {
        +        op->ob_item = (PyObject **) PyMem_Calloc(size, sizeof(PyObject *));
        +        if (op->ob_item == NULL) {
        +            Py_DECREF(op);
        +            return PyErr_NoMemory();
        +        }
        +    }
        +    Py_SIZE(op) = size;
        +    op->allocated = size;
        +    _PyObject_GC_TRACK(op);
        +    return (PyObject *) op;
        +}
        +
        +

        PyListObject缓冲池默认大小为80 源文件:Include/listobject.c

        +
        // listobject.c
        +
        +/* Empty list reuse scheme to save calls to malloc and free */
        +#ifndef PyList_MAXFREELIST
        +#define PyList_MAXFREELIST 80
        +#endif
        +static PyListObject *free_list[PyList_MAXFREELIST];
        +static int numfree = 0;
        +
        +

        PyList_SetItem 元素赋值

        +

        源文件:Objects/listobject.c

        +
        // listobject.c
        +
        +int
        +PyList_SetItem(PyObject *op, Py_ssize_t i,
        +               PyObject *newitem)
        +{
        +    PyObject **p;
        +    if (!PyList_Check(op)) {
        +        Py_XDECREF(newitem);
        +        PyErr_BadInternalCall();
        +        return -1;
        +    }
        +    if (i < 0 || i >= Py_SIZE(op)) {
        +        Py_XDECREF(newitem);
        +        PyErr_SetString(PyExc_IndexError,
        +                        "list assignment index out of range");
        +        return -1;
        +    }
        +    p = ((PyListObject *)op) -> ob_item + i;
        +    Py_XSETREF(*p, newitem);
        +    return 0;
        +}
        +
        +

        元素赋值的示例

        +
        lst = [0, 1, 2]
        +lst[0] = 3
        +# 这里 lst[0] = 3 会调用 PyList_SetItem 函数
        +
        +

        PyList_GetItem 获取元素

        +

        源文件:Objects/listobject.c

        +
        // Objects/listobject.c
        +
        +PyObject *
        +PyList_GetItem(PyObject *op, Py_ssize_t i)
        +{
        +    if (!PyList_Check(op)) {
        +        PyErr_BadInternalCall();
        +        return NULL;
        +    }
        +    if (i < 0 || i >= Py_SIZE(op)) {
        +        if (indexerr == NULL) {
        +            indexerr = PyUnicode_FromString(
        +                "list index out of range");
        +            if (indexerr == NULL)
        +                return NULL;
        +        }
        +        PyErr_SetObject(PyExc_IndexError, indexerr);
        +        return NULL;
        +    }
        +    return ((PyListObject *)op) -> ob_item[i];
        +}
        +
        +

        获取元素的示例

        +
        lst = [1, 2, 3, 4]
        +print(lst[3])
        +# lst[3] 实际调用的就是 PyList_GetItem
        +# 根据索引返回对应的元素
        +
        +

        PyList_Append 追加元素

        +

        PyList_Append 调用 app1

        +
        int
        +PyList_Append(PyObject *op, PyObject *newitem)
        +{
        +    if (PyList_Check(op) && (newitem != NULL))
        +        return app1((PyListObject *)op, newitem);
        +    PyErr_BadInternalCall();
        +    return -1;
        +}
        +
        +

        源文件:Objects/listobject.c

        +
        // Objects/listobject.c
        +
        +static int
        +app1(PyListObject *self, PyObject *v)
        +{
        +    Py_ssize_t n = PyList_GET_SIZE(self);
        +
        +    assert (v != NULL);
        +    if (n == PY_SSIZE_T_MAX) {
        +        PyErr_SetString(PyExc_OverflowError,
        +            "cannot add more objects to list");
        +        return -1;
        +    }
        +
        +    if (list_resize(self, n+1) < 0)
        +        return -1;
        +
        +    Py_INCREF(v);
        +    PyList_SET_ITEM(self, n, v);
        +    return 0;
        +}
        +
        +

        app1代码可以看出追加元素操作大致流程如下

        +
          +
        • 调用list_resize,将list大小加一
        • +
        • 将元素插入list尾部
        • +
        +

        PyList_Insert 插入元素

        +

        PyList_Insert 调用 ins1

        +
        int
        +PyList_Insert(PyObject *op, Py_ssize_t where, PyObject *newitem)
        +{
        +    if (!PyList_Check(op)) {
        +        PyErr_BadInternalCall();
        +        return -1;
        +    }
        +    return ins1((PyListObject *)op, where, newitem);
        +}
        +
        +

        源文件:Objects/listobject.c

        +
        // Objects/listobject.c
        +
        +static int
        +ins1(PyListObject *self, Py_ssize_t where, PyObject *v)
        +{
        +    Py_ssize_t i, n = Py_SIZE(self);
        +    PyObject **items;
        +    if (v == NULL) {
        +        PyErr_BadInternalCall();
        +        return -1;
        +    }
        +    if (n == PY_SSIZE_T_MAX) {
        +        PyErr_SetString(PyExc_OverflowError,
        +            "cannot add more objects to list");
        +        return -1;
        +    }
        +
        +    if (list_resize(self, n+1) < 0)
        +        return -1;
        +
        +    if (where < 0) {
        +        where += n;
        +        if (where < 0)
        +            where = 0;
        +    }
        +    if (where > n)
        +        where = n;
        +    items = self->ob_item;
        +    for (i = n; --i >= where; )
        +        items[i+1] = items[i];
        +    Py_INCREF(v);
        +    items[where] = v;
        +    return 0;
        +}
        +
        +

        ins1代码可以看出插入元素操作大致流程如下

        +
          +
        • 调用list_resize,将list大小加一
        • +
        • 将要插入的位置的元素都往后移一个位置
        • +
        • 将元素插入指定位置
        • +
        +

        list_remove 移除元素

        +

        源文件:Objects/listobject.c

        +
        // listobject.c
        +
        +static PyObject *
        +list_remove(PyListObject *self, PyObject *value)
        +/*[clinic end generated code: output=f087e1951a5e30d1 input=2dc2ba5bb2fb1f82]*/
        +{
        +    Py_ssize_t i;
        +
        +    for (i = 0; i < Py_SIZE(self); i++) {
        +        int cmp = PyObject_RichCompareBool(self->ob_item[i], value, Py_EQ);
        +        if (cmp > 0) {
        +            if (list_ass_slice(self, i, i+1,
        +                               (PyObject *)NULL) == 0)
        +                Py_RETURN_NONE;
        +            return NULL;
        +        }
        +        else if (cmp < 0)
        +            return NULL;
        +    }
        +    PyErr_SetString(PyExc_ValueError, "list.remove(x): x not in list");
        +    return NULL;
        +}
        +
        +

        移除元素示例

        +
        lst = [0, 2, 4, 3]
        +lst.remove(3)
        +"""
        +lst.remove(3) 会调用 list_remove函数,
        +list_remove函数会遍历列表,使用PyObject_RichCompareBool与目标值进行比较,
        +相同则调用list_ass_slice进行移除,当遍历完列表还未找到则报错
        +"""
        +
        +

        list_resize 调整list存储空间

        +

        随着list元素的增加,list的存储空间可能会不够用,这个时候就需要扩大list的存储空间。 +随着list元素的减少,list的存储空间可能存在冗余,这个时候就需要缩小list的存储空间。 +函数list_resize就是用于调节list存储空间大小的

        +

        源文件:Objects/listobject.c

        +
        // listobject.c
        +
        +static int
        +list_resize(PyListObject *self, Py_ssize_t newsize)
        +{
        +    PyObject **items;
        +    size_t new_allocated, num_allocated_bytes;
        +    Py_ssize_t allocated = self->allocated;
        +
        +    /* Bypass realloc() when a previous overallocation is large enough
        +       to accommodate the newsize.  If the newsize falls lower than half
        +       the allocated size, then proceed with the realloc() to shrink the list.
        +    */
        +    if (allocated >= newsize && newsize >= (allocated >> 1)) {
        +        assert(self->ob_item != NULL || newsize == 0);
        +        Py_SIZE(self) = newsize;
        +        return 0;
        +    }
        +
        +    /* This over-allocates proportional to the list size, making room
        +     * for additional growth.  The over-allocation is mild, but is
        +     * enough to give linear-time amortized behavior over a long
        +     * sequence of appends() in the presence of a poorly-performing
        +     * system realloc().
        +     * The growth pattern is:  0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...
        +     * Note: new_allocated won't overflow because the largest possible value
        +     *       is PY_SSIZE_T_MAX * (9 / 8) + 6 which always fits in a size_t.
        +     */
        +    new_allocated = (size_t)newsize + (newsize >> 3) + (newsize < 9 ? 3 : 6);
        +    if (new_allocated > (size_t)PY_SSIZE_T_MAX / sizeof(PyObject *)) {
        +        PyErr_NoMemory();
        +        return -1;
        +    }
        +
        +    if (newsize == 0)
        +        new_allocated = 0;
        +    num_allocated_bytes = new_allocated * sizeof(PyObject *);
        +    items = (PyObject **)PyMem_Realloc(self->ob_item, num_allocated_bytes);
        +    if (items == NULL) {
        +        PyErr_NoMemory();
        +        return -1;
        +    }
        +    self->ob_item = items;
        +    Py_SIZE(self) = newsize;
        +    self->allocated = new_allocated;
        +    return 0;
        +}
        +
        +

        allocated/2 <= newsize <= allocated 时,list_resize只会改变 ob_size不会改变allocated。 +其他情况则需要调用PyMem_Realloc函数分配新的空间存储列表元素。

        +

        列表allocated的增长模式是 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...

        +

        其公式为 new_allocated = (size_t)newsize + (newsize >> 3) + (newsize < 9 ? 3 : 6)

        +
        Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
        + +
        + +
        +
        +
        + +

        results matching ""

        +
          + +
          +
          + +

          No results matching ""

          + +
          +
          +
          + +
          +
          + +
          + + + + + + + + + + + + + + +
          + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/long-object/index.html b/objects/long-object/index.html new file mode 100644 index 0000000..3bc399a --- /dev/null +++ b/objects/long-object/index.html @@ -0,0 +1,1043 @@ + + + + + + + Python 整数对象 · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + + + +
          + +
          + +
          + + + + + + + + +
          +
          + +
          +
          + +
          + +

          Python 整数对象

          +

          CPython2 的整数对象 有 PyIntObjectPyLongObject 这两种类型, +CPython3 只保留了 PyLongObject

          +

          源文件:Objects/longobject.c +的第三行有这么一句话 XXX The functional organization of this file is terrible

          +

          可见这个变化不是一蹴而就的,有比较艰辛的过程,大家有兴趣可以去挖掘一下

          +

          PyLongObject

          +

          源文件:Include/longobject.h

          +
          // longobject.h
          +
          +typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
          +
          +

          源文件:Include/longintrepr.h

          +
          // longintrepr.h
          +/* Long integer representation.
          +   The absolute value of a number is equal to
          +   一个数的绝对值等价于下面的表达式
          +        SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i)
          +
          +   Negative numbers are represented with ob_size < 0;
          +   负数表示为 ob_size < 0
          +
          +   zero is represented by ob_size == 0.
          +   整数0 用 ob_size == 0表示
          +
          +   In a normalized number, ob_digit[abs(ob_size)-1] (the most significant
          +   digit) is never zero.  Also, in all cases, for all valid i,
          +
          +    在一个规范的数字ob_digit[abs(ob_size)-1]()永不为0。而且,所有有效的 i 都满足以下要求
          +        0 <= ob_digit[i] <= MASK.
          +
          +   The allocation function takes care of allocating extra memory
          +   so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available.
          +
          +   CAUTION:  Generic code manipulating subtypes of PyVarObject has to
          +   aware that ints abuse ob_size's sign bit.
          +
          +   警告: 通用代码操作 PyVarObject 的子类型必须注意 ob_size的符号滥用问题。
          +*/
          +
          +struct _longobject {
          +    PyObject_VAR_HEAD
          +    digit ob_digit[1];
          +};
          +
          +

          从源码可以看出 PyLongObject 是变长对象

          +

          类型对象 PyLong_Type

          +

          源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +PyTypeObject PyLong_Type = {
          +    PyVarObject_HEAD_INIT(&PyType_Type, 0)
          +    "int",                                      /* tp_name */
          +    offsetof(PyLongObject, ob_digit),           /* tp_basicsize */
          +    sizeof(digit),                              /* tp_itemsize */
          +    long_dealloc,                               /* tp_dealloc */
          +    0,                                          /* tp_print */
          +    0,                                          /* tp_getattr */
          +    0,                                          /* tp_setattr */
          +    0,                                          /* tp_reserved */
          +    long_to_decimal_string,                     /* tp_repr */
          +    &long_as_number,                            /* tp_as_number */
          +    0,                                          /* tp_as_sequence */
          +    0,                                          /* tp_as_mapping */
          +    (hashfunc)long_hash,                        /* tp_hash */
          +    0,                                          /* tp_call */
          +    long_to_decimal_string,                     /* tp_str */
          +    PyObject_GenericGetAttr,                    /* tp_getattro */
          +    0,                                          /* tp_setattro */
          +    0,                                          /* tp_as_buffer */
          +    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE |
          +        Py_TPFLAGS_LONG_SUBCLASS,               /* tp_flags */
          +    long_doc,                                   /* tp_doc */
          +    0,                                          /* tp_traverse */
          +    0,                                          /* tp_clear */
          +    long_richcompare,                           /* tp_richcompare */
          +    0,                                          /* tp_weaklistoffset */
          +    0,                                          /* tp_iter */
          +    0,                                          /* tp_iternext */
          +    long_methods,                               /* tp_methods */
          +    0,                                          /* tp_members */
          +    long_getset,                                /* tp_getset */
          +    0,                                          /* tp_base */
          +    0,                                          /* tp_dict */
          +    0,                                          /* tp_descr_get */
          +    0,                                          /* tp_descr_set */
          +    0,                                          /* tp_dictoffset */
          +    0,                                          /* tp_init */
          +    0,                                          /* tp_alloc */
          +    long_new,                                   /* tp_new */
          +    PyObject_Del,                               /* tp_free */
          +};
          +
          +

          创建整数对象

          +

          从 PyLong_Type 可以看出,创建一个整数对象的入口函数为 long_new

          +

          源文件:Objects/clinic/longobject.c.h

          +
          // Objects/clinic/longobject.c.h
          +/*[clinic input]
          +preserve
          +[clinic start generated code]*/
          +
          +static PyObject *
          +long_new_impl(PyTypeObject *type, PyObject *x, PyObject *obase);
          +
          +static PyObject *
          +long_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
          +{
          +    PyObject *return_value = NULL;
          +    static const char * const _keywords[] = {"", "base", NULL};
          +    static _PyArg_Parser _parser = {"|OO:int", _keywords, 0};
          +    PyObject *x = NULL;
          +    PyObject *obase = NULL;
          +
          +    if (!_PyArg_ParseTupleAndKeywordsFast(args, kwargs, &_parser,
          +        &x, &obase)) {
          +        goto exit;
          +    }
          +    return_value = long_new_impl(type, x, obase);
          +
          +exit:
          +    return return_value;
          +}
          +
          +

          具体实现在 long_new_impl 源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +/*[clinic input]
          +@classmethod
          +int.__new__ as long_new
          +    x: object(c_default="NULL") = 0
          +    /
          +    base as obase: object(c_default="NULL") = 10
          +[clinic start generated code]*/
          +
          +static PyObject *
          +long_new_impl(PyTypeObject *type, PyObject *x, PyObject *obase)
          +/*[clinic end generated code: output=e47cfe777ab0f24c input=81c98f418af9eb6f]*/
          +{
          +    Py_ssize_t base;
          +
          +    if (type != &PyLong_Type)
          +        return long_subtype_new(type, x, obase); /* Wimp out */
          +    if (x == NULL) {
          +        if (obase != NULL) {
          +            PyErr_SetString(PyExc_TypeError,
          +                            "int() missing string argument");
          +            return NULL;
          +        }
          +        return PyLong_FromLong(0L);
          +    }
          +    if (obase == NULL)
          +        return PyNumber_Long(x);
          +
          +    base = PyNumber_AsSsize_t(obase, NULL);
          +    if (base == -1 && PyErr_Occurred())
          +        return NULL;
          +    if ((base != 0 && base < 2) || base > 36) {
          +        PyErr_SetString(PyExc_ValueError,
          +                        "int() base must be >= 2 and <= 36, or 0");
          +        return NULL;
          +    }
          +
          +    if (PyUnicode_Check(x))
          +        return PyLong_FromUnicodeObject(x, (int)base);
          +    else if (PyByteArray_Check(x) || PyBytes_Check(x)) {
          +        char *string;
          +        if (PyByteArray_Check(x))
          +            string = PyByteArray_AS_STRING(x);
          +        else
          +            string = PyBytes_AS_STRING(x);
          +        return _PyLong_FromBytes(string, Py_SIZE(x), (int)base);
          +    }
          +    else {
          +        PyErr_SetString(PyExc_TypeError,
          +                        "int() can't convert non-string with explicit base");
          +        return NULL;
          +    }
          +}
          +
          +

          从 long_new_impl 函数可以看出有如下几种情况

          +
            +
          • x == NULL 且 obase != NULL 调用 PyLong_FromLong
          • +
          • obase 为 NULL 调用 PyNumber_Long
          • +
          • x 和 obase 都不为 NULL
              +
            • PyUnicode 调用 PyLong_FromUnicodeObject,最终调用 PyLong_FromString
            • +
            • PyByteArray/PyBytes 调用_PyLong_FromBytes,最终调用 PyLong_FromString
            • +
            +
          • +
          +

          小整数对象

          +

          一些整数在一开始就会被初始化一直留存,当再次使用直接从小整数对象池中获取,不用频繁的申请内存。

          +

          默认的小整数范围是 [-5, 257) 源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +#ifndef NSMALLPOSINTS
          +#define NSMALLPOSINTS           257
          +#endif
          +#ifndef NSMALLNEGINTS
          +#define NSMALLNEGINTS           5
          +#endif
          +
          +#if NSMALLNEGINTS + NSMALLPOSINTS > 0
          +/* Small integers are preallocated in this array so that they
          +   can be shared.
          +   The integers that are preallocated are those in the range
          +   -NSMALLNEGINTS (inclusive) to NSMALLPOSINTS (not inclusive). */
          +static PyLongObject small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
          +#ifdef COUNT_ALLOCS
          +Py_ssize_t quick_int_allocs, quick_neg_int_allocs;
          +#endif
          +
          +static PyObject *
          +get_small_int(sdigit ival)
          +{
          +    PyObject *v;
          +    assert(-NSMALLNEGINTS <= ival && ival < NSMALLPOSINTS);
          +    v = (PyObject *)&small_ints[ival + NSMALLNEGINTS];
          +    Py_INCREF(v);
          +#ifdef COUNT_ALLOCS
          +    if (ival >= 0)
          +        quick_int_allocs++;
          +    else
          +        quick_neg_int_allocs++;
          +#endif
          +    return v;
          +}
          +#define CHECK_SMALL_INT(ival) \
          +    do if (-NSMALLNEGINTS <= ival && ival < NSMALLPOSINTS) { \
          +        return get_small_int((sdigit)ival); \
          +    } while(0)
          +
          +

          CHECK_SMALL_INT 会检查传入的数是否在小整数范围内,如果是直接返回。 +可以在创建或复制整数对象等函数中找到 CHECK_SMALL_INT 的身影,以下只列出了 +PyLong_FromLong,就不一一列举了

          +

          源文件:Objects/longobject.c

          +
          // Object/longobject.c
          +
          +PyObject *
          +PyLong_FromLong(long ival)
          +{
          +    PyLongObject *v;
          +    unsigned long abs_ival;
          +    unsigned long t;  /* unsigned so >> doesn't propagate sign bit */
          +    int ndigits = 0;
          +    int sign;
          +
          +    CHECK_SMALL_INT(ival);
          +
          +    ...
          +}
          +
          +

          小整数初始化

          +

          源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +int
          +_PyLong_Init(void)
          +{
          +#if NSMALLNEGINTS + NSMALLPOSINTS > 0
          +    int ival, size;
          +    PyLongObject *v = small_ints;
          +
          +    for (ival = -NSMALLNEGINTS; ival <  NSMALLPOSINTS; ival++, v++) {
          +        size = (ival < 0) ? -1 : ((ival == 0) ? 0 : 1);
          +        if (Py_TYPE(v) == &PyLong_Type) {
          +            /* The element is already initialized, most likely
          +             * the Python interpreter was initialized before.
          +             */
          +            Py_ssize_t refcnt;
          +            PyObject* op = (PyObject*)v;
          +
          +            refcnt = Py_REFCNT(op) < 0 ? 0 : Py_REFCNT(op);
          +            _Py_NewReference(op);
          +            /* _Py_NewReference sets the ref count to 1 but
          +             * the ref count might be larger. Set the refcnt
          +             * to the original refcnt + 1 */
          +            Py_REFCNT(op) = refcnt + 1;
          +            assert(Py_SIZE(op) == size);
          +            assert(v->ob_digit[0] == (digit)abs(ival));
          +        }
          +        else {
          +            (void)PyObject_INIT(v, &PyLong_Type);
          +        }
          +        Py_SIZE(v) = size;
          +        v->ob_digit[0] = (digit)abs(ival);
          +    }
          +#endif
          +    _PyLong_Zero = PyLong_FromLong(0);
          +    if (_PyLong_Zero == NULL)
          +        return 0;
          +    _PyLong_One = PyLong_FromLong(1);
          +    if (_PyLong_One == NULL)
          +        return 0;
          +
          +    /* initialize int_info */
          +    if (Int_InfoType.tp_name == NULL) {
          +        if (PyStructSequence_InitType2(&Int_InfoType, &int_info_desc) < 0)
          +            return 0;
          +    }
          +
          +    return 1;
          +}
          +
          +

          整数的存储结构

          +

          源文件:Objects/longobject.c

          +

          long_to_decimal_string_internal中添加如下代码并重新编译安装

          +
          // Objects/longobject.c
          +static int
          +long_to_decimal_string_internal(PyObject *aa,
          +                                PyObject **p_output,
          +                                _PyUnicodeWriter *writer,
          +                                _PyBytesWriter *bytes_writer,
          +                                char **bytes_str)
          +{
          +    PyLongObject *scratch, *a;
          +    PyObject *str = NULL;
          +    Py_ssize_t size, strlen, size_a, i, j;
          +    digit *pout, *pin, rem, tenpow;
          +    int negative;
          +    int d;
          +    enum PyUnicode_Kind kind;
          +
          +    a = (PyLongObject *)aa;
          +
          +    // 添加打印代码
          +    printf("ob_size     = %d\n", Py_SIZE(a));
          +    for (int index = 0; index < Py_SIZE(a); ++index) {
          +        printf("ob_digit[%d] = %d\n", index, a->ob_digit[index]);
          +    }
          +
          +    ...
          +}
          +
          +

          编译安装后进入 python 解释器输入如下代码

          +
          num = 9223372043297226753
          +print(num)
          +
          +# output
          +>>> ob_size     = 3
          +>>> ob_digit[0] = 1
          +>>> ob_digit[1] = 6
          +>>> ob_digit[2] = 8
          +>>> 9223372043297226753
          +
          +

          如下图所示

          +

          longobject storage

          +

          注:这里的 30 是由 PyLong_SHIFT 决定的,64 位系统中,PyLong_SHIFT 为 30,否则 PyLong_SHIFT 为 15

          +

          整数对象的数值操作

          +

          可以看到整数对象的数值操作较多,由于篇幅限制无法一一分析,这里只分析整数的部分操作

          +

          源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +static PyNumberMethods long_as_number = {
          +    (binaryfunc)long_add,       /*nb_add   加法 */
          +    (binaryfunc)long_sub,       /*nb_subtract  减法 */
          +    (binaryfunc)long_mul,       /*nb_multiply    乘法 */
          +    long_mod,                   /*nb_remainder 取余 */
          +    long_divmod,                /*nb_divmod */
          +    long_pow,                   /*nb_power 求幂 */
          +    (unaryfunc)long_neg,        /*nb_negative */
          +    (unaryfunc)long_long,       /*tp_positive */
          +    (unaryfunc)long_abs,        /*tp_absolute 绝对值 */
          +    (inquiry)long_bool,         /*tp_bool 求bool值 */
          +    (unaryfunc)long_invert,     /*nb_invert 反转 */
          +    long_lshift,                /*nb_lshift 逻辑左移 */
          +    (binaryfunc)long_rshift,    /*nb_rshift 逻辑右移 */
          +    long_and,                   /*nb_and 与操作 */
          +    long_xor,                   /*nb_xor 异或 */
          +    long_or,                    /*nb_or 或操作 */
          +    long_long,                  /*nb_int*/
          +    0,                          /*nb_reserved*/
          +    long_float,                 /*nb_float*/
          +    0,                          /* nb_inplace_add */
          +    0,                          /* nb_inplace_subtract */
          +    0,                          /* nb_inplace_multiply */
          +    0,                          /* nb_inplace_remainder */
          +    0,                          /* nb_inplace_power */
          +    0,                          /* nb_inplace_lshift */
          +    0,                          /* nb_inplace_rshift */
          +    0,                          /* nb_inplace_and */
          +    0,                          /* nb_inplace_xor */
          +    0,                          /* nb_inplace_or */
          +    long_div,                   /* nb_floor_divide */
          +    long_true_divide,           /* nb_true_divide */
          +    0,                          /* nb_inplace_floor_divide */
          +    0,                          /* nb_inplace_true_divide */
          +    long_long,                  /* nb_index */
          +};
          +
          +

          整数相加

          +

          源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +static PyObject *
          +long_add(PyLongObject *a, PyLongObject *b)
          +{
          +    PyLongObject *z;
          +
          +    CHECK_BINOP(a, b);
          +
          +    if (Py_ABS(Py_SIZE(a)) <= 1 && Py_ABS(Py_SIZE(b)) <= 1) {
          +        return PyLong_FromLong(MEDIUM_VALUE(a) + MEDIUM_VALUE(b));
          +    }
          +    if (Py_SIZE(a) < 0) {
          +        if (Py_SIZE(b) < 0) {
          +            z = x_add(a, b);
          +            if (z != NULL) {
          +                /* x_add received at least one multiple-digit int,
          +                   and thus z must be a multiple-digit int.
          +                   That also means z is not an element of
          +                   small_ints, so negating it in-place is safe. */
          +                assert(Py_REFCNT(z) == 1);
          +                Py_SIZE(z) = -(Py_SIZE(z));
          +            }
          +        }
          +        else
          +            z = x_sub(b, a);
          +    }
          +    else {
          +        if (Py_SIZE(b) < 0)
          +            z = x_sub(a, b);
          +        else
          +            z = x_add(a, b);
          +    }
          +    return (PyObject *)z;
          +}
          +
          +

          可以看到整数的加法运算函数 long_add 根据 a、b 的 ob_size 又细分为两个函数 (x_add 和 x_sub) 做处理

          +

          源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +/* Add the absolute values of two integers. */
          +static PyLongObject *
          +x_add(PyLongObject *a, PyLongObject *b)
          +{
          +    Py_ssize_t size_a = Py_ABS(Py_SIZE(a)), size_b = Py_ABS(Py_SIZE(b));
          +    PyLongObject *z;
          +    Py_ssize_t i;
          +    digit carry = 0;
          +
          +    /* Ensure a is the larger of the two: */
          +    // 确保 a 大于 b
          +    if (size_a < size_b) {
          +        { PyLongObject *temp = a; a = b; b = temp; }
          +        { Py_ssize_t size_temp = size_a;
          +            size_a = size_b;
          +            size_b = size_temp; }
          +    }
          +    z = _PyLong_New(size_a+1);
          +    if (z == NULL)
          +        return NULL;
          +    for (i = 0; i < size_b; ++i) {
          +        carry += a->ob_digit[i] + b->ob_digit[i];
          +        z->ob_digit[i] = carry & PyLong_MASK;
          +        carry >>= PyLong_SHIFT;
          +    }
          +    for (; i < size_a; ++i) {
          +        carry += a->ob_digit[i];
          +        z->ob_digit[i] = carry & PyLong_MASK;
          +        carry >>= PyLong_SHIFT;
          +    }
          +    z->ob_digit[i] = carry;
          +    return long_normalize(z);
          +}
          +
          +

          加法运算函数 x_add 从 ob_digit 数组的低位开始依次按位相加,carry 做进位处理,然后处理 a 对象的高位数字,最后使用 long_normalize 函数调整 ob_size,确保 ob_digit[abs(ob_size)-1]不为零,这与普通四则运算的加法运算相同,只不过进位单元不同而已

          +

          longobject x_add

          +

          源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +
          +/* Subtract the absolute values of two integers. */
          +
          +static PyLongObject *
          +x_sub(PyLongObject *a, PyLongObject *b)
          +{
          +    Py_ssize_t size_a = Py_ABS(Py_SIZE(a)), size_b = Py_ABS(Py_SIZE(b));
          +    PyLongObject *z;
          +    Py_ssize_t i;
          +    int sign = 1;
          +    digit borrow = 0;
          +
          +    /* Ensure a is the larger of the two: */
          +    // 确保 a 大于 b
          +    if (size_a < size_b) {
          +        sign = -1;
          +        { PyLongObject *temp = a; a = b; b = temp; }
          +        { Py_ssize_t size_temp = size_a;
          +            size_a = size_b;
          +            size_b = size_temp; }
          +    }
          +    else if (size_a == size_b) {
          +        /* Find highest digit where a and b differ: */
          +        // 找到最高位 a 与 b的差异
          +        i = size_a;
          +        while (--i >= 0 && a->ob_digit[i] == b->ob_digit[i])
          +            ;
          +        if (i < 0)
          +            return (PyLongObject *)PyLong_FromLong(0);
          +        if (a->ob_digit[i] < b->ob_digit[i]) {
          +            sign = -1;
          +            { PyLongObject *temp = a; a = b; b = temp; }
          +        }
          +        size_a = size_b = i+1;
          +    }
          +    z = _PyLong_New(size_a);
          +    if (z == NULL)
          +        return NULL;
          +    for (i = 0; i < size_b; ++i) {
          +        /* The following assumes unsigned arithmetic
          +           works module 2**N for some N>PyLong_SHIFT. */
          +        borrow = a->ob_digit[i] - b->ob_digit[i] - borrow;
          +        z->ob_digit[i] = borrow & PyLong_MASK;
          +        borrow >>= PyLong_SHIFT;
          +        borrow &= 1; /* Keep only one sign bit */
          +    }
          +    for (; i < size_a; ++i) {
          +        borrow = a->ob_digit[i] - borrow;
          +        z->ob_digit[i] = borrow & PyLong_MASK;
          +        borrow >>= PyLong_SHIFT;
          +        borrow &= 1; /* Keep only one sign bit */
          +    }
          +    assert(borrow == 0);
          +    if (sign < 0) {
          +        Py_SIZE(z) = -Py_SIZE(z);
          +    }
          +    return long_normalize(z);
          +}
          +
          +

          与普通四则运算减法相同,数不够大则向高一位借位, +减法运算函数 x_sub 的示例图如下,注:PyLong_SHIFT 为 30

          +

          longobject x_sub

          +

          整数相乘

          +

          源文件:Objects/longobject.c

          +
          // Objects/longobject.c
          +static PyObject *
          +long_mul(PyLongObject *a, PyLongObject *b)
          +{
          +    PyLongObject *z;
          +
          +    CHECK_BINOP(a, b);
          +
          +    /* fast path for single-digit multiplication */
          +    if (Py_ABS(Py_SIZE(a)) <= 1 && Py_ABS(Py_SIZE(b)) <= 1) {
          +        stwodigits v = (stwodigits)(MEDIUM_VALUE(a)) * MEDIUM_VALUE(b);
          +        return PyLong_FromLongLong((long long)v);
          +    }
          +
          +    z = k_mul(a, b);
          +    /* Negate if exactly one of the inputs is negative. */
          +    if (((Py_SIZE(a) ^ Py_SIZE(b)) < 0) && z) {
          +        _PyLong_Negate(&z);
          +        if (z == NULL)
          +            return NULL;
          +    }
          +    return (PyObject *)z;
          +}
          +
          +

          k_mul 函数是一种快速乘法 源文件

          +
          +

          Karatsuba 的算法主要是用于两个大数的乘法,极大提高了运算效率,相较于普通乘法降低了复杂度,并在其中运用了递归的思想。 +基本的原理和做法是将位数很多的两个大数 x 和 y 分成位数较少的数,每个数都是原来 x 和 y 位数的一半。 +这样处理之后,简化为做三次乘法,并附带少量的加法操作和移位操作。

          +
          +

          具体可以看 wiki Karatsuba 算法的实现

          +
          Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
          + +
          + +
          +
          +
          + +

          results matching ""

          +
            + +
            +
            + +

            No results matching ""

            + +
            +
            +
            + +
            +
            + +
            + + + + + + + + + + + + + + +
            + + +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/long-object/long-storage.png b/objects/long-object/long-storage.png new file mode 100644 index 0000000000000000000000000000000000000000..5d9b664a949b9ba85eb08463a54d844d30c4ca9c GIT binary patch literal 15927 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 z z+pG>Oau+s|_mkX?H9~>G&Q8N;5{_&gf;4t${}VR;)5Y5}bQX6GdSejzw>qCs& z#r8~%^Uy!3=c2)HN08so5kBPhANRJT7Aji|>D5CZ;J_5|!3`NVZZEG3dHQwv$(O~Q zhhXtTdW^`c69XroxrzGFT2EOp`XQ_bax0P=aOw@YPh)ThMxl>OXIIQ)jcy9PdR_A1 zR}9#e%a!jR`n{~a3;Qe8u%d$GbC3yKA+28xbvxJK0e>B_7ygziWvIU#n)W^{?B-YHL?(nEgWc!(oYIIa&?(mk9&M#}1YJMIxgmubrMAt_CM3 zUym81m!}MaAy19U|GrAac5zae{Fr7oZalcB@=b9m!sKa#Qu(*Ahbk+Cb(2yqd-g=w z;LI+#vHw=V-CZ*#e(QhOZuW1-+v6h#c6|zgU@JwK)Xj3)i)MMcf#iV&wLB+6*;|>+ zwrtE_vq;2o7WtouY+IVW{{5F-cl(ClZQL{7gl<0a>aSSUrP}dcoC>-u6H1fMD<*D;*Zf#sSK+PRRU?-f?^@ZHrd)Z_y zmK*GfY5nsiW0;damsqLT=OYkyRjH4QLr**}x-Z;S_u*zMu})uv-=y$a6Fc~<2`;LX zXOkFNa!6-+n;Fjkd8@T{!)@18p0d>?%g|Ilw;Ab&wN%q!QY>$flWUTWGCr0%SCXP z?CWt(+`smXuCNyCDlUCIxG3d)+`v{mjJI@f#EQFHe9qCcWYaKUoqj2S_Kt$WDcTNJ z;0KKl?F5^UwSV~fPkmzZf93Ny|C0}X{+~Pz_=*4j>;LTuS literal 0 HcmV?d00001 diff --git a/objects/long-object/long-x-add.png b/objects/long-object/long-x-add.png new file mode 100644 index 0000000000000000000000000000000000000000..63cb695fa810b2a8df5f44302a12c26dbbace5f9 GIT binary patch literal 5445 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 literal 0 HcmV?d00001 diff --git a/objects/long-object/long-x-sub.png b/objects/long-object/long-x-sub.png new file mode 100644 index 0000000000000000000000000000000000000000..e500b1257e068ac1c95183747e23715fa535ba94 GIT binary patch literal 6309 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 US{6!k`{dOIx<)#cTE9N|FHNB%DF6Tf literal 0 HcmV?d00001 diff --git a/objects/object/PyObject.jpg b/objects/object/PyObject.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad6bbba5eec9d426b0f3a7fa0d48dcaaab229c74 GIT binary patch literal 7545 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 literal 0 HcmV?d00001 diff --git a/objects/object/PyVarObject.jpg b/objects/object/PyVarObject.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58f2c2caa5661102ec604d91c4e2fa829b95e00d GIT binary patch literal 12372 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 M@ApaN-`6+s9~D)T1ONa4 literal 0 HcmV?d00001 diff --git a/objects/object/index.html b/objects/object/index.html new file mode 100644 index 0000000..7e8b185 --- /dev/null +++ b/objects/object/index.html @@ -0,0 +1,763 @@ + + + + + + + Python 对象初探 · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
            + + + + + + + + +
            + +
            + +
            + + + + + + + + +
            +
            + +
            +
            + +
            + +

            Python 对象初探

            +

            在 Python 的世界一切皆对象,不论是整数,还是字符串,甚至连类型、函数等都是一种对象。

            +

            对象的分类

            +

            以下是 Python 对象的大致的一个分类

            +
              +
            • Fundamental 对象: 类型对象
            • +
            • Numeric 对象: 数值对象
            • +
            • Sequence 对象: 容纳其他对象的序列集合对象
            • +
            • Mapping 对象: 类似 C++中的 map 的关联对象
            • +
            • Internal 对象: Python 虚拟机在运行时内部使用的对象
            • +
            +

            object category

            +

            对象机制的基石 PyObject

            +

            对于初学者来说这么多类型的对象怎么学?别着急,我们后续章节会解答。

            +

            在开始我们的学习之旅之前,我们要先认识一个结构体PyObject,可以说 Python 的对象机制就是基于PyObject拓展开来的,所以我们先看看PyObject 到底长什么样。

            +

            源文件:Include/object.h

            +
            // Include/object.h
            +#define _PyObject_HEAD_EXTRA            \
            +    struct _object *_ob_next;           \
            +    struct _object *_ob_prev;
            +
            +typedef struct _object {
            +    _PyObject_HEAD_EXTRA    // 双向链表 垃圾回收 需要用到
            +    Py_ssize_t ob_refcnt;   // 引用计数
            +    struct _typeobject *ob_type;    // 指向类型对象的指针,决定了对象的类型
            +} PyObject;
            +
            +

            Python 中的所有对象都拥有一些相同的内容,而这些内容就定义在PyObject中,

            +

            PyObject 包含 一个用于垃圾回收的双向链表,一个引用计数变量 ob_refcnt 和 一个类型对象指针ob_type

            +

            PyObject

            +

            定长对象与变长对象

            +

            Python 对象除了前面提到的那种分类方法外,还可以分为定长对象和变长对象这两种形式。

            +

            变长对象都拥有一个相同的内容 PyVarObject,而 PyVarObject也是基于PyObject扩展的。

            +

            从代码中可以看出PyVarObjectPyObject多出了一个用于存储元素个数的变量ob_size

            +

            源文件:Include/object.h

            +
            // Include/object.h
            +typedef struct _object {
            +    _PyObject_HEAD_EXTRA
            +    Py_ssize_t ob_refcnt;
            +    struct _typeobject *ob_type;
            +} PyObject;
            +
            +typedef struct {
            +    PyObject ob_base;
            +    Py_ssize_t ob_size; /* Number of items in variable part */
            +} PyVarObject;
            +
            +

            PyVarObject

            +

            类型对象

            +

            前面我们提到了PyObject 的 对象类型指针struct _typeobject *ob_type,它指向的类型对象就决定了一个对象是什么类型的。

            +

            这是一个非常重要的结构体,它不仅仅决定了一个对象的类型,还包含大量的元信息, +包括创建对象需要分配多少内存,对象都支持哪些操作等等。

            +

            接下来我们看一下struct _typeobject代码

            +

            PyTypeObject 的定义中包含许多信息,主要分类以下几类:

            +
              +
            • 类型名, tp_name, 主要用于 Python 内部调试用
            • +
            • 创建该类型对象时分配的空间大小信息,即 tp_basicsizetp_itemsize
            • +
            • 与该类型对象相关的操作信息(如 tp_print 这样的函数指针)
            • +
            • 一些对象属性
            • +
            +

            源文件:Include/object.h

            +
            // Include/object.h
            +typedef struct _typeobject {
            +    PyObject_VAR_HEAD
            +    const char *tp_name; /* For printing, in format "<module>.<name>" */ // 类型名
            +    Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */
            +    // 创建该类型对象分配的内存空间大小
            +
            +    // 一堆方法定义,函数和指针
            +    /* Methods to implement standard operations */
            +    destructor tp_dealloc;
            +    printfunc tp_print;
            +    getattrfunc tp_getattr;
            +    setattrfunc tp_setattr;
            +    PyAsyncMethods *tp_as_async; /* formerly known as tp_compare (Python 2)
            +                                    or tp_reserved (Python 3) */
            +    reprfunc tp_repr;
            +
            +    /* Method suites for standard classes */
            +    // 标准类方法集
            +    PyNumberMethods *tp_as_number;  // 数值对象操作
            +    PySequenceMethods *tp_as_sequence;  // 序列对象操作
            +    PyMappingMethods *tp_as_mapping;  // 字典对象操作
            +
            +    // 更多标准操作
            +    /* More standard operations (here for binary compatibility) */
            +    hashfunc tp_hash;
            +    ternaryfunc tp_call;
            +    reprfunc tp_str;
            +    getattrofunc tp_getattro;
            +    setattrofunc tp_setattro;
            +
            +    ......
            +
            +} PyTypeObject;
            +
            +

            类型的类型

            +

            PyTypeObjet 定义开始有一个宏PyOject_VAR_HEAD,查看源码可知 PyTypeObjet 是一个变长对象

            +

            源文件:Include/object.h

            +
            // Include/object.h
            +#define PyObject_VAR_HEAD      PyVarObject ob_base;
            +
            +

            对象的类型是由该对象指向的 类型对象 决定的,那么类型对象的类型是由谁决定的呢? +对于其他对象,可以通过与其关联的类型对象确定其类型,那么通过什么来确定一个对象是类型对象呢? +答案就是 PyType_Type

            +

            源文件:Objects/typeobject.c

            +
            // Objects/typeobject.c
            +PyTypeObject PyType_Type = {
            +    PyVarObject_HEAD_INIT(&PyType_Type, 0)
            +    "type",                                     /* tp_name */
            +    sizeof(PyHeapTypeObject),                   /* tp_basicsize */
            +    sizeof(PyMemberDef),                        /* tp_itemsize */
            +
            +    ......
            +};
            +
            +

            PyType_Type 在类型机制中至关重要,所有用户自定义 class 所 +对应的 PyTypeObject 对象都是通过 PyType_Type创建的

            +

            接下来我们看 PyLong_Type 是怎么与 PyType_Type 建立联系的。 +前面提到,在 Python 中,每一个对象都将自己的引用计数、类型信息保存在开始的部分中。 +为了方便对这部分内存初始化,Python 中提供了几个有用的宏:

            +

            源文件:Include/object.h

            +
            // Include/object.h
            +#ifdef Py_TRACE_REFS
            +    #define _PyObject_EXTRA_INIT 0, 0,
            +#else
            +    #define _PyObject_EXTRA_INIT
            +#endif
            +
            +#define PyObject_HEAD_INIT(type)        \
            +    { _PyObject_EXTRA_INIT              \
            +    1, type },
            +
            +

            这些宏在各种内建类型对象的初始化中被大量使用。 +以PyLong_Type为例,可以清晰的看到一般的类型对象和PyType_Type之间的关系

            +

            源文件:Objects/longobject.c

            +
            // Objects/longobject.c
            +
            +PyTypeObject PyLong_Type = {
            +    PyVarObject_HEAD_INIT(&PyType_Type, 0)
            +    "int",                                      /* tp_name */
            +    offsetof(PyLongObject, ob_digit),           /* tp_basicsize */
            +    sizeof(digit),                              /* tp_itemsize */
            +
            +    ......
            +};
            +
            +

            下图是对象运行时的图像表现

            +

            +

            对象的创建

            +

            Python 创建对象有两种方式

            +

            范型 API 或称为 AOL (Abstract Object Layer)

            +

            这类 API 通常形如PyObject_XXX这样的形式。可以应用在任何 Python 对象上, +如PyObject_New。创建一个整数对象的方式

            +
            PyObject* longobj = PyObject_New(Pyobject, &PyLong_Type);
            +
            +

            与类型相关的 API 或称为 COL (Concrete Object Layer)

            +

            这类 API 通常只能作用于某一种类型的对象上,对于每一种内建对象 +Python 都提供了这样一组 API。例如整数对象,我们可以利用如下的 API 创建

            +
            PyObject *longObj = PyLong_FromLong(10);
            +
            +

            对象的行为

            +

            PyTypeObject 中定义了大量的函数指针。这些函数指针可以视为类型对象中 +所定义的操作,这些操作直接决定着一个对象在运行时所表现出的行为,比如 PyTypeObject 中的 tp_hash 指明了该类型对象如何生成其hash值。

            +

            PyTypeObject的代码中,我们还可以看到非常重要的三组操作族

            +
              +
            • PyNumberMethods *tp_as_number
            • +
            • PySequenceMethods *tp_as_sequence
            • +
            • PyMappingMethods *tp_as_mapping
            • +
            +

            PyNumberMethods 的代码如下

            +

            源文件:Include/object.h

            +
            // Include/object.h
            +typedef PyObject * (*binaryfunc)(PyObject *, PyObject *);
            +
            +typedef struct {
            +    binaryfunc nb_matrix_multiply;
            +    binaryfunc nb_inplace_matrix_multiply;
            +
            +    ......
            +} PyNumberMethods;
            +
            +

            PyNumberMethods 定义了一个数值对象该支持的操作。一个数值对象如 整数对象,那么它的类型对象 PyLong_Typetp_as_number.nb_add +就指定了它进行加法操作时的具体行为。

            +

            在以下代码中可以看出PyLong_Type中的tp_as_number项指向的是long_as_number

            +

            源文件:Objects/longobject.h

            +
            // Objects/longobject.c
            +static PyNumberMethods long_as_number = {
            +    (binaryfunc)long_add,       /*nb_add*/
            +    (binaryfunc)long_sub,       /*nb_subtract*/
            +    (binaryfunc)long_mul,       /*nb_multiply*/
            +
            +    ......
            +};
            +
            +PyTypeObject PyLong_Type = {
            +    PyVarObject_HEAD_INIT(&PyType_Type, 0)
            +    "int",                                      /* tp_name */
            +    offsetof(PyLongObject, ob_digit),           /* tp_basicsize */
            +    sizeof(digit),                              /* tp_itemsize */
            +    long_dealloc,                               /* tp_dealloc */
            +    0,                                          /* tp_print */
            +    0,                                          /* tp_getattr */
            +    0,                                          /* tp_setattr */
            +    0,                                          /* tp_reserved */
            +    long_to_decimal_string,                     /* tp_repr */
            +    &long_as_number,                            /* tp_as_number */
            +    0,                                          /* tp_as_sequence */
            +    0,                                          /* tp_as_mapping */
            +
            +    ......
            +};
            +
            +

            PySequenceMethods *tp_as_sequencePyMappingMethods *tp_as_mapping的分析与PyNumberMethods *tp_as_number 相同,大家可以自行查阅源码

            +

            对象的多态性

            +

            Python 创建一个对象比如 PyLongObject 时,会分配内存进行初始化,然后 +Python 内部会用 PyObject* 变量来维护这个对象,其他对象也与此类似

            +

            所以在 Python 内部各个函数之间传递的都是一种范型指针 PyObject* +我们不知道这个指针所指的对象是什么类型,只能通过所指对象的 ob_type 域 +动态进行判断,而 Python 正是通过 ob_type 实现了多态机制

            +

            考虑以下的 calc_hash 函数

            +
            Py_hash_t
            +calc_hash(PyObject* object)
            +{
            +    Py_hash_t hash = object->ob_type->tp_hash(object);
            +    return hash;
            +}
            +
            +

            如果传递给 calc_hash 函数的指针是一个 PyLongObject*,那么它会调用 PyLongObject 对象对应的类型对象中定义的 hash 操作tp_hashtp_hash可以在PyTypeObject中找到, +而具体赋值绑定我们可以在 PyLong_Type 初始化代码中看到绑定的是long_hash函数

            +

            源文件:Objects/longobject.c

            +
            // Objects/longobject.c
            +PyTypeObject PyLong_Type = {
            +    PyVarObject_HEAD_INIT(&PyType_Type, 0)
            +    "int",                                      /* tp_name */
            +    ...
            +
            +    (hashfunc)long_hash,                        /* tp_hash */
            +
            +    ...
            +};
            +
            +

            如果指针是一个 PyUnicodeObject*,那么就会调用 PyUnicodeObject 对象对应的类型对象中定义的 hash 操作,查看源码可以看到 实际绑定的是 unicode_hash函数

            +

            源文件:Objects/unicodeobject.c

            +
            // Objects/unicodeobject.c
            +PyTypeObject PyUnicode_Type = {
            +    PyVarObject_HEAD_INIT(&PyType_Type, 0)
            +    "str",              /* tp_name */
            +
            +    ...
            +
            +    (hashfunc) unicode_hash,        /* tp_hash*/
            +
            +    ...
            +};
            +
            +

            引用计数

            +

            Python 通过引用计数来管理维护对象在内存中的存在与否

            +

            Python 中的每个东西都是一个对象, 都有ob_refcnt 变量,这个变量维护对象的引用计数,从而最终决定该对象的创建与销毁

            +

            在 Python 中,主要通过 Py_INCREF(op)Py_DECREF(op) 这两个宏 +来增加和减少对一个对象的引用计数。当一个对象的引用计数减少到 0 之后, +Py_DECREF将调用该对象的tp_dealloc来释放对象所占用的内存和系统资源;

            +

            但这并不意味着最终一定会调用 free 释放内存空间。因为频繁的申请、释放内存会大大降低 Python 的执行效率。因此 Python 中大量采用了内存对象池的技术,使得对象释放的空间归还给内存池而不是直接free,后续使用可先从对象池中获取

            +

            源文件:Include/object.h

            +
            // Include/object.h
            +#define _Py_NewReference(op) (                          \
            +    _Py_INC_TPALLOCS(op) _Py_COUNT_ALLOCS_COMMA         \
            +    _Py_INC_REFTOTAL  _Py_REF_DEBUG_COMMA               \
            +    Py_REFCNT(op) = 1)
            +
            +#define Py_INCREF(op) (                         \
            +    _Py_INC_REFTOTAL  _Py_REF_DEBUG_COMMA       \
            +    ((PyObject *)(op))->ob_refcnt++)
            +
            +#define Py_DECREF(op)                                   \
            +    do {                                                \
            +        PyObject *_py_decref_tmp = (PyObject *)(op);    \
            +        if (_Py_DEC_REFTOTAL  _Py_REF_DEBUG_COMMA       \
            +        --(_py_decref_tmp)->ob_refcnt != 0)             \
            +            _Py_CHECK_REFCNT(_py_decref_tmp)            \
            +        else                                            \
            +            _Py_Dealloc(_py_decref_tmp);                \
            +    } while (0)
            +
            +
            Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
            + +
            + +
            +
            +
            + +

            results matching ""

            +
              + +
              +
              + +

              No results matching ""

              + +
              +
              +
              + +
              +
              + +
              + + + + + + + + + + + + + + +
              + + +
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/object/object-category.jpg b/objects/object/object-category.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a8e7db1f601ec44a27a0a17f9ae16f52b0c863c GIT binary patch literal 53588 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 ZD<`<;nUZ;cyk2b?v269cMp3A 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 hqBQQU)B&%{CwCTJ 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 literal 0 HcmV?d00001 diff --git a/objects/set-object/index.html b/objects/set-object/index.html new file mode 100644 index 0000000..10dc044 --- /dev/null +++ b/objects/set-object/index.html @@ -0,0 +1,987 @@ + + + + + + + Python Set 对象 · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/set-object/set-insert-nine.png b/objects/set-object/set-insert-nine.png new file mode 100644 index 0000000000000000000000000000000000000000..d08e521cfa43018bcb9684608a094697fbe3b485 GIT binary patch literal 69113 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ĉ@pGjttgGCET#It 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 S$WOsP6UR+4Ix=>a|NjGA8DMGv literal 0 HcmV?d00001 diff --git a/objects/set-object/set-insert-one.png b/objects/set-object/set-insert-one.png new file mode 100644 index 0000000000000000000000000000000000000000..15ae74da694db6f7e77f9284e93546bf2a4b34fc GIT binary patch literal 52879 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 literal 0 HcmV?d00001 diff --git a/objects/set-object/set-insert-two.png b/objects/set-object/set-insert-two.png new file mode 100644 index 0000000000000000000000000000000000000000..6e90dab4f74c3390c1afa02315416dfb8bc75a0e GIT binary patch literal 53960 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 NX-`)_mvv4FO#l!d3X}i< literal 0 HcmV?d00001 diff --git a/objects/set-object/set.png b/objects/set-object/set.png new file mode 100644 index 0000000000000000000000000000000000000000..ffd762808f586e3a83715c9c19ece21d2543289c GIT binary patch literal 52635 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%0D_2_de%f>B(yQBG4`zLDif?8u%+Gj5 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 + + + + + 实现简版 Python · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              +
              + + + + + + + + +
              + +
              + +
              + + + + + + + + +
              +
              + +
              +
              + +
              + +

              Python 字符串 对象

              +
              Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
              + +
              + +
              +
              +
              + +

              results matching ""

              +
                + +
                +
                + +

                No results matching ""

                + +
                +
                +
                + +
                +
                + +
                + + + + + + + + + + +
                + + +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/str-object/index.md b/objects/str-object/index.md new file mode 100644 index 0000000..2fbab7c --- /dev/null +++ b/objects/str-object/index.md @@ -0,0 +1 @@ +# 实现简版 Python diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..6fcf743 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7282 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "requires": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asciidoctor.js": { + "version": "1.5.3-preview.1", + "resolved": "https://registry.npmjs.org/asciidoctor.js/-/asciidoctor.js-1.5.3-preview.1.tgz", + "integrity": "sha1-BPRflV3tKPS45738fo/TcyvJ0e0=", + "requires": { + "opal-npm-wrapper": "^0.1.1", + "xmlhttprequest": "~1.6.0" + } + }, + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=" + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=" + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "async-each": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-0.1.6.tgz", + "integrity": "sha1-tn6Z7c3fllQeRK9WKQzX1cbnBDk=" + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bash-color": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.3.tgz", + "integrity": "sha1-DAiSHsATk6tW6kRPCCXlSTyg5qI=" + }, + "batch": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.2.tgz", + "integrity": "sha1-VGVD2+MhGMg8fHyjOh9cXV6pY+k=" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", + "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", + "requires": { + "readable-stream": "~1.0.26" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "body-parser": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=", + "requires": { + "bytes": "2.2.0", + "content-type": "~1.0.1", + "debug": "~2.2.0", + "depd": "~1.1.0", + "http-errors": "~1.3.1", + "iconv-lite": "0.4.13", + "on-finished": "~2.3.0", + "qs": "5.2.0", + "raw-body": "~2.1.5", + "type-is": "~1.6.10" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + }, + "qs": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", + "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=" + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "boom": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", + "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", + "requires": { + "hoek": "0.9.x" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "bytes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=" + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "caseless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz", + "integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "cheerio": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz", + "integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=", + "requires": { + "css-select": "~1.0.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "~3.8.1", + "lodash": "^3.2.0" + } + }, + "chokidar": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.0.6.tgz", + "integrity": "sha1-ChwLzh4kmTr8EFpbgeom3aAeI68=", + "requires": { + "anymatch": "^1.1.0", + "arrify": "^1.0.0", + "async-each": "^0.1.5", + "fsevents": "^0.3.8", + "glob-parent": "^1.0.0", + "is-binary-path": "^1.0.0", + "is-glob": "^1.1.3", + "path-is-absolute": "^1.0.0", + "readdirp": "^1.3.0" + } + }, + "clean-css": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-1.1.7.tgz", + "integrity": "sha1-YB75z3ZCuYLLM+/JSIpkRMmGaG4=", + "requires": { + "commander": "2.0.x" + }, + "dependencies": { + "commander": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz", + "integrity": "sha1-0bhvkB+LZL2UG96tr5JFMDk76Sg=" + } + } + }, + "cli-color": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.3.3.tgz", + "integrity": "sha1-EtW90Vj/igsNtAEZiRPAPfBp9vU=", + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.6", + "memoizee": "~0.3.8", + "timers-ext": "0.1" + } + }, + "clipboard": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "optional": true, + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "requires": { + "delayed-stream": "0.0.5" + } + }, + "commander": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.2.1.tgz", + "integrity": "sha1-XZyPt3okXNXsopHl0tAFM0urAII=" + }, + "cryptiles": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", + "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", + "requires": { + "boom": "0.4.x" + } + }, + "css-select": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz", + "integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "1.0", + "domutils": "1.4", + "nth-check": "~1.0.0" + } + }, + "css-what": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz", + "integrity": "sha1-18wt9FGAZm+Z0rFEYmOUaeAPc2w=" + }, + "cssom": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.0.tgz", + "integrity": "sha1-OG1RNVKP5lwe4bx8TlWjiFTbz3o=" + }, + "ctype": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", + "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=" + }, + "d": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", + "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", + "requires": { + "es5-ext": "~0.10.2" + } + }, + "datauri": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/datauri/-/datauri-0.2.1.tgz", + "integrity": "sha1-9Oit27PlTj3BLRyIVDuLCxv2kvo=", + "requires": { + "mimer": "*", + "templayed": "*" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=" + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", + "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", + "requires": { + "domelementtype": "1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=" + }, + "es5-ext": { + "version": "0.10.50", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", + "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "^1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + }, + "dependencies": { + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "requires": { + "es5-ext": "^0.10.9" + } + } + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + }, + "dependencies": { + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "requires": { + "es5-ext": "^0.10.9" + } + } + } + }, + "es6-weak-map": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz", + "integrity": "sha1-cGzvnpmqI2undmwjnIueKG6n0ig=", + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.6", + "es6-iterator": "~0.1.3", + "es6-symbol": "~2.0.1" + }, + "dependencies": { + "es6-iterator": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz", + "integrity": "sha1-1vWLjE/EE8JJtLqhl2j45NfIlE4=", + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.5", + "es6-symbol": "~2.0.1" + } + }, + "es6-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz", + "integrity": "sha1-dhtcZ8/U8dGK+yNPaR1nhoLLO/M=", + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.5" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz", + "integrity": "sha1-ni2LJbwlVcMzZyN1DgPwmcJzW7U=" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + }, + "dependencies": { + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "requires": { + "es5-ext": "^0.10.9" + } + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=" + }, + "form-data": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" + }, + "dependencies": { + "mime-types": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", + "requires": { + "mime-db": "~1.12.0" + } + } + } + }, + "fs-extra": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.16.5.tgz", + "integrity": "sha1-GtZh+myGyWCM0bSe/G/Og0k5p1A=", + "requires": { + "graceful-fs": "^3.0.5", + "jsonfile": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-0.3.8.tgz", + "integrity": "sha1-mZLxAyySXIKVVNDVmAHcoDE6U1Y=", + "optional": true, + "requires": { + "nan": "^2.0.2" + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + } + } + }, + "fstream-ignore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz", + "integrity": "sha1-GMiR2wG3gqdKe/+Tag8kmXdBx6s=", + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^2.0.1" + }, + "dependencies": { + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "requires": { + "brace-expansion": "^1.0.0" + } + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gitbook": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/gitbook/-/gitbook-2.6.9.tgz", + "integrity": "sha512-GFuOpq5Qv7JktAe9U8LfCkrBRshl0Ymm2eVMz8FuNXr9vkA2TTQrXOHlU04ElfbDIyLdA5Zx5362OnZS1ItNQA==", + "requires": { + "bash-color": "0.0.3", + "cheerio": "0.19.0", + "chokidar": "~1.0.5", + "crc": "3.2.1", + "dom-serializer": "0.1.0", + "escape-string-regexp": "1.0.3", + "fs-extra": "0.16.5", + "fstream-ignore": "1.0.2", + "gitbook-parsers": "0.8.9", + "gitbook-plugin-fontsettings": "1.0.2", + "gitbook-plugin-highlight": "1.0.3", + "gitbook-plugin-livereload": "0.0.1", + "gitbook-plugin-search": "1.1.0", + "gitbook-plugin-sharing": "1.0.1", + "github-slugid": "1.0.0", + "graceful-fs": "3.0.5", + "json-schema-defaults": "0.1.1", + "jsonschema": "1.0.2", + "juice": "1.5.0", + "lodash": "3.10.1", + "merge-defaults": "0.2.1", + "npm": "2.4.1", + "npmi": "0.1.1", + "nunjucks": "2.2.0", + "nunjucks-autoescape": "1.0.0", + "nunjucks-filter": "1.0.0", + "q": "1.0.1", + "request": "2.51.0", + "resolve": "0.6.3", + "semver": "5.0.1", + "spawn-cmd": "0.0.2", + "tiny-lr": "0.2.1", + "tmp": "0.0.24", + "urijs": "1.17.0" + } + }, + "gitbook-asciidoc": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/gitbook-asciidoc/-/gitbook-asciidoc-0.2.4.tgz", + "integrity": "sha1-bhpQldA6juwvEV6+3PwRwKI9qc8=", + "requires": { + "asciidoctor.js": "1.5.3-preview.1", + "cheerio": "^0.19.0", + "lodash": "^3.2.0", + "q": "^1.1.2" + }, + "dependencies": { + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + } + } + }, + "gitbook-cli": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/gitbook-cli/-/gitbook-cli-2.3.2.tgz", + "integrity": "sha512-eyGtkY7jKHhmgpfuvgAP5fZcUob/FBz4Ld0aLRdEmiTrS1RklimN9epzPp75dd4MWpGhYvSbiwxnpyLiv1wh6A==", + "requires": { + "bash-color": "0.0.4", + "commander": "2.11.0", + "fs-extra": "3.0.1", + "lodash": "4.17.4", + "npm": "5.1.0", + "npmi": "1.0.1", + "optimist": "0.6.1", + "q": "1.5.0", + "semver": "5.3.0", + "tmp": "0.0.31", + "user-home": "2.0.0" + }, + "dependencies": { + "bash-color": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz", + "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM=" + }, + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "npm": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-5.1.0.tgz", + "integrity": "sha512-pt5ClxEmY/dLpb60SmGQQBKi3nB6Ljx1FXmpoCUdAULlGqGVn2uCyXxPCWFbcuHGthT7qGiaGa1wOfs/UjGYMw==", + "requires": { + "JSONStream": "~1.3.1", + "abbrev": "~1.1.0", + "ansi-regex": "~3.0.0", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "~1.1.2", + "archy": "~1.0.0", + "bluebird": "~3.5.0", + "cacache": "~9.2.9", + "call-limit": "~1.1.0", + "chownr": "~1.0.1", + "cmd-shim": "~2.0.2", + "columnify": "~1.5.4", + "config-chain": "~1.1.11", + "debuglog": "*", + "detect-indent": "~5.0.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "fstream": "~1.0.11", + "fstream-npm": "~1.2.1", + "glob": "~7.1.2", + "graceful-fs": "~4.1.11", + "has-unicode": "~2.0.1", + "hosted-git-info": "~2.5.0", + "iferr": "~0.1.5", + "imurmurhash": "*", + "inflight": "~1.0.6", + "inherits": "~2.0.3", + "ini": "~1.3.4", + "init-package-json": "~1.10.1", + "lazy-property": "~1.0.0", + "lockfile": "~1.0.3", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "~4.1.1", + "mississippi": "~1.3.0", + "mkdirp": "~0.5.1", + "move-concurrently": "~1.0.1", + "node-gyp": "~3.6.2", + "nopt": "~4.0.1", + "normalize-package-data": "~2.4.0", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "~3.0.0", + "npm-package-arg": "~5.1.2", + "npm-registry-client": "~8.4.0", + "npm-user-validate": "~1.0.0", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "~1.4.3", + "osenv": "~0.1.4", + "pacote": "~2.7.38", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "~1.0.1", + "read-installed": "~4.0.3", + "read-package-json": "~2.0.9", + "read-package-tree": "~5.1.6", + "readable-stream": "~2.3.2", + "readdir-scoped-modules": "*", + "request": "~2.81.0", + "retry": "~0.10.1", + "rimraf": "~2.6.1", + "safe-buffer": "~5.1.1", + "semver": "~5.3.0", + "sha": "~2.0.1", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "~4.1.6", + "strip-ansi": "~4.0.0", + "tar": "~2.2.1", + "text-table": "~0.2.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "~1.1.0", + "unpipe": "~1.0.0", + "update-notifier": "~2.2.0", + "uuid": "~3.1.0", + "validate-npm-package-license": "*", + "validate-npm-package-name": "~3.0.0", + "which": "~1.2.14", + "worker-farm": "~1.3.1", + "wrappy": "~1.0.2", + "write-file-atomic": "~2.1.0" + }, + "dependencies": { + "JSONStream": { + "version": "1.3.1", + "bundled": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "dependencies": { + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + } + } + }, + "abbrev": { + "version": "1.1.0", + "bundled": true + }, + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "aproba": { + "version": "1.1.2", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "bluebird": { + "version": "3.5.0", + "bundled": true + }, + "cacache": { + "version": "9.2.9", + "bundled": true, + "requires": { + "bluebird": "^3.5.0", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^1.3.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.1", + "ssri": "^4.1.6", + "unique-filename": "^1.1.0", + "y18n": "^3.2.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.1", + "bundled": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + }, + "dependencies": { + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true + } + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true + } + } + }, + "call-limit": { + "version": "1.1.0", + "bundled": true + }, + "chownr": { + "version": "1.0.1", + "bundled": true + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "^1.0.3" + }, + "dependencies": { + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "bundled": true + } + } + } + } + } + } + }, + "config-chain": { + "version": "1.1.11", + "bundled": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + }, + "dependencies": { + "proto-list": { + "version": "1.2.4", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + }, + "dependencies": { + "asap": { + "version": "2.0.5", + "bundled": true + } + } + }, + "editor": { + "version": "1.0.0", + "bundled": true + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-npm": { + "version": "1.2.1", + "bundled": true, + "requires": { + "fstream-ignore": "^1.0.0", + "inherits": "2" + }, + "dependencies": { + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + } + } + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hosted-git-info": { + "version": "2.5.0", + "bundled": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true + }, + "init-package-json": { + "version": "1.10.1", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1" + } + } + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true + }, + "lockfile": { + "version": "1.0.3", + "bundled": true + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + }, + "dependencies": { + "lodash._createset": { + "version": "4.0.3", + "bundled": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true + } + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true + }, + "lru-cache": { + "version": "4.1.1", + "bundled": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + }, + "dependencies": { + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true + } + } + }, + "mississippi": { + "version": "1.3.0", + "bundled": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^1.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.0", + "bundled": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "duplexify": { + "version": "3.5.0", + "bundled": true, + "requires": { + "end-of-stream": "1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "end-of-stream": { + "version": "1.0.0", + "bundled": true, + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "bundled": true, + "requires": { + "wrappy": "1" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "end-of-stream": { + "version": "1.4.0", + "bundled": true, + "requires": { + "once": "^1.4.0" + } + }, + "flush-write-stream": { + "version": "1.0.2", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "cyclist": { + "version": "0.2.2", + "bundled": true + } + } + }, + "pump": { + "version": "1.0.2", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.3.5", + "bundled": true, + "requires": { + "duplexify": "^3.1.2", + "inherits": "^2.0.1", + "pump": "^1.0.0" + } + }, + "stream-each": { + "version": "1.2.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "copy-concurrently": { + "version": "1.0.3", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "requires": { + "aproba": "^1.1.1" + } + } + } + }, + "node-gyp": { + "version": "3.6.2", + "bundled": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "bundled": true + } + } + } + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true + }, + "npm-install-checks": { + "version": "3.0.0", + "bundled": true, + "requires": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "npm-package-arg": { + "version": "5.1.2", + "bundled": true, + "requires": { + "hosted-git-info": "^2.4.2", + "osenv": "^0.1.4", + "semver": "^5.1.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-registry-client": { + "version": "8.4.0", + "bundled": true, + "requires": { + "concat-stream": "^1.5.2", + "graceful-fs": "^4.1.6", + "normalize-package-data": "~1.0.1 || ^2.0.0", + "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0", + "npmlog": "2 || ^3.1.0 || ^4.0.0", + "once": "^1.3.3", + "request": "^2.74.0", + "retry": "^0.10.0", + "semver": "2 >=2.2.1 || 3.x || 4 || 5", + "slide": "^1.1.3", + "ssri": "^4.1.2" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.0", + "bundled": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + } + } + }, + "npm-user-validate": { + "version": "1.0.0", + "bundled": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + }, + "dependencies": { + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "delegates": { + "version": "1.0.0", + "bundled": true + } + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "bundled": true + } + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "^1.0.2" + } + } + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.4.3", + "bundled": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + } + } + }, + "pacote": { + "version": "2.7.38", + "bundled": true, + "requires": { + "bluebird": "^3.5.0", + "cacache": "^9.2.9", + "glob": "^7.1.2", + "lru-cache": "^4.1.1", + "make-fetch-happen": "^2.4.13", + "minimatch": "^3.0.4", + "mississippi": "^1.2.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^5.1.2", + "npm-pick-manifest": "^1.0.4", + "osenv": "^0.1.4", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^4.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.3.0", + "ssri": "^4.1.6", + "tar-fs": "^1.15.3", + "tar-stream": "^1.5.4", + "unique-filename": "^1.1.0", + "which": "^1.2.12" + }, + "dependencies": { + "make-fetch-happen": { + "version": "2.4.13", + "bundled": true, + "requires": { + "agentkeepalive": "^3.3.0", + "cacache": "^9.2.9", + "http-cache-semantics": "^3.7.3", + "http-proxy-agent": "^2.0.0", + "https-proxy-agent": "^2.0.0", + "lru-cache": "^4.1.1", + "mississippi": "^1.2.0", + "node-fetch-npm": "^2.0.1", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^3.0.0", + "ssri": "^4.1.6" + }, + "dependencies": { + "agentkeepalive": { + "version": "3.3.0", + "bundled": true, + "requires": { + "humanize-ms": "^1.2.1" + }, + "dependencies": { + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "^2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "http-cache-semantics": { + "version": "3.7.3", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.0.0", + "bundled": true, + "requires": { + "agent-base": "4", + "debug": "2" + }, + "dependencies": { + "agent-base": { + "version": "4.1.0", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "^4.0.3" + }, + "dependencies": { + "es6-promise": { + "version": "4.1.1", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "https-proxy-agent": { + "version": "2.0.0", + "bundled": true, + "requires": { + "agent-base": "^4.1.0", + "debug": "^2.4.1" + }, + "dependencies": { + "agent-base": { + "version": "4.1.0", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "^4.0.3" + }, + "dependencies": { + "es6-promise": { + "version": "4.1.1", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "node-fetch-npm": { + "version": "2.0.1", + "bundled": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-helpfulerror": "^1.0.3", + "safe-buffer": "^5.0.1" + }, + "dependencies": { + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "~0.4.13" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.18", + "bundled": true + } + } + }, + "json-parse-helpfulerror": { + "version": "1.0.3", + "bundled": true, + "requires": { + "jju": "^1.1.0" + }, + "dependencies": { + "jju": { + "version": "1.3.0", + "bundled": true + } + } + } + } + }, + "socks-proxy-agent": { + "version": "3.0.0", + "bundled": true, + "requires": { + "agent-base": "^4.0.1", + "socks": "^1.1.10" + }, + "dependencies": { + "agent-base": { + "version": "4.1.0", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "^4.0.3" + }, + "dependencies": { + "es6-promise": { + "version": "4.1.1", + "bundled": true + } + } + } + } + }, + "socks": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" + }, + "dependencies": { + "ip": { + "version": "1.1.5", + "bundled": true + }, + "smart-buffer": { + "version": "1.1.15", + "bundled": true + } + } + } + } + } + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "npm-pick-manifest": { + "version": "1.0.4", + "bundled": true, + "requires": { + "npm-package-arg": "^5.1.2", + "semver": "^5.3.0" + } + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "bundled": true + } + } + }, + "protoduck": { + "version": "4.0.0", + "bundled": true, + "requires": { + "genfun": "^4.0.1" + }, + "dependencies": { + "genfun": { + "version": "4.0.1", + "bundled": true + } + } + }, + "tar-fs": { + "version": "1.15.3", + "bundled": true, + "requires": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + }, + "dependencies": { + "pump": { + "version": "1.0.2", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + }, + "dependencies": { + "end-of-stream": { + "version": "1.4.0", + "bundled": true, + "requires": { + "once": "^1.4.0" + } + } + } + } + } + }, + "tar-stream": { + "version": "1.5.4", + "bundled": true, + "requires": { + "bl": "^1.0.0", + "end-of-stream": "^1.0.0", + "readable-stream": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "bl": { + "version": "1.2.1", + "bundled": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "end-of-stream": { + "version": "1.4.0", + "bundled": true, + "requires": { + "once": "^1.4.0" + } + }, + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + }, + "dependencies": { + "mute-stream": { + "version": "0.0.7", + "bundled": true + } + } + }, + "read-cmd-shim": { + "version": "1.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + }, + "dependencies": { + "util-extend": { + "version": "1.0.3", + "bundled": true + } + } + }, + "read-package-json": { + "version": "2.0.9", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-helpfulerror": "^1.0.2", + "normalize-package-data": "^2.0.0" + }, + "dependencies": { + "json-parse-helpfulerror": { + "version": "1.0.3", + "bundled": true, + "requires": { + "jju": "^1.1.0" + }, + "dependencies": { + "jju": { + "version": "1.3.0", + "bundled": true + } + } + } + } + }, + "read-package-tree": { + "version": "5.1.6", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "once": "^1.3.0", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.2", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.0", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "string_decoder": { + "version": "1.0.3", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + } + } + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + }, + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "bundled": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "~1.0.0" + }, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "bundled": true + } + } + }, + "extend": { + "version": "3.0.1", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + }, + "dependencies": { + "asynckit": { + "version": "0.4.0", + "bundled": true + } + } + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "requires": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "bundled": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + }, + "dependencies": { + "co": { + "version": "4.6.0", + "bundled": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "requires": { + "jsonify": "~0.0.0" + }, + "dependencies": { + "jsonify": { + "version": "0.0.0", + "bundled": true + } + } + } + } + }, + "har-schema": { + "version": "1.0.5", + "bundled": true + } + } + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "dependencies": { + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.x.x" + } + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "requires": { + "boom": "2.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "requires": { + "hoek": "2.x.x" + } + } + } + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "bundled": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "requires": { + "extsprintf": "1.0.2" + } + } + } + }, + "sshpk": { + "version": "1.13.1", + "bundled": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "asn1": { + "version": "0.2.3", + "bundled": true + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "requires": { + "mime-db": "~1.27.0" + }, + "dependencies": { + "mime-db": { + "version": "1.27.0", + "bundled": true + } + } + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true + }, + "qs": { + "version": "6.4.0", + "bundled": true + }, + "stringstream": { + "version": "0.0.5", + "bundled": true + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "requires": { + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "bundled": true + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.0.1" + } + } + } + }, + "retry": { + "version": "0.10.1", + "bundled": true + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "semver": { + "version": "5.3.0", + "bundled": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "readable-stream": "^2.0.2" + } + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "sorted-object": { + "version": "2.0.1", + "bundled": true + }, + "sorted-union-stream": { + "version": "2.1.3", + "bundled": true, + "requires": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + }, + "dependencies": { + "from2": { + "version": "1.3.0", + "bundled": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + } + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "ssri": { + "version": "4.1.6", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + } + } + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + }, + "dependencies": { + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "~2.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "umask": { + "version": "1.1.0", + "bundled": true + }, + "unique-filename": { + "version": "1.1.0", + "bundled": true, + "requires": { + "unique-slug": "^2.0.0" + }, + "dependencies": { + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4" + } + } + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "update-notifier": { + "version": "2.2.0", + "bundled": true, + "requires": { + "boxen": "^1.0.0", + "chalk": "^1.0.0", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "boxen": { + "version": "1.1.0", + "bundled": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^1.1.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^0.1.0", + "widest-line": "^1.0.0" + }, + "dependencies": { + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true + }, + "string-width": { + "version": "2.1.0", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "term-size": { + "version": "0.1.1", + "bundled": true, + "requires": { + "execa": "^0.4.0" + }, + "dependencies": { + "execa": { + "version": "0.4.0", + "bundled": true, + "requires": { + "cross-spawn-async": "^2.1.1", + "is-stream": "^1.1.0", + "npm-run-path": "^1.0.0", + "object-assign": "^4.0.1", + "path-key": "^1.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn-async": { + "version": "2.2.5", + "bundled": true, + "requires": { + "lru-cache": "^4.0.0", + "which": "^1.2.8" + } + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "npm-run-path": { + "version": "1.0.0", + "bundled": true, + "requires": { + "path-key": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "path-key": { + "version": "1.0.0", + "bundled": true + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "widest-line": { + "version": "1.0.0", + "bundled": true, + "requires": { + "string-width": "^1.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "^1.0.0" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "bundled": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + } + } + } + } + } + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "bundled": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "bundled": true + } + } + }, + "configstore": { + "version": "3.1.0", + "bundled": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "4.1.1", + "bundled": true, + "requires": { + "is-obj": "^1.0.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "bundled": true + } + } + }, + "make-dir": { + "version": "1.0.0", + "bundled": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "bundled": true + } + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "requires": { + "crypto-random-string": "^1.0.0" + }, + "dependencies": { + "crypto-random-string": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true + }, + "is-npm": { + "version": "1.0.0", + "bundled": true + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "requires": { + "package-json": "^4.0.0" + }, + "dependencies": { + "package-json": { + "version": "4.0.1", + "bundled": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "bundled": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "requires": { + "capture-stack-trace": "^1.0.0" + }, + "dependencies": { + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true + } + } + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "bundled": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "lowercase-keys": { + "version": "1.0.0", + "bundled": true + }, + "timed-out": { + "version": "4.0.1", + "bundled": true + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "requires": { + "prepend-http": "^1.0.1" + }, + "dependencies": { + "prepend-http": { + "version": "1.0.4", + "bundled": true + } + } + } + } + }, + "registry-auth-token": { + "version": "3.3.1", + "bundled": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + }, + "dependencies": { + "rc": { + "version": "1.2.1", + "bundled": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "deep-extend": { + "version": "0.4.2", + "bundled": true + }, + "minimist": { + "version": "1.2.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + } + } + } + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "requires": { + "rc": "^1.0.1" + }, + "dependencies": { + "rc": { + "version": "1.2.1", + "bundled": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "deep-extend": { + "version": "0.4.2", + "bundled": true + }, + "minimist": { + "version": "1.2.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + } + } + } + } + } + } + } + } + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "requires": { + "semver": "^5.0.3" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true + } + } + }, + "uuid": { + "version": "3.1.0", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "requires": { + "spdx-license-ids": "^1.0.2" + }, + "dependencies": { + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true + } + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "bundled": true + } + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "requires": { + "builtins": "^1.0.3" + }, + "dependencies": { + "builtins": { + "version": "1.0.3", + "bundled": true + } + } + }, + "which": { + "version": "1.2.14", + "bundled": true, + "requires": { + "isexe": "^2.0.0" + }, + "dependencies": { + "isexe": { + "version": "2.0.0", + "bundled": true + } + } + }, + "worker-farm": { + "version": "1.3.1", + "bundled": true, + "requires": { + "errno": ">=0.1.1 <0.2.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + }, + "dependencies": { + "errno": { + "version": "0.1.4", + "bundled": true, + "requires": { + "prr": "~0.0.0" + }, + "dependencies": { + "prr": { + "version": "0.0.0", + "bundled": true + } + } + }, + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "2.1.0", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + } + } + }, + "npmi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npmi/-/npmi-1.0.1.tgz", + "integrity": "sha1-FddpJzVHVF5oCdzwzhiu1IsCkOI=", + "requires": { + "npm": "^2.1.12", + "semver": "^4.1.0" + }, + "dependencies": { + "npm": { + "version": "2.15.12", + "resolved": "https://registry.npmjs.org/npm/-/npm-2.15.12.tgz", + "integrity": "sha1-33w+1aJ3w/nUtdgZsFMR0QogCuY=", + "requires": { + "abbrev": "~1.0.9", + "ansi": "~0.3.1", + "ansi-regex": "*", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "archy": "~1.0.0", + "async-some": "~1.0.2", + "block-stream": "0.0.9", + "char-spinner": "~1.0.1", + "chmodr": "~1.0.2", + "chownr": "~1.0.1", + "cmd-shim": "~2.0.2", + "columnify": "~1.5.4", + "config-chain": "~1.1.10", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "fs-vacuum": "~1.2.9", + "fs-write-stream-atomic": "~1.0.8", + "fstream": "~1.0.10", + "fstream-npm": "~1.1.1", + "github-url-from-git": "~1.4.0", + "github-url-from-username-repo": "~1.0.2", + "glob": "~7.0.6", + "graceful-fs": "~4.1.6", + "hosted-git-info": "~2.1.5", + "imurmurhash": "*", + "inflight": "~1.0.4", + "inherits": "~2.0.3", + "ini": "~1.3.4", + "init-package-json": "~1.9.4", + "lockfile": "~1.0.1", + "lru-cache": "~4.0.1", + "minimatch": "~3.0.3", + "mkdirp": "~0.5.1", + "node-gyp": "~3.6.0", + "nopt": "~3.0.6", + "normalize-git-url": "~3.0.2", + "normalize-package-data": "~2.3.5", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "~1.0.7", + "npm-package-arg": "~4.1.0", + "npm-registry-client": "~7.2.1", + "npm-user-validate": "~0.1.5", + "npmlog": "~2.0.4", + "once": "~1.4.0", + "opener": "~1.4.1", + "osenv": "~0.1.3", + "path-is-inside": "~1.0.0", + "read": "~1.0.7", + "read-installed": "~4.0.3", + "read-package-json": "~2.0.4", + "readable-stream": "~2.1.5", + "realize-package-specifier": "~3.0.1", + "request": "~2.74.0", + "retry": "~0.10.0", + "rimraf": "~2.5.4", + "semver": "~5.1.0", + "sha": "~2.0.1", + "slide": "~1.1.6", + "sorted-object": "~2.0.0", + "spdx-license-ids": "~1.2.2", + "strip-ansi": "~3.0.1", + "tar": "~2.2.1", + "text-table": "~0.2.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "validate-npm-package-license": "~3.0.1", + "validate-npm-package-name": "~2.2.2", + "which": "~1.2.11", + "wrappy": "~1.0.2", + "write-file-atomic": "~1.1.4" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "bundled": true + }, + "ansi": { + "version": "0.3.1", + "bundled": true + }, + "ansi-regex": { + "version": "2.0.0", + "bundled": true + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "async-some": { + "version": "1.0.2", + "bundled": true, + "requires": { + "dezalgo": "^1.0.2" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "char-spinner": { + "version": "1.0.1", + "bundled": true + }, + "chmodr": { + "version": "1.0.2", + "bundled": true + }, + "chownr": { + "version": "1.0.1", + "bundled": true + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + }, + "dependencies": { + "wcwidth": { + "version": "1.0.0", + "bundled": true, + "requires": { + "defaults": "^1.0.0" + }, + "dependencies": { + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "bundled": true + } + } + } + } + } + } + }, + "config-chain": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + }, + "dependencies": { + "proto-list": { + "version": "1.2.4", + "bundled": true + } + } + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + }, + "dependencies": { + "asap": { + "version": "2.0.3", + "bundled": true + } + } + }, + "editor": { + "version": "1.0.0", + "bundled": true + }, + "fs-vacuum": { + "version": "1.2.9", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.8", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "fstream": { + "version": "1.0.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-npm": { + "version": "1.1.1", + "bundled": true, + "requires": { + "fstream-ignore": "^1.0.0", + "inherits": "2" + }, + "dependencies": { + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + } + } + } + }, + "github-url-from-git": { + "version": "1.4.0", + "bundled": true + }, + "github-url-from-username-repo": { + "version": "1.0.2", + "bundled": true + }, + "glob": { + "version": "7.0.6", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "path-is-absolute": { + "version": "1.0.0", + "bundled": true + } + } + }, + "graceful-fs": { + "version": "4.1.6", + "bundled": true + }, + "hosted-git-info": { + "version": "2.1.5", + "bundled": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "inflight": { + "version": "1.0.5", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true + }, + "init-package-json": { + "version": "1.9.4", + "bundled": true, + "requires": { + "glob": "^6.0.0", + "npm-package-arg": "^4.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^2.0.1" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "bundled": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "path-is-absolute": { + "version": "1.0.0", + "bundled": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1" + } + } + } + }, + "lockfile": { + "version": "1.0.1", + "bundled": true + }, + "lru-cache": { + "version": "4.0.1", + "bundled": true, + "requires": { + "pseudomap": "^1.0.1", + "yallist": "^2.0.0" + }, + "dependencies": { + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "yallist": { + "version": "2.0.0", + "bundled": true + } + } + }, + "minimatch": { + "version": "3.0.3", + "bundled": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "bundled": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true + } + } + }, + "node-gyp": { + "version": "3.6.0", + "bundled": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "bundled": true + } + } + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-git-url": { + "version": "3.0.2", + "bundled": true + }, + "normalize-package-data": { + "version": "2.3.5", + "bundled": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "requires": { + "builtin-modules": "^1.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.0", + "bundled": true + } + } + } + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true + }, + "npm-install-checks": { + "version": "1.0.7", + "bundled": true, + "requires": { + "npmlog": "0.1 || 1 || 2", + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "npm-package-arg": { + "version": "4.1.0", + "bundled": true, + "requires": { + "hosted-git-info": "^2.1.4", + "semver": "4 || 5" + } + }, + "npm-registry-client": { + "version": "7.2.1", + "bundled": true, + "requires": { + "concat-stream": "^1.5.2", + "graceful-fs": "^4.1.6", + "normalize-package-data": "~1.0.1 || ^2.0.0", + "npm-package-arg": "^3.0.0 || ^4.0.0", + "npmlog": "~2.0.0 || ~3.1.0", + "once": "^1.3.3", + "request": "^2.74.0", + "retry": "^0.10.0", + "semver": "2 >=2.2.1 || 3.x || 4 || 5", + "slide": "^1.1.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.2", + "bundled": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + } + } + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "retry": { + "version": "0.10.0", + "bundled": true + } + } + }, + "npm-user-validate": { + "version": "0.1.5", + "bundled": true + }, + "npmlog": { + "version": "2.0.4", + "bundled": true, + "requires": { + "ansi": "~0.3.1", + "are-we-there-yet": "~1.1.2", + "gauge": "~1.2.5" + }, + "dependencies": { + "are-we-there-yet": { + "version": "1.1.2", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + }, + "dependencies": { + "delegates": { + "version": "1.0.0", + "bundled": true + } + } + }, + "gauge": { + "version": "1.2.7", + "bundled": true, + "requires": { + "ansi": "^0.3.0", + "has-unicode": "^2.0.0", + "lodash.pad": "^4.1.0", + "lodash.padend": "^4.1.0", + "lodash.padstart": "^4.1.0" + }, + "dependencies": { + "has-unicode": { + "version": "2.0.0", + "bundled": true + }, + "lodash._baseslice": { + "version": "4.0.0", + "bundled": true + }, + "lodash._basetostring": { + "version": "4.12.0", + "bundled": true + }, + "lodash.pad": { + "version": "4.4.0", + "bundled": true, + "requires": { + "lodash._baseslice": "~4.0.0", + "lodash._basetostring": "~4.12.0", + "lodash.tostring": "^4.0.0" + } + }, + "lodash.padend": { + "version": "4.5.0", + "bundled": true, + "requires": { + "lodash._baseslice": "~4.0.0", + "lodash._basetostring": "~4.12.0", + "lodash.tostring": "^4.0.0" + } + }, + "lodash.padstart": { + "version": "4.5.0", + "bundled": true, + "requires": { + "lodash._baseslice": "~4.0.0", + "lodash._basetostring": "~4.12.0", + "lodash.tostring": "^4.0.0" + } + }, + "lodash.tostring": { + "version": "4.1.4", + "bundled": true + } + } + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.4.1", + "bundled": true + }, + "osenv": { + "version": "0.1.3", + "bundled": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.0", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.1", + "bundled": true + } + } + }, + "path-is-inside": { + "version": "1.0.1", + "bundled": true + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + }, + "dependencies": { + "mute-stream": { + "version": "0.0.5", + "bundled": true + } + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + }, + "dependencies": { + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "util-extend": { + "version": "1.0.1", + "bundled": true + } + } + }, + "read-package-json": { + "version": "2.0.4", + "bundled": true, + "requires": { + "glob": "^6.0.0", + "graceful-fs": "^4.1.2", + "json-parse-helpfulerror": "^1.0.2", + "normalize-package-data": "^2.0.0" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "bundled": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "path-is-absolute": { + "version": "1.0.0", + "bundled": true + } + } + }, + "json-parse-helpfulerror": { + "version": "1.0.3", + "bundled": true, + "requires": { + "jju": "^1.1.0" + }, + "dependencies": { + "jju": { + "version": "1.3.0", + "bundled": true + } + } + } + } + }, + "readable-stream": { + "version": "2.1.5", + "bundled": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + } + } + }, + "realize-package-specifier": { + "version": "3.0.1", + "bundled": true, + "requires": { + "dezalgo": "^1.0.1", + "npm-package-arg": "^4.0.0" + } + }, + "request": { + "version": "2.74.0", + "bundled": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc4", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1" + }, + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "bundled": true + }, + "aws4": { + "version": "1.4.1", + "bundled": true + }, + "bl": { + "version": "1.1.2", + "bundled": true, + "requires": { + "readable-stream": "~2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + } + } + } + } + }, + "caseless": { + "version": "0.11.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "~1.0.0" + }, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "bundled": true + } + } + }, + "extend": { + "version": "3.0.0", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "1.0.0-rc4", + "bundled": true, + "requires": { + "async": "^1.5.2", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.10" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "bundled": true + } + } + }, + "har-validator": { + "version": "2.0.6", + "bundled": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "bundled": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "bundled": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "bundled": true + } + } + }, + "commander": { + "version": "2.9.0", + "bundled": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + }, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "bundled": true + } + } + }, + "is-my-json-valid": { + "version": "2.13.1", + "bundled": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "generate-function": { + "version": "2.0.0", + "bundled": true + }, + "generate-object-property": { + "version": "1.2.0", + "bundled": true, + "requires": { + "is-property": "^1.0.0" + }, + "dependencies": { + "is-property": { + "version": "1.0.2", + "bundled": true + } + } + }, + "jsonpointer": { + "version": "2.0.0", + "bundled": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "requires": { + "pinkie": "^2.0.0" + }, + "dependencies": { + "pinkie": { + "version": "2.0.4", + "bundled": true + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "dependencies": { + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.x.x" + } + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "requires": { + "boom": "2.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "requires": { + "hoek": "2.x.x" + } + } + } + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "bundled": true + }, + "jsprim": { + "version": "1.3.0", + "bundled": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.2", + "verror": "1.3.6" + }, + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "json-schema": { + "version": "0.2.2", + "bundled": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "requires": { + "extsprintf": "1.0.2" + } + } + } + }, + "sshpk": { + "version": "1.9.2", + "bundled": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.13.0" + }, + "dependencies": { + "asn1": { + "version": "0.2.3", + "bundled": true + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "dashdash": { + "version": "1.14.0", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "getpass": { + "version": "0.1.6", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.0", + "bundled": true, + "optional": true + }, + "tweetnacl": { + "version": "0.13.3", + "bundled": true, + "optional": true + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "mime-types": { + "version": "2.1.11", + "bundled": true, + "requires": { + "mime-db": "~1.23.0" + }, + "dependencies": { + "mime-db": { + "version": "1.23.0", + "bundled": true + } + } + }, + "node-uuid": { + "version": "1.4.7", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true + }, + "qs": { + "version": "6.2.1", + "bundled": true + }, + "stringstream": { + "version": "0.0.5", + "bundled": true + }, + "tough-cookie": { + "version": "2.3.1", + "bundled": true + }, + "tunnel-agent": { + "version": "0.4.3", + "bundled": true + } + } + }, + "retry": { + "version": "0.10.0", + "bundled": true + }, + "rimraf": { + "version": "2.5.4", + "bundled": true, + "requires": { + "glob": "^7.0.5" + } + }, + "semver": { + "version": "5.1.0", + "bundled": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.2", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "process-nextick-args": "~1.0.0", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.3", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.1", + "bundled": true + } + } + } + } + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "sorted-object": { + "version": "2.0.0", + "bundled": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "umask": { + "version": "1.1.0", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "requires": { + "spdx-license-ids": "^1.0.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.2", + "bundled": true, + "requires": { + "spdx-exceptions": "^1.0.4", + "spdx-license-ids": "^1.0.0" + }, + "dependencies": { + "spdx-exceptions": { + "version": "1.0.4", + "bundled": true + } + } + } + } + }, + "validate-npm-package-name": { + "version": "2.2.2", + "bundled": true, + "requires": { + "builtins": "0.0.7" + }, + "dependencies": { + "builtins": { + "version": "0.0.7", + "bundled": true + } + } + }, + "which": { + "version": "1.2.11", + "bundled": true, + "requires": { + "isexe": "^1.1.1" + }, + "dependencies": { + "isexe": { + "version": "1.1.2", + "bundled": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "1.1.4", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" + } + } + } + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" + } + } + }, + "q": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", + "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=" + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + }, + "tmp": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, + "gitbook-markdown": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/gitbook-markdown/-/gitbook-markdown-0.5.3.tgz", + "integrity": "sha1-pXUO8eSZ5T7ltixdRPxL1vukG8c=", + "requires": { + "kramed": "0.5.5", + "kramed-text-renderer": "0.2.1", + "lodash": "^3.2.0" + } + }, + "gitbook-parsers": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/gitbook-parsers/-/gitbook-parsers-0.8.9.tgz", + "integrity": "sha1-mC97ysStqYo2jDAHu86FV9Y0jXk=", + "requires": { + "gitbook-asciidoc": "0.2.4", + "gitbook-markdown": "0.5.3", + "gitbook-restructuredtext": "0.2.3", + "lodash": "^3.2.0", + "q": "^1.1.2" + }, + "dependencies": { + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + } + } + }, + "gitbook-plugin-back-to-top-button": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/gitbook-plugin-back-to-top-button/-/gitbook-plugin-back-to-top-button-0.1.4.tgz", + "integrity": "sha1-5iGDOLDvGdWOb2YAmUNQt26ANd8=" + }, + "gitbook-plugin-edit-link": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/gitbook-plugin-edit-link/-/gitbook-plugin-edit-link-2.0.2.tgz", + "integrity": "sha1-2PzZJ+ztgeemYqctWdtgnq/X5y8=" + }, + "gitbook-plugin-fontsettings": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/gitbook-plugin-fontsettings/-/gitbook-plugin-fontsettings-1.0.2.tgz", + "integrity": "sha1-bNXbb7vHBszXhhVLqH3Whgb5fcg=" + }, + "gitbook-plugin-github": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gitbook-plugin-github/-/gitbook-plugin-github-2.0.0.tgz", + "integrity": "sha1-UWbnY8/MQC1DKIC3pshcHFS1ao0=" + }, + "gitbook-plugin-github-buttons": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gitbook-plugin-github-buttons/-/gitbook-plugin-github-buttons-2.1.0.tgz", + "integrity": "sha1-eZOqHmwgUeF0POTiw3PEPbZeiuQ=" + }, + "gitbook-plugin-highlight": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/gitbook-plugin-highlight/-/gitbook-plugin-highlight-1.0.3.tgz", + "integrity": "sha1-9smqu/TXfjfD/pKXNHXVZBULgyE=", + "requires": { + "highlight.js": "8.8.0" + } + }, + "gitbook-plugin-livereload": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/gitbook-plugin-livereload/-/gitbook-plugin-livereload-0.0.1.tgz", + "integrity": "sha1-wMncb1X4L8JPl1MrJSh6u7tBa5Y=" + }, + "gitbook-plugin-page-toc-button": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/gitbook-plugin-page-toc-button/-/gitbook-plugin-page-toc-button-0.1.1.tgz", + "integrity": "sha1-KBoK3j8NiXtjqDpKPGPMhTpglvk=" + }, + "gitbook-plugin-prism": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/gitbook-plugin-prism/-/gitbook-plugin-prism-2.4.0.tgz", + "integrity": "sha1-QSjiy/pMjEYQ6O0zAFbCScXOsuk=", + "requires": { + "cheerio": "0.22.0", + "mkdirp": "0.5.1", + "prismjs": "^1.15.0" + }, + "dependencies": { + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "readable-stream": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", + "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "gitbook-plugin-search": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gitbook-plugin-search/-/gitbook-plugin-search-1.1.0.tgz", + "integrity": "sha1-PTaSigUYiFybo4daqW5m/9lsTPc=", + "requires": { + "lodash": "3.10.1", + "lunr": "0.5.12" + } + }, + "gitbook-plugin-search-plus": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/gitbook-plugin-search-plus/-/gitbook-plugin-search-plus-0.0.11.tgz", + "integrity": "sha1-tddEREeU73GUr8OwsbJNwvQTatQ=", + "requires": { + "html-entities": "1.2.0" + } + }, + "gitbook-plugin-sharing": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gitbook-plugin-sharing/-/gitbook-plugin-sharing-1.0.1.tgz", + "integrity": "sha1-MjDRql8DOYID2lxHPh671HRxtxg=", + "requires": { + "lodash": "^3.10.1" + } + }, + "gitbook-plugin-sharing-plus": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/gitbook-plugin-sharing-plus/-/gitbook-plugin-sharing-plus-0.0.2.tgz", + "integrity": "sha1-FstYGACikvAbvY19Ic6jID0Jcz8=", + "requires": { + "lodash": "^3.10.1" + } + }, + "gitbook-plugin-splitter": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/gitbook-plugin-splitter/-/gitbook-plugin-splitter-0.0.8.tgz", + "integrity": "sha1-8rBRMGD8kma0awQYLk7KHUtx+vw=" + }, + "gitbook-plugin-tbfed-pagefooter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/gitbook-plugin-tbfed-pagefooter/-/gitbook-plugin-tbfed-pagefooter-0.0.1.tgz", + "integrity": "sha1-Fu54QGLdhQQmTEd+h2X8ScQb7T0=", + "requires": { + "moment": "^2.10.6" + } + }, + "gitbook-restructuredtext": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/gitbook-restructuredtext/-/gitbook-restructuredtext-0.2.3.tgz", + "integrity": "sha1-4tzIMEIrDJ06EDIfmAHWKCqeY7g=", + "requires": { + "cheerio": "^0.19.0", + "lodash": "^3.2.0", + "q": "^1.1.2", + "tmp": "0.0.24" + }, + "dependencies": { + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + } + } + }, + "github-slugid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/github-slugid/-/github-slugid-1.0.0.tgz", + "integrity": "sha1-gL5yPR3uikqyN9wspzRT5wa7VVk=" + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-1.3.0.tgz", + "integrity": "sha1-lx7dgW7V21hwW1gHlkemTQrveWg=", + "requires": { + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "optional": true, + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz", + "integrity": "sha1-SogEdL3rcW/jJ4zyl5Lew436xBg=" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hawk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz", + "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=", + "requires": { + "boom": "0.4.x", + "cryptiles": "0.2.x", + "hoek": "0.9.x", + "sntp": "0.2.x" + } + }, + "highlight.js": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-8.8.0.tgz", + "integrity": "sha1-SdXiGF9HFzH06/39l0ZunulidW8=" + }, + "hoek": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", + "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=" + }, + "html-entities": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.0.tgz", + "integrity": "sha1-QZSMr4XOgv7Tbk5qDtNxpmZDeeI=" + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + }, + "dependencies": { + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" + } + } + }, + "http-errors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "requires": { + "inherits": "~2.0.1", + "statuses": "1" + } + }, + "http-parser-js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==" + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + } + }, + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-1.1.3.tgz", + "integrity": "sha1-tMZLgwPTkRRJKkYNNkzPsNPAoEU=" + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, + "json-schema-defaults": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/json-schema-defaults/-/json-schema-defaults-0.1.1.tgz", + "integrity": "sha1-HGxhA8Q0m3G29Ko4LD3ZqhyLraM=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "optional": true + } + } + }, + "jsonschema": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.0.2.tgz", + "integrity": "sha1-KSu4/TYmZpGobE6xQf9QCtsPVg8=" + }, + "juice": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-1.5.0.tgz", + "integrity": "sha1-lilL0uBQF/YUTdpbF5G9BBth+6w=", + "requires": { + "batch": "0.5.2", + "cheerio": "0.19.0", + "commander": "2.3.0", + "cssom": "0.3.0", + "slick": "1.12.1", + "web-resource-inliner": "1.1.4" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "kramed": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/kramed/-/kramed-0.5.5.tgz", + "integrity": "sha1-qTMpap5S2xOGquV0WE6lNua19ts=" + }, + "kramed-text-renderer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/kramed-text-renderer/-/kramed-text-renderer-0.2.1.tgz", + "integrity": "sha1-q+vAfAQPr3lC3KZPTu4MmxReeVE=" + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==" + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "requires": { + "es5-ext": "~0.10.2" + } + }, + "lunr": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-0.5.12.tgz", + "integrity": "sha1-ova314AcvizLFpbaZ/H3eI+J4Mg=" + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memoizee": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz", + "integrity": "sha1-TsoNiu057J0Bf0xcLy9kMvQuXI8=", + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11", + "es6-weak-map": "~0.1.4", + "event-emitter": "~0.3.4", + "lru-queue": "0.1", + "next-tick": "~0.2.2", + "timers-ext": "0.1" + }, + "dependencies": { + "next-tick": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", + "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=" + } + } + }, + "merge-defaults": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/merge-defaults/-/merge-defaults-0.2.1.tgz", + "integrity": "sha1-3UIkjrlrtqUVIXJDIccv+Vg93oA=", + "requires": { + "lodash": "~2.4.1" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + } + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "dependencies": { + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "mime-db": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=" + }, + "mime-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", + "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=" + }, + "mimer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimer/-/mimer-1.0.0.tgz", + "integrity": "sha512-4ZJvCzfcwsBgPbkKXUzGoVZMWjv8IDIygkGzVc7uUYhgnK0t2LmGxxjdgH1i+pn0/KQfB5F/VKUJlfyTSOFQjg==" + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s=" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "optional": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/npm/-/npm-2.4.1.tgz", + "integrity": "sha1-AhLgO4reib7GpZ/HW8KqA/lPD1M=", + "requires": { + "abbrev": "~1.0.5", + "ansi": "~0.3.0", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "archy": "~1.0.0", + "async-some": "~1.0.1", + "block-stream": "0.0.7", + "char-spinner": "~1.0.1", + "child-process-close": "~0.1.1", + "chmodr": "~0.1.0", + "chownr": "0", + "cmd-shim": "~2.0.1", + "columnify": "~1.3.2", + "config-chain": "~1.1.8", + "dezalgo": "~1.0.1", + "editor": "~0.1.0", + "fs-vacuum": "~1.2.5", + "fs-write-stream-atomic": "~1.0.2", + "fstream": "~1.0.3", + "fstream-npm": "~1.0.1", + "github-url-from-git": "~1.4.0", + "github-url-from-username-repo": "~1.0.2", + "glob": "~4.3.5", + "graceful-fs": "~3.0.5", + "inflight": "~1.0.4", + "inherits": "~2.0.1", + "ini": "~1.3.2", + "init-package-json": "~1.2.0", + "lockfile": "~1.0.0", + "lru-cache": "~2.5.0", + "minimatch": "~2.0.1", + "mkdirp": "~0.5.0", + "node-gyp": "~1.0.2", + "nopt": "~3.0.1", + "normalize-git-url": "~1.0.0", + "normalize-package-data": "~1.0.3", + "npm-cache-filename": "~1.0.1", + "npm-install-checks": "~1.0.5", + "npm-package-arg": "~2.1.3", + "npm-registry-client": "~6.0.3", + "npm-user-validate": "~0.1.1", + "npmlog": "~0.1.1", + "once": "~1.3.1", + "opener": "~1.4.0", + "osenv": "~0.1.0", + "path-is-inside": "~1.0.0", + "read": "~1.0.4", + "read-installed": "~3.1.5", + "read-package-json": "~1.2.7", + "readable-stream": "~1.0.33", + "realize-package-specifier": "~1.3.0", + "request": "~2.51.0", + "retry": "~0.6.1", + "rimraf": "~2.2.8", + "semver": "~4.2.0", + "sha": "~1.3.0", + "slide": "~1.1.6", + "sorted-object": "~1.0.0", + "tar": "~1.0.3", + "text-table": "~0.2.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "which": "~1.0.8", + "wrappy": "~1.0.1", + "write-file-atomic": "~1.1.0" + }, + "dependencies": { + "abbrev": { + "version": "1.0.5", + "bundled": true + }, + "ansi": { + "version": "0.3.0", + "bundled": true + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "async-some": { + "version": "1.0.1", + "bundled": true, + "requires": { + "dezalgo": "^1.0.0" + } + }, + "block-stream": { + "version": "0.0.7", + "bundled": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "char-spinner": { + "version": "1.0.1", + "bundled": true + }, + "child-process-close": { + "version": "0.1.1", + "bundled": true + }, + "chmodr": { + "version": "0.1.0", + "bundled": true + }, + "chownr": { + "version": "0.0.1", + "bundled": true + }, + "cmd-shim": { + "version": "2.0.1", + "bundled": true, + "requires": { + "graceful-fs": ">3.0.1 <4.0.0-0", + "mkdirp": "~0.5.0" + } + }, + "columnify": { + "version": "1.3.2", + "bundled": true, + "requires": { + "strip-ansi": "^2.0.0", + "wcwidth": "^1.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^1.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "1.1.0", + "bundled": true + } + } + }, + "wcwidth": { + "version": "1.0.0", + "bundled": true, + "requires": { + "defaults": "^1.0.0" + }, + "dependencies": { + "defaults": { + "version": "1.0.0", + "bundled": true, + "requires": { + "clone": "~0.1.5" + }, + "dependencies": { + "clone": { + "version": "0.1.19", + "bundled": true + } + } + } + } + } + } + }, + "config-chain": { + "version": "1.1.8", + "bundled": true, + "requires": { + "ini": "1", + "proto-list": "~1.2.1" + }, + "dependencies": { + "proto-list": { + "version": "1.2.3", + "bundled": true + } + } + }, + "dezalgo": { + "version": "1.0.1", + "bundled": true, + "requires": { + "asap": "^1.0.0", + "wrappy": "1" + }, + "dependencies": { + "asap": { + "version": "1.0.0", + "bundled": true + } + } + }, + "editor": { + "version": "0.1.0", + "bundled": true + }, + "fs-vacuum": { + "version": "1.2.5", + "bundled": true, + "requires": { + "graceful-fs": "^3.0.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.2.8" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.2", + "bundled": true, + "requires": { + "graceful-fs": "^3.0.2" + } + }, + "fstream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "graceful-fs": "3", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-npm": { + "version": "1.0.1", + "bundled": true, + "requires": { + "fstream-ignore": "^1.0.0", + "inherits": "2" + }, + "dependencies": { + "fstream-ignore": { + "version": "1.0.2", + "bundled": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^2.0.1" + } + } + } + }, + "github-url-from-git": { + "version": "1.4.0", + "bundled": true + }, + "github-url-from-username-repo": { + "version": "1.0.2", + "bundled": true + }, + "glob": { + "version": "4.3.5", + "bundled": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + } + }, + "graceful-fs": { + "version": "3.0.5", + "bundled": true + }, + "inflight": { + "version": "1.0.4", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.1", + "bundled": true + }, + "ini": { + "version": "1.3.2", + "bundled": true + }, + "init-package-json": { + "version": "1.2.0", + "bundled": true, + "requires": { + "glob": "^4.0.2", + "promzard": "~0.2.0", + "read": "~1.0.1", + "read-package-json": "1", + "semver": "2.x || 3.x || 4" + }, + "dependencies": { + "promzard": { + "version": "0.2.2", + "bundled": true, + "requires": { + "read": "1" + } + } + } + }, + "lockfile": { + "version": "1.0.0", + "bundled": true + }, + "lru-cache": { + "version": "2.5.0", + "bundled": true + }, + "minimatch": { + "version": "2.0.1", + "bundled": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.0.1", + "bundled": true, + "requires": { + "balanced-match": "^0.2.0", + "concat-map": "0.0.0" + }, + "dependencies": { + "balanced-match": { + "version": "0.2.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.0", + "bundled": true + } + } + } + } + }, + "mkdirp": { + "version": "0.5.0", + "bundled": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true + } + } + }, + "node-gyp": { + "version": "1.0.2", + "bundled": true, + "requires": { + "fstream": "^1.0.0", + "glob": "3 || 4", + "graceful-fs": "3", + "minimatch": "1", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "2.x || 3.x || 4", + "tar": "^1.0.0", + "which": "1" + }, + "dependencies": { + "minimatch": { + "version": "1.0.0", + "bundled": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "dependencies": { + "sigmund": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "nopt": { + "version": "3.0.1", + "bundled": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-git-url": { + "version": "1.0.0", + "bundled": true + }, + "normalize-package-data": { + "version": "1.0.3", + "bundled": true, + "requires": { + "github-url-from-git": "^1.3.0", + "github-url-from-username-repo": "^1.0.0", + "semver": "2 || 3 || 4" + } + }, + "npm-cache-filename": { + "version": "1.0.1", + "bundled": true + }, + "npm-install-checks": { + "version": "1.0.5", + "bundled": true, + "requires": { + "npmlog": "0.1 || 1", + "semver": "^2.3.0 || 3.x || 4" + } + }, + "npm-package-arg": { + "version": "2.1.3", + "bundled": true, + "requires": { + "semver": "4" + } + }, + "npm-registry-client": { + "version": "6.0.3", + "bundled": true, + "requires": { + "chownr": "0", + "concat-stream": "^1.4.6", + "graceful-fs": "^3.0.0", + "mkdirp": "^0.5.0", + "normalize-package-data": "~1.0.1", + "npm-package-arg": "^3.0.0", + "npmlog": "^4.1.2", + "once": "^1.3.0", + "request": "^2.47.0", + "retry": "^0.6.1", + "rimraf": "2", + "semver": "2 >=2.2.1 || 3.x || 4", + "slide": "^1.1.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.4.7", + "bundled": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.9", + "typedarray": "~0.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.13", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "npm-package-arg": { + "version": "3.0.0", + "bundled": true, + "requires": { + "hosted-git-info": "^1.4.0", + "semver": "4" + }, + "dependencies": { + "hosted-git-info": { + "version": "1.5.3", + "bundled": true + } + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + } + } + }, + "npm-user-validate": { + "version": "0.1.1", + "bundled": true + }, + "npmlog": { + "version": "0.1.1", + "bundled": true, + "requires": { + "ansi": "~0.3.0" + } + }, + "once": { + "version": "1.3.1", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.4.0", + "bundled": true + }, + "osenv": { + "version": "0.1.0", + "bundled": true + }, + "path-is-inside": { + "version": "1.0.1", + "bundled": true + }, + "read": { + "version": "1.0.5", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + }, + "dependencies": { + "mute-stream": { + "version": "0.0.4", + "bundled": true + } + } + }, + "read-installed": { + "version": "3.1.5", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "2 || 3", + "read-package-json": "1", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + }, + "dependencies": { + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "readdir-scoped-modules": { + "version": "1.0.1", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^3.0.4", + "once": "^1.3.0" + } + }, + "util-extend": { + "version": "1.0.1", + "bundled": true + } + } + }, + "read-package-json": { + "version": "1.2.7", + "bundled": true, + "requires": { + "github-url-from-git": "^1.3.0", + "github-url-from-username-repo": "~1.0.0", + "glob": "^4.0.2", + "graceful-fs": "2 || 3", + "lru-cache": "2", + "normalize-package-data": "^1.0.0" + } + }, + "readable-stream": { + "version": "1.0.33", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + }, + "realize-package-specifier": { + "version": "1.3.0", + "bundled": true, + "requires": { + "dezalgo": "^1.0.1", + "npm-package-arg": "^2.1.3" + } + }, + "request": { + "version": "2.51.0", + "bundled": true, + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.8.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.5.0", + "form-data": "~0.2.0", + "hawk": "1.1.1", + "http-signature": "~0.10.0", + "json-stringify-safe": "~5.0.0", + "mime-types": "~1.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.5.0", + "qs": "~2.3.1", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + }, + "dependencies": { + "aws-sign2": { + "version": "0.5.0", + "bundled": true + }, + "bl": { + "version": "0.9.3", + "bundled": true, + "requires": { + "readable-stream": "~1.0.26" + } + }, + "caseless": { + "version": "0.8.0", + "bundled": true + }, + "combined-stream": { + "version": "0.0.7", + "bundled": true, + "requires": { + "delayed-stream": "0.0.5" + }, + "dependencies": { + "delayed-stream": { + "version": "0.0.5", + "bundled": true + } + } + }, + "forever-agent": { + "version": "0.5.2", + "bundled": true + }, + "form-data": { + "version": "0.2.0", + "bundled": true, + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" + }, + "dependencies": { + "async": { + "version": "0.9.0", + "bundled": true + }, + "mime-types": { + "version": "2.0.4", + "bundled": true, + "requires": { + "mime-db": "~1.3.0" + }, + "dependencies": { + "mime-db": { + "version": "1.3.0", + "bundled": true + } + } + } + } + }, + "hawk": { + "version": "1.1.1", + "bundled": true, + "requires": { + "boom": "0.4.x", + "cryptiles": "0.2.x", + "hoek": "0.9.x", + "sntp": "0.2.x" + }, + "dependencies": { + "boom": { + "version": "0.4.2", + "bundled": true, + "requires": { + "hoek": "0.9.x" + } + }, + "cryptiles": { + "version": "0.2.2", + "bundled": true, + "requires": { + "boom": "0.4.x" + } + }, + "hoek": { + "version": "0.9.1", + "bundled": true + }, + "sntp": { + "version": "0.2.4", + "bundled": true, + "requires": { + "hoek": "0.9.x" + } + } + } + }, + "http-signature": { + "version": "0.10.0", + "bundled": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "0.1.2", + "ctype": "0.5.2" + }, + "dependencies": { + "asn1": { + "version": "0.1.11", + "bundled": true + }, + "assert-plus": { + "version": "0.1.2", + "bundled": true + }, + "ctype": { + "version": "0.5.2", + "bundled": true + } + } + }, + "json-stringify-safe": { + "version": "5.0.0", + "bundled": true + }, + "mime-types": { + "version": "1.0.2", + "bundled": true + }, + "node-uuid": { + "version": "1.4.2", + "bundled": true + }, + "oauth-sign": { + "version": "0.5.0", + "bundled": true + }, + "qs": { + "version": "2.3.3", + "bundled": true + }, + "stringstream": { + "version": "0.0.4", + "bundled": true + }, + "tough-cookie": { + "version": "0.12.1", + "bundled": true, + "requires": { + "punycode": ">=0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "bundled": true + } + } + }, + "tunnel-agent": { + "version": "0.4.0", + "bundled": true + } + } + }, + "retry": { + "version": "0.6.1", + "bundled": true + }, + "rimraf": { + "version": "2.2.8", + "bundled": true + }, + "semver": { + "version": "4.2.0", + "bundled": true + }, + "sha": { + "version": "1.3.0", + "bundled": true, + "requires": { + "graceful-fs": "2 || 3", + "readable-stream": "~1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.13", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "optional": true + } + } + } + } + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "sorted-object": { + "version": "1.0.0", + "bundled": true + }, + "tar": { + "version": "1.0.3", + "bundled": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "umask": { + "version": "1.1.0", + "bundled": true + }, + "which": { + "version": "1.0.8", + "bundled": true + }, + "wrappy": { + "version": "1.0.1", + "bundled": true + }, + "write-file-atomic": { + "version": "1.1.0", + "bundled": true, + "requires": { + "graceful-fs": "^3.0.2", + "slide": "^1.1.5" + } + } + } + }, + "npmi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/npmi/-/npmi-0.1.1.tgz", + "integrity": "sha1-ngEkkc7KSByKPz8SNblfJ1UlsHY=", + "requires": { + "npm": "^2.1.5", + "semver": "^4.1.0" + }, + "dependencies": { + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" + } + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "requires": { + "boolbase": "~1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nunjucks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-2.2.0.tgz", + "integrity": "sha1-rn93bmVht0uJyJf3NdSDRn/qveA=", + "requires": { + "asap": "^2.0.3", + "chokidar": "^1.0.0", + "optimist": "*" + } + }, + "nunjucks-autoescape": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nunjucks-autoescape/-/nunjucks-autoescape-1.0.0.tgz", + "integrity": "sha1-3SPDsbg6uegdMW9/CM9xiztzzX8=" + }, + "nunjucks-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nunjucks-filter/-/nunjucks-filter-1.0.0.tgz", + "integrity": "sha1-R5UybYkXtgBcNCoNkdQRDKvSSp4=" + }, + "oauth-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz", + "integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "opal-npm-wrapper": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/opal-npm-wrapper/-/opal-npm-wrapper-0.1.1.tgz", + "integrity": "sha1-nJTSC+Tkui3yqS2mu95vMhOsIJU=" + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "prismjs": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.16.0.tgz", + "integrity": "sha512-OA4MKxjFZHSvZcisLGe14THYsug/nF6O1f0pAJc0KN0wTyAcLqmsbE+lTGKSpyh+9pEW57+k6pg2AfYR+coyHA==", + "requires": { + "clipboard": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "psl": { + "version": "1.1.32", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz", + "integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz", + "integrity": "sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=" + }, + "qs": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", + "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=" + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "raw-body": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", + "requires": { + "bytes": "2.4.0", + "iconv-lite": "0.4.13", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", + "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=" + } + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readdirp": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-1.4.0.tgz", + "integrity": "sha1-xd5vyz3sgFI8HHARPxoZDYr4LIk=", + "requires": { + "graceful-fs": "~4.1.2", + "minimatch": "~0.2.12", + "readable-stream": "~1.0.26-2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "request": { + "version": "2.51.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.51.0.tgz", + "integrity": "sha1-NdALvswBLlX5B7G9ng29V3v+8m4=", + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.8.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.5.0", + "form-data": "~0.2.0", + "hawk": "1.1.1", + "http-signature": "~0.10.0", + "json-stringify-safe": "~5.0.0", + "mime-types": "~1.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.5.0", + "qs": "~2.3.1", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + } + }, + "resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=" + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "optional": true + }, + "semver": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.1.tgz", + "integrity": "sha1-n7P0AE+QDYPEeWj+QvdYPgWDLMk=" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "slick": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.1.tgz", + "integrity": "sha1-IRIFGUDeKw0O8n9k8b5sMsZZy4c=" + }, + "sntp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", + "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", + "requires": { + "hoek": "0.9.x" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "spawn-cmd": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-cmd/-/spawn-cmd-0.0.2.tgz", + "integrity": "sha1-bV4lH60OqwCw8ZPSRWaaeiKOwN4=" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "templayed": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/templayed/-/templayed-0.2.3.tgz", + "integrity": "sha1-RwbfYlvGrs2Gt8n2sPtUi5XN92k=" + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=", + "optional": true + }, + "tiny-lr": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", + "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=", + "requires": { + "body-parser": "~1.14.0", + "debug": "~2.2.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.2.0", + "parseurl": "~1.3.0", + "qs": "~5.1.0" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + }, + "qs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", + "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=" + } + } + }, + "tmp": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz", + "integrity": "sha1-1qXhmNFKmDXMby18PZ4wJCjIzxI=" + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + } + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "urijs": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.17.0.tgz", + "integrity": "sha1-IPzTK89g4OkAfCQVwsm4vcQ7M7E=" + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "requires": { + "os-homedir": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "web-resource-inliner": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-1.1.4.tgz", + "integrity": "sha1-E1dsJ6oUsHHY9qlRGykPsyV+VqQ=", + "requires": { + "async": "^0.9.0", + "clean-css": "1.1.7", + "cli-color": "^0.3.2", + "datauri": "~0.2.0", + "request": "^2.49.0", + "uglify-js": "^2.4.1", + "xtend": "^4.0.0" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xmlhttprequest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.6.0.tgz", + "integrity": "sha1-ST0oX1kmb9y41P79JTRae2k8lmw=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..63cbff2 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "scripts": { + "serve": "gitbook serve", + "build": "gitbook build" + }, + "dependencies": { + "gitbook": "^2.6.9", + "gitbook-cli": "^2.3.2", + "gitbook-plugin-back-to-top-button": "^0.1.4", + "gitbook-plugin-edit-link": "^2.0.2", + "gitbook-plugin-github": "^2.0.0", + "gitbook-plugin-github-buttons": "^2.1.0", + "gitbook-plugin-page-toc-button": "^0.1.1", + "gitbook-plugin-prism": "^2.4.0", + "gitbook-plugin-search-plus": "0.0.11", + "gitbook-plugin-sharing-plus": "0.0.2", + "gitbook-plugin-splitter": "0.0.8", + "gitbook-plugin-tbfed-pagefooter": "0.0.1" + } +} diff --git a/preface/code-organization/index.html b/preface/code-organization/index.html new file mode 100644 index 0000000..8569227 --- /dev/null +++ b/preface/code-organization/index.html @@ -0,0 +1,532 @@ + + + + + + + Python 源代码的组织 · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                +
                + + + + + + + + +
                + +
                + +
                + + + + + + + + +
                +
                + +
                +
                + +
                + +

                Python 源代码的组织

                +

                源代码下载

                +

                方式 1:GitHub

                +

                Python 源代码可以在 GitHub 上方便的获取,执行:

                +
                git clone https://github.com/python/cpython.git
                +git checkout v3.7.0
                +
                +

                即可获取 Python 3.7.0 版本的代码。

                +

                方式 2:Python 官方网站

                +

                访问 https://www.python.org/downloads/release/python-370/ ,下拉至页面最下方,可选择下载 tarball 源码包。 +亦可执行:

                +
                wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
                +
                +

                即可获取 Python 3.7.0 版本的代码。

                +

                目录结构

                +

                进入源码目录,我们可以看到该目录下主要 包含以下文件(夹):

                +
                .
                +├── Doc
                +├── Grammar
                +├── Include
                +├── LICENSE
                +├── Lib
                +├── Mac
                +├── Makefile.pre.in
                +├── Misc
                +├── Modules
                +├── Objects
                +├── PC
                +├── PCbuild
                +├── Parser
                +├── Programs
                +├── Python
                +├── README.rst
                +├── Tools
                +├── aclocal.m4
                +├── config.guess
                +├── config.sub
                +├── configure
                +├── configure.ac
                +├── install-sh
                +├── m4
                +├── pyconfig.h.in
                +└── setup.py
                +
                +

                其中:

                +

                Include 目录:包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。

                +

                Lib 目录:包含了 Python 自带的所有标准库,且都是用 Python 语言编写的。

                +

                Modules 目录:包含了所有用 C 语言编写的模块,比如 math、hashlib 等。它们都是那些对速度要求非常严格的模块。而相比而言,Lib 目录下则是存放一些对速度没有太严格要求的模块,比如 os。

                +

                Parser 目录:包含了 Python 解释器中的 Scanner 和 Parser 部分,即对 Python 源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。

                +

                Objects 目录:包含了所有 Python 的内建对象,包括整数、list、dict 等。同时,该目录还包括了 Python 在运行时需要的所有的内部使用对象的实现。

                +

                Python 目录:包含了 Python 解释器中的 Compiler 和执行引擎部分,是 Python 运行的核心所在。

                +

                PCbuild 目录:包含了 Visual Studio 2003 的工程文件,研究 Python 源代码就从这里开始(本书将采用 Visual Studio 2017 对 Python 进行编译)。

                +

                Programs 目录:包含了 Python 二进制可执行文件的源码。

                +
                Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
                + +
                + +
                +
                +
                + +

                results matching ""

                +
                  + +
                  +
                  + +

                  No results matching ""

                  + +
                  +
                  +
                  + +
                  +
                  + +
                  + + + + + + + + + + + + + + +
                  + + +
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preface/modify-code/index.html b/preface/modify-code/index.html new file mode 100644 index 0000000..995405b --- /dev/null +++ b/preface/modify-code/index.html @@ -0,0 +1,515 @@ + + + + + + + 修改 Python 源码 · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  +
                  + + + + + + + + +
                  + +
                  + +
                  + + + + + + + + +
                  +
                  + +
                  +
                  + +
                  + +

                  修改 Python 源码

                  +

                  在源代码中 Print

                  +

                  在接下来研究源码的过程中,我们可能会对某些语句的逻辑感到好奇,需要输出中间结果。 +这就需要借助 Python C API 中打印对象的接口:

                  +

                  源文件:Objects/object.c

                  +
                  int
                  +PyObject_Print(PyObject *op, FILE *fp, int flags)
                  +
                  +

                  比如,我们希望在解释器交互界面中打印整数值的时候输出一段字符串,则我们可以修改如下函数:

                  +

                  源文件:Objects/longobject.c

                  +
                  static PyObject *
                  +long_to_decimal_string(PyObject *aa)
                  +{
                  +    PyObject *str = PyUnicode_FromString("I am always before int");
                  +    PyObject_Print(str, stdout, 0);
                  +    printf("\n");
                  +
                  +    PyObject *v;
                  +    if (long_to_decimal_string_internal(aa, &v, NULL, NULL, NULL) == -1)
                  +        return NULL;
                  +    return v;
                  +}
                  +
                  +

                  函数实现中的前 3 行为我们加入的代码,其中:

                  +
                    +
                  • PyUnicode_FromString 用于把 C 中的原生字符数组转换为出 Python 中的字符串(Unicode)对象
                  • +
                  • PyObject_Print 则将转换好的字符串对象打印至我们指定的标准输出(stdout
                  • +
                  +

                  对 Python 重新进行编译,在 Unix 上可执行:

                  +
                  make && make bininstall
                  +
                  +

                  运行编译后的 Python,输入 print 语句即可看到我们希望的结果:

                  +
                  >>> print(1)
                  +'I am always before int'
                  +1
                  +
                  +
                  Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
                  + +
                  + +
                  +
                  +
                  + +

                  results matching ""

                  +
                    + +
                    +
                    + +

                    No results matching ""

                    + +
                    +
                    +
                    + +
                    +
                    + +
                    + + + + + + + + + + + + + + +
                    + + +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preface/unix-linux-build/index.html b/preface/unix-linux-build/index.html new file mode 100644 index 0000000..cf52faa --- /dev/null +++ b/preface/unix-linux-build/index.html @@ -0,0 +1,547 @@ + + + + + + + UNIX/Linux 环境下编译 Python · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    +
                    + + + + + + + + +
                    + +
                    + +
                    + + + + + + + + +
                    +
                    + +
                    +
                    + +
                    + +

                    UNIX/Linux 环境下编译 Python

                    +

                    在 UNIX/Linux 环境下编译 Python 较为简单,主要分为两个步骤:

                    +
                      +
                    1. 环境准备(准备 Python 所依赖的必要环境)
                    2. +
                    3. 编译、安装
                    4. +
                    +

                    环境准备

                    +

                    常规操作系统中

                    +

                    编译 Python 前通常需要在系统上安装以下库:

                    +
                      +
                    • gcc // 编译工具
                    • +
                    • zlib // 压缩、解压相关库
                    • +
                    • libffi // Python 所以来的用于支持 C 扩展的库
                    • +
                    • openssl // 安全套接字层密码库,Linux 中通常已具备
                    • +
                    +

                    不同的发行版,安装方式和包名称也不尽相同。

                    +

                    对于 Debian/Ubuntu,执行:

                    +
                    sudo apt install -y zlib1g zlib1g-dev libffi-dev openssl libssl-dev
                    +
                    +

                    对于 RedHat/CentOS/Fedora,执行:

                    +
                    yum install -y zlib zlib-devel libffi-devel openssl openssl-devel
                    +
                    +

                    对于 macOS,执行:

                    +
                    xcode-select --install
                    +
                    +

                    运行于 Docker 的操作系统中

                    +

                    Docker 版的 Linux 发行版可能会有较多的库未安装,除了安装上一小节提及的库外,其他缺失库可根据情况自行安装:

                    +
                      +
                    • bzip2 // 压缩库
                    • +
                    • readline // GNU Readline 是一个软件库,它为使用命令行界面(如 Bash)的交互式程序提供了行编辑和历史功能
                    • +
                    • sqlite // 由 C 编写的小型数据库
                    • +
                    • libuuid // 跨平台的开源的 uuid 操作库
                    • +
                    • gdbm // 小型的数据库系统
                    • +
                    • xz // 压缩解压工具
                    • +
                    • tk-devel // 图形用户界面开发工具
                    • +
                    +

                    对于 Debian/Ubuntu,执行:

                    +
                    sudo apt-get install bzip2 libbz2-dev sqlite3 libsqlite3-dev libreadline6 libreadline6-dev libgdbm-dev uuid-dev tk-dev
                    +
                    +

                    对于 RedHat/CentOS/Fedora,执行:

                    +
                    yum install bzip2 bzip2-devel readline-devel sqlite-devel libuuid-devel gdbm-devel xz-devel tk-devel
                    +
                    +

                    编译、安装

                    +

                    进入 Python 源码根目录,执行以下命令:

                    +
                    ./configure
                    +make
                    +make install
                    +
                    +

                    Python 将会被编译,并安装在默认目录中。若您希望将 Python 安装在特定目录,则需要在一开始修改 configure 命令为:

                    +
                    ./configure --prefix=<Python要安装到的目录(绝对路径)>
                    +
                    +

                    在指定目录中:

                    +
                      +
                    • bin 目录 存放的是可执行文件
                    • +
                    • include 目录 存放的是 Python 源码的头文件
                    • +
                    • lib 目录 存放的是 Python 标准库
                        +
                      • lib/python3.7/config-3.7m-{platform} 目录 存放的是 libpython3.7m.a,该静态库用于使用 C 语言进行扩展。{platform} 代表平台,比如在 Mac OS 上为 “darwin”,在 Linux 上为 “x86_64-linux-gnu”
                      • +
                      +
                    • +
                    • share 目录 存放的是帮助等文件
                    • +
                    +

                    默认情况下,编译的 Python 是静态链接(libpython3.7m.a)。如果希望编译的 Python 是动态链接(libpython3.7m.so),则需要在一开始修改configure 命令为:

                    +
                    ./configure --enable-shared
                    +
                    +

                    如需重新编译,请首先执行:

                    +
                    make clean
                    +
                    +

                    再执行本节开头处的命令即可。

                    +
                    Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
                    + +
                    + +
                    +
                    +
                    + +

                    results matching ""

                    +
                      + +
                      +
                      + +

                      No results matching ""

                      + +
                      +
                      +
                      + +
                      +
                      + +
                      + + + + + + + + + + + + + + +
                      + + +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preface/windows-build/build-files.png b/preface/windows-build/build-files.png new file mode 100644 index 0000000000000000000000000000000000000000..0d738773005e1fc2c33a5fdd4f3dbcf837180821 GIT binary patch literal 38105 zcmeFYWo(^06t0<^szm55Y+A)j#huDVP8##E8L?21FcE|udIt`TSx!$6&zsry zt);aY5^46Ox+UZ| zpiJ7(Ht;?AaB#*&jJ056iy0R?uVE~1u`%Q0_`S*MGs5AK9}FO#x!#Ouz5i$Urao$r|*Ow|EJIge&|kMxwMV@1Vw0lW#Dr|XS84@O3Nx)oS9 z>Zh2YXQlA?w*b{1+)Xbv3OUL7ogbg2$xJVij)g~*b}0M5nKM2yGjVwKh?UDI>{=n( zWJ=)Rmv8nP?F{5Z*WO+U_e!)aC{%sNtmv)l-HOGc8z*?Doz_9sV?jbi>F`}VHxY$H zA@ma(a#0cfF^Z&O9YBw-dh3F$?A%UGD0_~eAOtpB*;ONm4vlgW4PWR^P$|ypF4{;avb2}7mx}}=3fK!Dyd6+v>-leDyi>C* z3eK{Sh8u`MqJm6EnC0o{J}8B6jK#B>t3u(f^`fUyhy=o#(0W4ep39WnB*k;`eAY9? zt|AUV6V2Y?6*qYuaehKAnEfE`tmaA@-y@+1&J=+4(Y|Z+5{VZ&!f&3Dv(<*3fHC@1 z`}TX_cgvq1Kb3_MH}_-)Q67u|m7Qc0V5Fj^W@E3lMk~nGk6WA0j5~oVoTwa7XZOxn z!G3{17ur7!&l;5%zuKL3%w9;&*Eyoe!%8t_egB*)a5v*H3&1!047iy_Ftr^eIHhs2 z-@CqFk>{rSez!1ASCzNmdBW<5#}kVGQ~ezrPe`3EW@R@uZ*z#JVnue8iR6*{6>-E4 z;pP2OVzC@GZwl`d@4DGu$j7|mJJOA@=+P)?+umMU1o!JuRoFCub_FYqB-5ln4r(X zhh3CI@T%{4HsFshAw7wpzxzlqB9nQeMZPoYqz~P6jrUvBAy9><7DQKtnDbMwgfItd z>2%T|G=T{0w7Fp6L~QOkeD8`}Y_j}=0O!V>IhI(9y zcpBcydb6rvb3f|3-yWFf`~dn^HY8)6YK=UaT};l@^qrv>5cjsN80-EG8V9TS(u5WQqoDaT*aL0wlVB9H*PD_09F;81op7}+_KEmT>PBX+_uc=!|)qMSBkd8 zcHcD#0ih0Qubkltz{Kt$tOMrJ++qEJ)|5xF_@v#$_QB``&2-7!a)s093hj*S^TP4j z{bPoSifMsDudiMc-ntuxkvgADDpzzGy43vo1IR?gyCp=jbelHWyHNuWv9P+sy9}YR zv>EGJ3_q{)cH|(Ln8#eZ`^jw388SjYN%m&8$(Gk<*Bcoyzs#Ud<>+ zN(S>ep*|~x$qyZw-9!(4&pJUmO}c2>J$3V%Mja*-Q$uVEs+tuOm!H+^A*Sd?amICH zM?uONY~9>F>UwQskA;A9T78T_<<4T=G=ujGstY{}A1vyZ?3dsdxfk=7=&M%E-1@`6 z_16zqX&BGza_CrD2n>3rd&Im{AfQ3j`z`4Db(;pxhs%W@hHG=xbMregJ8W^qaj|i& zI_C2Pa$|CFaBABSH&=eW`pVv9-;`b6UamLKJs)aWn39pwV-cfqr}}fjyK1WHy?#Z@ z^a|G*`I+q59d9Cm4S_VTI$wHt4PgS8C7^M7o8R@(6~o!`u65V&fNjz&Sfyp&&Pv6~ z$0_X&ov>Lxc3e1vJ;Qi=wJ)^KiomNoVUuU@j%FQU9ntgE)3(E?gWt>TjrPs;?bw{u zk;IMbNd|@Uz^7|<&0r)cHwO<3|-Scv5!`+DAJN6)L_w6D+>L5=d$04Uh z1w<7^)kQhwnCIB$Bxgfrd*tkk5rz`?^z@a6H;vWoz&MAs`UJnC?#uIHONYvamxZ+v z?&DBKm}PvIOXf5^&0W4kxSYD51CQ*KR!y;{oTRGya9J?eGZ-9mOd%k1C6%0D&z%&- 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 W_sTfi*YU3zfWXt$&t;ucLK6VydS!tC literal 0 HcmV?d00001 diff --git a/preface/windows-build/index.html b/preface/windows-build/index.html new file mode 100644 index 0000000..546fd9d --- /dev/null +++ b/preface/windows-build/index.html @@ -0,0 +1,505 @@ + + + + + + + Windows 环境下编译 Python · Python 3 源码分析 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      +
                      + + + + + + + + +
                      + +
                      + +
                      + + + + + + + + +
                      +
                      + +
                      +
                      + +
                      + +

                      Windows 环境下编译 Python

                      +

                      在 Windows 环境下编译 Python 可完全通过界面操作,主要分为两个步骤:

                      +
                        +
                      1. 环境准备
                      2. +
                      3. 编译
                      4. +
                      +

                      环境准备

                      +

                      在 Python 3.6 及之后的版本可以使用微软的 +Visual Studio 2017 进行编译,选择社区版就足够了。

                      +

                      在下载完成后,需要注意安装环节的选项。由于 Python 3.7 所使用的 Windows SDK 的版本为 10.0.17134.0, +所以需要选择安装该 SDK,如下图所示: +

                      +

                      编译

                      +

                      进入 Python 源码根目录,打开 PCbuild\pcbiuld.sln 解决方案,而后进行一些设置:

                      +

                      在左侧的解决方案目录的顶端,右键选择“属性”,以打开属性界面(如下图所示)。

                      +

                      +

                      由于我们只是研究 Python 的核心部分,可以选择不编译标准库和外部依赖,在“配置属性”->“配置”中仅勾选 +python 和 pythoncore,然后点击“确定”(如下图所示)。

                      +

                      此外,默认情况下的编译设置是 Debug、32 位,您也可以根据自己的需求调整成 Release 或 64 位。

                      +

                      +

                      在左侧的解决方案目录中选择 python,右键选择“生成”,以进行编译:

                      +

                      +

                      编译结束后,生成的文件存放在PCbuild\win32目录下(如下图所示),打开python_d即可打开新生成的 Python 3.7 解释器。

                      +

                      +

                      更多内容

                      +

                      更多关于在 Windows 上进行编译和开发 Python 的内容见官方指南

                      +
                      Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
                      + +
                      + +
                      +
                      +
                      + +

                      results matching ""

                      +
                        + +
                        +
                        + +

                        No results matching ""

                        + +
                        +
                        +
                        + +
                        +
                        + +
                        + + + + + + + + + + + + + + +
                        + + +
                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/preface/windows-build/vs2017-build.png b/preface/windows-build/vs2017-build.png new file mode 100644 index 0000000000000000000000000000000000000000..0f0f7d6dab6a752106e6ab2b073382622f67176d GIT binary patch literal 187137 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,^_fG*UA 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%0AYSHccw@G9X3)=u1*+(FFk8} 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

                        7)$FGUA%=9%S&?;1@Z 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%0Av^SY_uC%Hlw5O0xk5!0Oj80fJr|0^7xN&s?GR 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

                        o={0yo{rPlhH_kxsCr#ReinhqQ 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

                        zbZ%xg*G9aAHytJcsRj0n*chO!vLnk%ld;3bn{;9IAzWV)96B%~D>~2tz93Gi_EOY%<;N=KH*|GRY z#^1GqpvUU6y>H|8b-Q8IgVT4!<3u*$e5__2&6+!!kxl zE+qV^OmOvL_ev41!`F5B%}B<|o$h^ln_p*bv~9GJXxzlT&K`l|O$OS1H?_QfEl@>P zV6%r%P)de2#m$3od)R$!#6RQEY_2h;2uB* z#8WqBh1SFCd)w&}DU2`hMu2QuyD?mc`HWH%huY>Jk> zt;prRl-x9~{Q(Hk-Ce(8Hz6H5H)BBZ=YQoYe{J9yd!^B8YWLD6(`(WZmC_R>B;DfP z{cKPdTqOyw3ahhi=%*p_Qu<8c^Ch}&n%x+yFL*8dlnpD>dWpCnn&}rc7cEJv1!4JN zc6hPbC)4UUrL^#Bw%`7zBoA4R=0okb*ewF)zIv?H;8n&c5s)|G*=taKQ$|xJh+lKM z$`^99c3lA{)Fju&JKS!aEx+mgLaOf|eHMB3$88C6D@Uw(=F#_b!Ial0&a*G+Ac%%X z(ow#K&GG&2aoeru0l{L1CfTldea`J8T$~LN92;B)VFeYZFQnLYhE^i4JsW!DOA{OuW{_{fq9a~sGJz(hZ&BrHeugu_L4Gv8D7f_6^; zEU$}5h}Ew?QX_q;{7UW^LMiF(OUY0|-be8jVbjSDl>cG05xNMKiJb^xv*b zemNml+kLw}cRwYGc)uP%!&2LhJ@eZKD*m4kgU`RxA@uJm%>)v-FG>>zRCDxyfZxsTb@5%HeZf4(e-AUYas*kGgB|D zMeJhPa=Lr*>&6!Qpmm3;`ssz$5U4=v`2hB025om0`G>hA%PrvSt%_?N2uauc!h2ov z4)j@9G5w+_WPeYn_UeYwEAl4xwHb7V8%~+S%HYqko0Gx!skR3QTYyRMjo`l}XRF0A z@O}-=x}FcQq$r)5zBm>}6N`--k|Wz($J*vn63k641~FQ)Qrbv8;FpK8(LE>yK$^>-_j3pRbq45=9ZnZHZ6e-)@CotwDqKc0mV(503lM1i*1DyQ+5%V zwxf^jx`D)allE1ax{9VL=Gn`%7nlZC$6Vv2%J2+19r!>~!}Mw2Z120<1XzOLOq7Rf z#&uZ@L%1YW*;sY^7^5#?`-fiyVXq-+n6^D%_1n=d$@epb(In!x;{GVz%{*Vg ze=)=4{zYo=h-jnsz-EwuWh&Fci>xI;)zS|GZ&*vA`esl8H`!wS}`tyr1L$6CEkdI8G>{!R^wtQ~;eh?=2Y8a#8W81LVD7XSSz$7(O=a6q{(JUC zs`?=YV-5&UFe0i+=R1zjx>>GqkZ`@GzMps>(FFdE;lg60tYrhT_hMdc_b(bHX>J;& zZ$`K}+f+(x?w&0|XvOusWbuwuzyBEJeIgmd0so^>%v_Y|v6E&&+h&{Nek0V?Kbci2 zAiZq*v&3t3<~o~WnCmm?b>;V@F5f$-U;xjImYsboo-brgvtlHlE5}u`O8R@t@^5SH zL@}UyjQtgF09XNDkMjw7M}i@LLpit=68zaSzgAR#3v4N8YJ z3=JYJ-3`(V2uKWwba$61AV}9x(wzg+3?(2vgfv6^-f{2m+28ZW*=Miw-)}9~a@K;S zGw;05``piUU)SdbW9xp8qKYAGoPhK+KQZRTEMc{Xw4Mj2AkTb?m^W-LGbruG|omzcx;4qsU-y zzVV(~Qd}$eyvFqK{iY33rLpIs8JP)msQF^p)fl>9QO+2-P2z9{6KILFFr>-3RvH3| z$uHpod*Li)&pTdJiuB{r%TOPDo0h(oepi*_0F1t7(5Em~#3>|M5>}c1@jk3&?+LS( zv@KGqg>)w)e`Y$|FghgTOxkAE%oEZ}`;K0fXNqp`=R9_w)eBzC*P(BRWPZf8_|o>c zEb6@kcq#YvOjgB15)X?V#6&8oqg9c@_tafV?xfdsmk5?kIQ07j!-x_1+o` zg1b?n-<~u?n@_<|l6oe24|ae*=WE$A$K|kP71hpD?)&)W1Wi~^u!A+FzQS)VzNg4X z9nSD-FqI~lI+274%>@xK3yc!)aGov#hiN`aafQ`^k6boj9Em1C^L%IFE%;cf#DGH~ z{K*yR<8RSSG_fyX7_SkZa(oZcr@t3?jzt)0B)^C^^ml!!LDtFfzWw3Uww={ls_7AG zz_o$)h`(>g7D30Z9ex(UK+z&@)AeqH{!$B z`C>bA3;Xb13PR~d<=4itVYx$OWtHTbR?J|dd8+IvtGNEhTgFZJ0;iKs6cCx@US0Gp zGHj6t*-iVRP6E5hbQIm67ob;9|G8KPv+huM0QZo--5s5b3mVLbS-D*~IN1lw3^K*r z4ZoWWvoBSKL*K2$px3eTF!(YzJRJ5?V+ON&hm>x@#16hON=`1VgiBl#C|vm=fJuM z`Qm=PC7lZcTm+7TwY1F@&{vX%AShb{R_%$u@2QQQeR0$Nkm`^7#af7=>4@A=!R zOdb9_Et3ZI)GMtpp@&!GDOoqRV#jVv=QlFtYVs#D6qwJ$1w{O+*;)uAQu7ZW7h`4? zH=4#-=L%UqgUlMob$m0*SCRX}DaoD+tRI~n=V5Irfl+4n&Fq zl=ZXnjPjFh;ls>RUq1X0F2TN;K(eBvJ(dx*0@p*qReVi+*-?gUI0c-UB>g8i$j z!YUr$pHF^|T^qs@Vi+-5-G^?IYMpZTs45%gNHeXkoAyQEIW`e9U}Nw?7^$7uCfq6> zw!1$cHWgX-E&|zBODtwfn1z46e_%1aGNd(FW3(5m2g;X-F$oQ4vVirr`f>HVH|a$9zvtD=il(g(Ucn z&54V>3J9#H+m;7KU!T-(TfM{=;d)TJg_?HHB@PUmM@mA!IG(Z~$rG6dOhZ{B*?ZIT zG!DrQU)AB0bD3=`x-Z#LNI_$iJZ@XgbhzH$^K5LdLUks)#UB^0>R=gh1zPZ?=5tz+ z4|csvoiLHEWAEK0`iVtLxJ~d1`++7n2^L06ev87>g};rys}Z18wgvQWS7?=YGibUh zhz?>I8_VCam@n;8%>KSA?sj8{9*@Dmb=a8GwGB(HhCI9E>s%DAnCON`(sw(P%y)(t zRz3M~;|_D45r{53p}(gu@dlCwUL@&h@SC5;(8jUCiw6y*m41A^dt!QBfv9LGc;m4% zeLjWME8savtEIndiMU%^S{4G5e9xd+?_gQZbSWam?FLP>rhXwOZ#aCr_g9ibPXQ-ayL+;fY56;* zt&&=G7zIxV?gU{9`HX`K_gkkCMhAF4Vqf;U)WOXxMB<&B$gb%lJJeJ|!c9}B!$VuH zwgKp}zFPz~VKSN}DfzNdC_py&cEcdt*F~0)gfldlZKtX&yGcW!*W_TYv$2+mt8?3J zeAR98=~MGko?nwym)@1GyNhuK2AM^-){MGCj@ysbl4C?qSnKvR-=4^9i9?1~4t1Nw zQCazCQFMI;1V>5v(J=U5&LtBDqC#2%XvU#d!rG2Nusd_=Lfyz9ef)@ zXJsAYTJAN zELrF=aeik=U%>T@SHrnOk#$5M+Bz+jsr6zx;8C=IBbEWmFRa6bG6Qj?*#6?LdE$@L zsYg~EC>?HZ=eumT92_bY%stzP!GRI+Z8Yj8=^9Ywu#t0X4(3!d-r~w!I@vr*P50G zhw*+6z2BNc+OW+73HU}#9QL($7=@~+#?*4+49`qQdCbVm$Fo&R1Hi+d=-9^{KQk3& zFlCu8>+#Hxl~Klfv0>$6%q#+j1%3{{i$Mjxhi==X(rP#^LG3E%Gt*RL!QA8zcDX9- z7EbBjyIfoLI}d|@laJ-kQW)-4;T{ujl(*LMM4dR);pc$+VgTR0;Qg@9o>0rR+fK17 zDNncP$n81b&oUjLvzffl0>JtNKe*>MYygHlp6>p1hbfV#N5TbRsYORp+{*x^eOY5H ze3#DL_;wzM^@V?`#PqyJ3)qDCQxX@-w5Pe;#oj|VjW6ZdE;-_gy{CK~2#gl2;ZqPm%;+2S98zTZMY#$E+jXgsq#UX!2EHnJFv+R&?K9v}dxV_z(*W-+SlkQB5k(hz`+Mx%_5?&R*|X=- z!)rilPTE7?>WkHJK&@2=?RWPw9|bg#i0xspC9iFTw~>t} zvlB}T0r7!py{cYNRo&Bi*+NE32e@h-721$$k-`|K4j_e*j$pfOpFTdRG9g&0l>xU{ zu#W#7xUn0Fz=D5?945HBTTbPR%xX`+RFJJ~I0{4rzFUrE9wdcLHW znRxg}3`WO;Cb}cw7wF~Iz@5fF&yPTRfF_aOoH-l2Jnp{d)ZOslWm5<;eCONuEhQ(t z9lIQ&^nn%0^BMQR={ZiPzfPFsgqswp#~H6)F(6%PRd};h7cmH0Yj@)v#mzR4aS8^b z=NA`CjPEuv8ctASQyhfyCO~FPG2awJ24oMN=FGGzO8Ty<-FwW_EN1b!Q!Wrr4_7av zY2K?^9}^|AS*V)y?XMVD$y{J-KK|;EDnOOMqG;w4?bab{4BxT7`gD8bccYTl);0Z; zPVYg=utWbmsI_oUc)0jzi{ysFJ6lDs+|45c_vf`FTmGCC1DP3ND)n9O#KMFaCb)oc zEyt0m_ifN+h6)ffd8lc<{kJXzzRr7eAGQ|E_C71Sp3c%L^NxD5==aiWTEqlWg&^H) zpDArn)S)*zTSA9*6xRXOwH>MMTG!%v;li#n0=OE(5W%Im1xMDVjLAW8WOGClKJnqw`A)dbAQ3Ek`%MVQ{ z%|8?dgSAsk9?zIaE9u!*41h43u?^>f&?bVo=&=7P_D zD)$Wb5W%g;DmhGt35(u5S*knTJco#%ZkJ_1yfBxnZFO_l)ycPSt6zzxQ2-pEa_riXQtzcU8o)h6JpTw@e# z&R7YbB~mlof32D{jyRY0oV-(xboo(SSoUnN_ye`v_@RKDo7fV#Em%MpdSj!Na$^9u zYz4m74&B1){N0Ubw2^SnjjTbpGtrRFJNMAOx~>{*4X$P;d*Nx434CL#_Sqo+Mb4ZN zDf#lPbMX1JtET>j`Z32wjMMPt6y({CUv_P#k?tLMkogY3IMt|_`dt!EpPYurPjTDD-Wu>R~TyuoEl&KVu5By*rG*7h02A(q?}1krF8)tW(jU0 z;kg^)u`fl&$`1t&HuoUcZI)g2v@ABF*E)>PD`N9usB#&N5?-Od9rzTD^+xH}#6lTz z(bwLZFG+VN5X|A(uMob}H?pN4U!dPRiWI8+go!%`Cs?dpIyBcmy`Z` z3z5`YlN0i8o#%&%tS-W3{T&*;8SvG~>ZcBf=E$HU{w`$;kuvi9sYT}fMvN|~EF1ak zLJKlG2H|ydguQqk<1-Jcq%e+JQWR%mr|xNw(SJ)-5AV4&+U=MTS~A}K0+X8#VPM`Q zLE5qynK3Qo-9;b}G5$JaR1G9V>l6M7IM!t6CCYm%cC+_M9l8k1)hfkL!mfWKFZKyp zLm9}Z(((>2xo+c?(;i&UsPR~}n6^IphU948zr=8qLJ;32 zzNOGKcm#g2s=e|t+x$-qry>_W)j+K#7r)<={RtW^Zhm+unf}Co`h!ZCE89hrer|99)@Zi{9R6F%ohMQK_{3YQRg6`)ypCG5RUqgK_DWOl^**(;Y7FY?b+V{Cxr8g5} z$Di@Q@u$ON$<1r)9<53(3;2ZTPq8}YZWVxkKYH6K@)YI2whYsQui8x!Mc?$~&@fk{ zY<9*;tUl;kff9gq7(O3Kb4{*}_i_I*(&*ioOm`t7TOU_1+igmhp--o^+)P?I5hT2( zsA+1-e@ADZOF|PssGyIiEuec#+o2a#KUNMn>LeF7E zqnhrZzMXqgN%>{IHJ6sR{f zcBS!!SOOjKp%!VLL0M0?!}jmQ8 zMEkmF>m}}K%uI09_E`*@!mbpjoW*_}5H4@h9k8;)6q_}u-ZPHb^1(2ek>D0VPHQW+ z(R{Ll`yddCPbx5)ODd!-9~xd>mDwVnaBe8Dy#tG~5jlOx&N)Q|v2nCu%sS@fhjE5Y zE!Yn)yHFg(-3=lYk;)l_RX=P+j_qYck^z-pDr8@%O3uy{mVSq!nl8haCL9^6wD0R& z?y*yv;68T~y!yMek^BTX$D{mG=PWKM;}!3JQ*DMpzBpgG133hySyxsd z4e8AHSCSXxt-eI_=j>As>U>Cjaa#b3i4`3V{OkzM*4nSkDLLq2jXd*+sPw^>v0uuP zw(xdv_9+P!u%s)7BvLsHNnJF^t< zc=zpB*4UM=CrJ5i;}VA&1^Z#1?xXH-nTWBF%;NKObMoofh1Q-N(w+G?PAJiVl@##r zvZb(84#3-;Ed=_rM~8pNifcsWsgc<;wP{3rXnQGvR*g1c%J)Ihc#f+^>}&9+z%f1z zGS>y}e$RJjZGts&rnRkN^EntN zU{U8d=V7)Zzdue0#o=$~_49~2aMwTPhYwI%dr}VSf$=dmP8U3u8pv5rO=ogY2@P=X zQ*Cs5%6qc8AE*vf^W#tFU19N0KN8J5GSS_xC8#)t&K)H3s>D`j_;+{`tz$o%D|4`S zeLZxVGF-eXb%wU38JOt+?wN&wFQb1oIkqnY zmM2?5TXL?9J(45!_jW44t#Yh8e>L4tK&D2=8Q5A~IRo-G-85^a#jH!Op z8^}h#Pzkw{a+Ne-!q64khiRVl^hVIovC}$vFVK9-hKyDZF9GH;{2YHl#-n^jc(q+@7ej(n2^?m;V7Q(gt9%&+38Hhk>XFS?;U0EMR{bOq~nIcMNIf1 zq9Boek9D z+d?G7_d5qaa0LW$b>df)PP9Y@$Ok;ZkyiNdO^WZn*iEvE&3$6qg>9yhS^KDEO9+Xi zq(850`jB;?zVu57IiZyU)BW(V*FJJ0Q^f2edi#af!8oNY%NXG3GztvOD-$i z3n6#yICBRR?^=!C?bQoqJb7`ON!nXI{2frfyVDcw1%CvwQa(r5Lp%{O?oD1O$dZUT zDx1J@yW~4uLt&z5Ka`wBIat&=`<<{Me<8v76gB(sY^$VROVHLNQN93C>NN;IeRA;pPn$z|dB{ zs<4xB)w2PZMHRSZD_TbQd;cco(4b?``G~Rf97iP`wMM#XBOME$onH7nKx%xxjwe(#ax`Pfnlner? z`tKu1Kwm)Yr-gV#=i4_uV!P#!j{Le6kyi|>PCPe>)!hy@Weo^u96GQrVP53Hm~dDh&Qq4I zTX=YqtuFcf>?7&-PZ-IpSyJ`9TNlbd@Z98?Sk2Rpp!4=m6LTzXgJxt^#l^qqV~t}> zS|A9o(xCW;ldeVAUkyX-EioLz#othA<4N;|lkY~JIacO;u;QPYU2v>iFq|`KtHUkK-n9}rHKxqTz_C^Z;&Hqj_Sl;(Db8|c zB{KVLKBl?xWt!JS9G&5S#i-sd`@3G}HY+VHQ98{xwzIA%!J_BNclC3qvbE9W6Ie+L z40TMVn?Vpn+By%KG-R?GT<9!|O?R^IRXQIsK>u0#toUXe;VRXe@yk`Y1mtr5GbF_t zI>bY{bK;gW?1DGT^v9!Pazb!`v<`cC`xvTjY|1l}EXqUgwekokrX3+o9DUaITQ(2S zsB+r&*~A6R z(&S(iR1k9Mr*oM@x%O#0uT{b=bpd$+`L3Gy$63gg9PiYN5@>=YkRVPB#gcS&tj z{^dj4sDww;lxSniT*@jcZ1RskfFi-^?vSa!TPTV*4+4p`ZNEg&y0<-ByIX~e?MDB8 zGg`OqEN#u{v_gIz$TzsTj>(WFLCIUKfK~fG>OvULxE5iIJL$yT>+=w<6}%I~F0H`$ zsxCtQq9>#q7wGZYxTNn==s zo+lM>jfi?v|4o|dLEEcP)_BY!(>B`1vhpQ!@8n!vkAt8 z!}epAja`VbPsLs}S@{YVw?rc!8R4d9H$0F7%*KL$t~lgKV=jLg*`NN8Gb0U3vXN?> zQ+Qt%iGQ~<^9~x3>>~+1?+>YQG)*Lj0p$IWlW_G>I_JGCxK?z7eRhTc|Tw;Ib>qbQO}qh4V7I@!FiA%K(?@| za`a42l7a{G`S~IB1B1KaSTVQoPL7o=3RolG`!zyiFs&B=`&;T1jlJOAg z$nMdzFQ5&RZT$sr_X*Ir&xXj*z++ZM<^xve?>2X@#wmIJ1fWn7nJt|vVn>L}X8xkm z59|8;EyP!2!5HFG@Fxx98@G&uj0^2?$wBoW$OE5QMpR7Cyu3k zxN8e#zl~R#1wC>jqD_N1Or6xz-sLckdpbK}U-~S8d#1LEqgsve#g&FcCF)RjUf&h6 z>&$md-~FZuK*#uLU)c_>6ZW~qM6sBXQ4L&B=nYf=|gnl9S)AlFZWMAL0W1* zOriXwE3ku~aL^s9-`{z4AI?r(vQqdI!YU21S1deJ3$Uo&5N;B6d-1xL*}HKgHi;aX zGF5ZzJpPrKvp;uNuS$3O>i%K@+^a@KthsNvzGd5tn5H{eu5D-!oR-$hU4YOvAk)_A zjnxi+ty>@&Nsr#6)YMTTKL@+zZ0NLj;42?hhp)pXJ;n|#_oFbQ0qum3%oH(xpx_6c zOsFg1;8H+$eYE9%+-KanA82S8w>El0{w=}jU|YM@>uud{LF4w;7FuN~ku76mav{fs zshg`l-4*cFFO;vM_M4m0g@R93?uz&7gPUQ!^N*_|m4^IFX)&{G2?im1pz#)dJ`qhN63>;|+AE!r&grVnSnpiVfqjM5rb3(x{ z+B3=ftqQS1$qv3I@>jQW)1xz3vDECGec4MzzneTwS5J_*OqPnxj`eOrO>VNYDhty8oqG{BUV(RYGaWzex|m7rXl96IzfJTEsLn}VKm<5Rj0aWQO~X?>UlNlS1y zl22H_dQxcooF;?%htKOJdoP=2rWaN@=Wd>SJ@vv#s88Yru`}Id~WfQsBqkm zY_dxMN=KLwKTD{9W9UzQRI7t8bD7G3ZH%vvGaT>SYKb^Q^w(Ha%~1@QUq*OsxBQQ}E?hgOW?6{okM*#aVas zHCRKMIkxWRj``fvE6&mt6>Gr(YZ#w8frTr@;m5?F7p)RkQX*|LzO}VTD9oCsVgjQ} zJWAof?L>{dTa=>l#?B$-eM%((GR(D~y}SfP+_1EfW&i9cp-V8_Cd*)iRr2 zzo5!xWO~&raPMc9HqjY;kWhd#v-L^=1waO7r~pvNiXpefw3P&It5TV0y3R)*B|wJ?}sT;Z^j1|^Jv*)~;!cIJjD>xA{M9B0a{8h@(u-BGR!No< zGme(*L$0nIX8FAqgMcT2T+6=0ywi!x3H}H*nb?q5;Xl=@L!#zdt_^`TLn}F5tIuhf zNT7OQ%^1@$nvvI6Q!$#)zJZ!vM7*kTZKc!qNlPKCf6Pc(PS3W4q)EVfkhXzo2&+hD zxg#>#J(+JhTRifpmuA9ogCXL+ngMRv_CC50N*Ny@Y(@{ee9zyf9>aS)@FMAO#ma9&ZS!;sddW`c$}e2s6EWn0!J) z@7QwM&;+D^iO$;ptG)0Bosk&-Tfc$6!}EYx-h+0$qox_+`ZSFW-)EYkYD0up2@@S4 zM23&#C?oPoMu?I_?8K1S>7qbfMq^k+=+*UlbyE*9G(N4L5p71L$wEgx6o~rf3o%m= zxz0HF?$4@7gRWSKGHa}pJ5qS$KOovtc)+VDNcN#%CPjNTjx%tm?!{mO;d+Ob_Ab%a zBt#8^oi|y|DQe2{_n1_xk$X)sLylT!Ti(B_340IGW>W0EXIJNLBo<;sORwkNAg!() z=cea!&Yi!6w`|S1A-xwuT0a>#GR;%mr}8-vI(7E`m^uXG{`%-%>x6Y~F;N9uK9R~-l{7@%+cU3`1{Wh&Gk_zv+(MgQ z*IA>oS*H;hOa;qH9;Nw*7mm(&ZS1%FuiJ_qqSqU)31oP z69y}LX!#&TLX|K)S!L{?A82Rjkl7#9^+U}t(b{v{4^Y|eVfF0aiHpl0d(qI6b$J6l zKVl~*K26E*7jGK!N3n&P!iJNyjdZJ&@dddj=41|(M-}naDlr%;L|)tqx1cuS-75}f8RC)4(N z+YBvMEvT)(md0YI0KLvw-$F)Fv-*C$k#x{V!f16lXX3p(_YQ)SmnX$CDg2A?RxJeC$ zjj);K`KHonoyfd=R0n+!jvbAC^T1?#d`}c@vE_4Crs%b@FgAIZ{Jp|IjW!cOfcO>~ zb}zg4#&fD#W=8EK=L}R1A3CE1m{yZSVs9yPe;q;$wc?@-yXinj6a(zm))&#S-`Jdw zkV7|hN=p`K?uGs6fj<$~Gf9(HJK?rhn1lGc9vM$Z_+x|WoGRXVjw-Nd5u%y#!8+$) zq>YGOXN86ItDcb)9D8I<0;P&cQmg`BBaNDFQ#Lah5JxiNf9_)MB(}4Ja3y*hJM8>c z^5IgasC`Eq4mu?NvdpK`CJ-C}$%Z%#|5N!Hj1fPPOP+hA$4WSD$PW(;@3w{YP^e@R zyswbsNZzt5_>}(3E7ZecZ<_^5^ES@ZWS(0{ z)7cU;fc$WEjxOTk2Y7wHQ6qwTQ>8*ql@IVjFT{Kr5!CUmAa$glIVkXgozQu%U`vY4SCi%AtRzf>%%sM!r8KdX?R(}?fxa3IVH^9V%TQwkgO=_AcI zo(5Ara0^H_(=jd0rfR*+I9~8FSW&!3f+*;m#wP{r{u`ggwF_`#NhR0cinuot?|m;`;7xQ=xH z)a7m4G^*Ee`KJLS5zF;==FOgZ6fR<|2KTKU{p*Xy@}E>R$uxXsI-gpc^I?=s{J*Gf ze{BS|=sPT^4_nrL7|=s7@V9L8A1c^5Vd2fIK=62chCLE%m2ow(^zWTqEm9Q0t?6dF zBdhxF=8Jy|H2V9y!=D+&22f+S5WT1l!O1_MF}?w*i!W{efr(}chXVQCx#IKN?=_r#%n^+EmA0#>UvXdnA|#ZY`11ydAK0MQOI^2cU^d; ztlaN(e>t(dz-BH2=6REDO*?Dfd;L&oFwf_BR#10^CEtRPE z7CveL&YHYcKdw=LyQ7J(pxTBV!+jy!Bh9m?1e9QE8cIy#ivjKQ96+-iR`LCvV0ARi z?}R6E(6+AZ(Wvf+>ER;Bt3ay%9VrSjU$ zrI?2ZbG)AwL zJ_OpN-!5i)K~o0re+CUd@;mQ*1Eg>O?w11!khUHSxG(z5@r?bb{SoE#qj8r3D}t*txZM_b{YHW;7(#qOcI z!=g}1DCh{F_J-T60$K?h?H-2 z+aD-9M?rGp9MleX8v(43{$4I1rI&@e=ufW0fG6;YG;mL!V1PpY*7Nzd4`wtBN3ZdW zGAw*)2LNkppew6R0%fMAOBMpCU=gZop91iaI-uE)S%arpFKo-^Wt4@CU-r za(CWE=+B$kI_eND*UE%ys@9!M>GS)YhxiG&WsUD001Lbc%MUA^xi?)?Rf{iezlT_| z5XDIZERuf0j^pk70G&67uPaCgKUs8zASRWFx?$=@_q7f<3Iw3vl5wmdl28uFmO?%i zYTnE<5u@uBzPbh_0uCc^H*r2}9*CA@4{mGMZM6(wZ3^k~r5>mq0%tytCKo)40hf-l zPRkTSttz$C6QZ+N@2#sN7{_$kqWQg<2UjYLa=H)f#3(%;1je7U%C@6S2y6;G+FS-m z0Z;<=0g5%~3ItbpI_mi{fiTt%DwMrL;EVTHF6-YsCjRjw7XLeHeW>)aG&tEIslCi< zllGI>p#I{UWZv4SNVA1suPyn70hC3=0RqL)JNk5A^ldXo_v|m_P3;szgm0bdepqs} z*v&bu5p9?E{OYs1Hc%wGmA(%=Emb63K26S9^B>) z$yI#>hlZZNl5o}FHea)#T5ic`$>5lJ*pH5dNFO_g@9R-5hac{Xe8NJoVk;i-y>63n z&bxgs?aANJuQafPLJMZJ-XdFp>3~?b4fmH$$~=-Hqku8nbuqrjUox5&5RR^A84g$+ z*!7KP%dgF)>5HBEN7mDL`Y-UEZh$+U9Rf~#tKkRGtU4Kugmks~6I4JA7XYP2JDUK7 zu*}GEpDX&qV{F(+_5CI`SfCqJ#uDW@M}c09y3WOi-_|q#$1Ucsr}sa9!2}H(Umi7f zj*XVxtc*F_70YiQP-TY4)RKYs3)UAJUbP1GJ) z^}X0q5k7nBBR3<9U(-#Z|A&_8^Ad{h+J7n==>ZI$;YC3f@1KqNS>Prh$~p8GmZOU| zAEvFK+76^@nXG;&G-7yt13Gz zJ*fy0wP#eLj2pQRph9W&5Y^`-0BLvX5J0{arv5gY}y40PoF(C;$AE)4;& zq!bis{ikrJR;%JtDD$B9z=2FGqj!qEC1S;Og+DEE8vp|^y`|NmsiM``=+u*L^?L%9I0_%G&-=)$Cv>e|PL!8zdIk(>f3N-ub<&V^60vojO z%oau|ojMbx$3f+;jLF|*3K~&!r@tfEBji7MUi?ZSLuc_o5_ z9lZ}2*aQ0In^_g!KD^V=|8cz~t+tPI)AK#RzaiRTm@QcpE}(Tq zemhLboNiH~))v$Hp(~y%m)k0Pme)*xB4lDoP=7OE>!|lvuKj<%=T))shkXtLsO(W# zCH~~i%sl+0ejV9kFd)AsPd6G9OZKnHgi42g=}SLL?G-7&3Q-pPl^8D(hSetqlnB6# z_1{?zbL6KM6m(>?(%XYC0X`9eg}_9=i(cw6c=65Sj@Dk#Y2~kT6nl}Pqu6~6?=!0; zhe842Yu%BgJG)l=O}efrP4oH97hQf$E&BjmC0w9zO89Vu$MGCM7&nBnqaw%Tc4UiD z?<1*)YpV^cjN4Becgk2GUs;xS;fvPNZ@L^&)$?F&<&`DEdqi%@D0C$qz{pk(qc)q% z_o8^KST; zvLH|?g>Qx)6q3xYvGTmyoM5klT?6hMRx|c;>nt}df`|R|b+Ku+Sj81@SiPTr$-*(_ zZybx78`iC8t&ANW_?=v(4zL+j(uvx17bj}z2*00{IvGaGmz)5iT?N)E)($7*>k>2B zj?xg&aV{>Jp1zI_MM(<^G>w~GbzU@GYdo~#MQ{%#??>eaU{iYl)W%wjup>bbp1xy) z<)1-FtdotX$}5RLd4YE@o7H52HAt%0{d$3@iWKzgh02Q|haF$!fOboj2|}Bx{p)U^ zw6|u(x&U`2L5Wu_2J6^-i40X-l-koOddFAYJTnlh7sj+wvm|ix7nRfpNo>k-lMX+I z(kw%`ZVA)~841CsmMRKTQTh*0**d-$D2(uNc;Y(z&EO$HJb^=P zO7QL!3tdu)y0m(r_Cs9@cDi|57bJ?O%FSjI!$1d|x{S*iw!if<;Kx0UPz}KfRSoGI z*#OaD!GWtWO;|RuYk&gfrcXETxmgPLx+|a3byeFJ!t(7_rj=3RA=lr)Zs9O)wjzdFtW@1NcXqPyk~9eG?fL3hQ(eLM!8)f#Nm)3 z?u%<`K7Nnx%GB@gRSyZNCw~LnnHr0Dx_2%k3E>)HOPqAC#;0x7V0pS5+n_H-hGK(j z?h3@NhF)9wzZ#qP*XbhZJ{$ura?qH?*?BSI8Xz2=#otrb5*Vy?PqCQtI95s{a}buN zc>_6&FrII+@$N^(4Wag{g3YlXn-=eGbOP133<{w5*+eP-e}5$XIdih4eZVn}(8Tgt zr%Ti=ba$xiCSkZc-Ya%9t`d&QOFE%yVOsXYr$gSf9G`o0^OY^-=t#OAZ7@S=_S#d< zdtHiR{H|6v0!_Fri*A8pTfZ9a*fb0QLH&vB#V6bWv~USsJ?$RdvOVd?T%d(-K8&hD zr+D43Eo(CJ=YQgPyxsHJ5au_&{E_ndv;)eiOksg`JZojgeGKGprX<}4+NMc*mGpXj z>WV+heeCTX+2vn?vY%axDqtyLKNIB$eX(;S(~8`b6VuxRe^#3pefTF@@rf{$vn;;v z?~JMcK{5M>wsysjW=8TkQ(Z;W%`vQtk5WNl0G;nxRAR`51H(%gQKL>k-~Wp7VWy%9 zDA`|ulgvyXJ-f`@N9W z*iC+*aiLH<6WhEdjk+}1%aMChS1;j?y+K^1{oLo~M?TAUDQ4TF1=mwuG8-psj1A{x z6s`Mv-D&W=SBP?EP^j^srD)+joskVYyX1u=)9CsgY@le=OIw>m!Y^mAQQhBb$*+KU7^cEXfstoMDU@zitH_BP0c1?3Pghx7JxF!oS9B0+^ z>3GhVhC~h1&-#ui>3KjO0*@~v)Z@!&ny&Oe)GKvh7_6T1$Ff7F*yEsFk~nOCRc(5$ z4COUCqB$3ix|WmDjHm81xuNC3$*M_7z$t`f0RU|xhTDP&{E4^{{Hh`d{3mHwNe^Gw z&7g4l9{tk64SdIkdwUxYL$gGap31PeIhh5NCNb!iNiRi3FjXU?|1^N?fJy8^UN?RU zFrck)n>Dsbz6&LgC~zISK^Qc?cRP-4Gq$Nz7*d z?=O2C9nEEZE(XnAStvBVE2{C@{+ZRIiu{{4V>^o6Yd}l{iRnbuc~z0+t;Exjp=zh% z9WZ%}v{gLWE*Y}7{U)=RO|(5=4Y6#e5))0ls&-IB3Dz8L-Q)sLrf_8X7eUm)seE&hYEc#rtQ{` zmaP?<4?L^>hTix$uPfFtLaVV7u-qAmZP+~NNH;%l`}N;QUrD@mpS4U$!g-6pF?^5T z^88EHM@_9ND*{r&I1R4M%dp_f2WZg{Y!%i)!J_jn!Y|Sm++&mG9y=b-s##%krPiCG zR#jU+Hz_Ug62`(mlo(>Iga&d}7#bf6l8|lsamNaZ{VH{W*j-H5<-lwU$^dU!t>?s- zXS_AD-^J?k^8Fs_V$Ft58K{uozrF^-F}0!UmJxQ=P>;jlvM~kZrCmJI+s-lNfu>4$a zn~6$*$sfXdQ>!pcE4OSHwk98L>H8-viAA1sIq`KwSlFOx@pK75zTXYUR}L0PTbWnE zC<^?zke>rb4sSROiWT36h+UcXi|gcA9~JQ+0XHBkoBxgRe7=KJ^xx4Z|K|GRqYnn( zF->8W&M577fu=uHBQ=d-U}7t>C0FPuL!C8c=(SM*JKqUIULbbW1K%wY zCF8KM$-ie>O=i{TVo!KXp7}@hh237kzWzV<-ZC!gbqgC-WGkTpLm439z|bY#AT=P3 zbO;L4H8cXEpoDb8(A^=OiZp^W($Wpm($776>)9L6dCq&@Pw$uall*iX{;}@0u63;;;-J$R)iX-ZsLz9-ZdeF3?V}FEoK9_n64Ks(X$PWBxacn zbdL1<8~;eRH+D|X8XDw9MakOopSIi9p$30Q>l~4XkaVxl z#Ns0MBSs6yrtp|FQ-;f20Nbox64P!u%(PMHO%tg2fJN7~oofD`j*p9)CTUYTo9c>{ zSU8)qX1xYA&rC-%&Bnt<&EZhoKEzM(FV#{RVPDrb`d`_tzkArlsh{vj#jGrcGGm(9`r2-4A zL9{X5ED_1qhrwvcr%dmOZH9@o%oTs=0=Utovtb)mwYg&B12JqY8OU_#IN_u_*0SK* zM~MMb3|Dg2@4DEpBgv-w^28H+)sR9TZ+}cas*X7@%0CBmss4LFUlOwt;*n8gaCWvx z^ekxdI;aI3JL|dCYpoUDJ1yI+MFBLfqJgF!)LbY9it4TVb}Ae6kH5)BiD7W`hcU z7sa^$Kr!)~;cZUm4C;12N028+y7^XPOfX-AD_Q zGhNg3Uo%Ec81|2DS9-mk&WRZcwme9N%T9rP01*sU9AQL5sCow808jZl`!E7gmRH3E zJ|>}VZ_BH|tqKl?#*dx>1#Tt)kYMA*k_Zl+3<9zO04b9<{`4ej8+O@E$q!F8di4Cn#mGmE**F!H@R(sPYx{)Z#uQ|xxDupnX30fpeL^sHY-)5 zhoN4?isX(v)j%10-tpY=)Vceg`$u_D!)%pm)_3ggMcyeZ%{G)!)1tTv2xdkZRgp#o z(J{qNKIW!F{A^9$NQ@wsEy6-4@u!%Y!}U7+Q7nKQoW0xFh8jySFM`@^(`qk8|3Bty zk(V#OV(z5d0BQP;sqECY|4xqeWk>2~F5oW4UZ5y)jL8j}S)lxz=4|=yE8cu#+_iK${XW{g6`( z=M{H!nlJ*5dL!CE)QS~*IfBQl0L00uf!RA zY!H|D42-Q2=h2IRJkvPZ12rE;^Djc@C)=b~)w8a^G>Rj0)Fbe}i(c{?gwBJ? zNXwIjQuu!17;Y-$M#s33#vtgJa7Spba)#BSXyYzlSb};aPucZs(b73G{o54AUB*j; zd-tgk-6*QL)83YmAxhe3{vO4U88Kz{TmCr;Z_7!k)rlFelaM1jZRW$D{Myvj>h2IZi=+8VTdnl}9Gt@^n!xB%P z;l;Gwvj?77mho%w{K_kACK^gAjXW@Ne3K*6o=RJzO>}@NSG5aQOZ|%(P;dvq{oRwIr{dR}w>lM#2s%Ga+i^VMbPS z3Xsp{ggf8PQ~|c)b=D-r2G(AV^|enMp*gp3r`vDAY6$SC75f(AtaK}_%8ht5Y9n)S zoxlKo-PP|=Hjl=9+DC_X!O&83yr(?R7gKO5pEKN$apF!iz|=TrNX-oRvKtLJ73UxrlOTIb282xSyBheptUM* z8BezW|L9(2#a#QnQNl?0;O(or`X|d%s1(1L-5QK@`mjxIUB@9b)SyKso4lKl_QOW{ z-|(w9RN)lwHO*DVlLy#?0q z$AtYmSV4q9Apdq-36$PO zufrG(>=u6BVOtI8n6JEz+%mHeeT}OXj7XJKcR6%ZTHQwSsZGE}b*XAua2&k^OLkD6 z<;fswf1aM}gd_1Ba6nVx!#aOGl+}`v#Q7iM&A-v*_w%oOINaGe zHK*t3CVh%7o8ltDl;ou7At@I0P)>6i8tLMfDKr?;cxm)L zDk8y?t`qYOUsxS$AMickd(T(HS92_|`5dVwcRDFE$>W-^b3%UUGKTOaG~Ab$(Et1~ zDG8#0(PAB_H0`vzJ~qr#a47z8^hsv0>%%wKiy!BzR$1qr9Z#=d)=^U+wSx)R6leIV zhTA=T!dWjD=jt`oV}FdXv9xWQmfkdtVKeOe=tI3U;L6mSIcdQ|vcEYsb%)(JxZoz! z&tGX9cd4;*+#RhH=i*iTNW zu92PcAtK^~+1DcdKP<;%NQ<<^?x(Ax$LDKRaJotTb%UPIs1#^4_#_&BzwKYY<-c4; z48_Z*+D2K5SO0!k|JVQJ<1hU7Ch1IvywN`&?lbR8fi@b+k{bW~%YQ!n|LgZj@uFeO zhHixPQ2f9CuWeYDz5f4S`rqI8|5uN9kyP@u?zn-|aTG&ty52GIO z#fLRM|1mZA=`GIKTzi;BYaprOjt%}#qxVFjPC>VI2I2o;h~xpn$NTH=y+6JB1G^+$ zm#)hd9gCRBJX0>d&dZwm1 zZd=X78>uhK%!Y5q1^NGSQghcm(}-KMb!1V?HD7*zwa#xZ?IhLi zaR$}5)e_a{O{ZybP%~0-s>QYfZk_Hdsr+TMVWt)zFxVO}MKc2=CSP>`( z7mf_&YxUQmYgP!@&iUl47dHl|=}RNn;sxDC7rNtDoBVE<9j{kR#csMI{SuQ*IPFKR?F={%Zd zJ?%Dy_`okwJuj;b4 zz*#D-r$u4G*mTG%FmXQu8##NJe1cuKeean&l1mn8=?qKAs!$|Pe55gcJNrStw7v47gJ?4+a&nL@wCwVdy19=!--3+bXXx)+TC(TLMW}#U9_d!(KG~=`A0gs_|aB zbOf8X;vkHfiYLDP#zrGHb1B{99Q5jfqLkUzATHnT(Q*s3VO`gJ?DN}g!4661>%mV7 z95*M=I(b|eY>@h?Ze>e|;>TyvSjFH0DkM za>1x8)^MW65r_M`VGiZLo-XbKPi?{$Z>{Tn&__Z{;U@=A@8RA4b>4pBswVgc{7e(3 z8NFNEIlZT1ROkGyW>L-xDN9N?7c3K({<4)|DE>~8`mvZG2K0(2DWAjFVLgv^bVY~+ zl{CSk_t)^TQ6IefY^0+Pa`%j1+~qX4rVyq&*$FMMn5-S~_Ivz8#j0+oCQ+}RN-pey zZWy)fxTamHjkwExc6K(W$Jq;5BsQbR$^b2lNyTSEz;z#eLbaxvy0xBfqw>D~rmDhy z)eNuqQyWd?``{JjE{1t(u*e{$UeV@ z$i^Q1`u9H{fTuOO?bCY%1!UT~3)aTHY57RSFe z342`eXZSqA^oWIlJ$i&@3(gl$ba4Q$yrKbY;1T=F|B>D6k30k{^aDlEg zR+L7qlZ_)%?+mfjL!nh{;2puJHN;fCl=7j7K;p5St#rU0j*cEUqXG-&P0do{>G3J3 za2yXJ!ydc`sqc%MDJ_SfepI!^1CF z$fGH(f1M+qKhMz_*`M+s=$m}ci+k=|Fers!45uB4+uLJktoLxjiXk{Y)xRB| zCeaUZQC@LZoDU2@=8oGYj}CRGatib{uKECslohzSsowuJQ zkXD=(%wXQ)pbjVouFJFd5C@7C?mzzW@)frEt6BD|7GvcjNFD_8M}c00``JoADSgA& zNG2U#dEXoTH@vWaqH+F5C_iwI&nh(Cs^M0*$J+e--3vb8r7$I?(+=L?GO6p7uQ{xg zsqlu|@uJ|_Y!4gqcRNG}Cnu%4_UR@c-k$O`fSI(><>Gk_{fQWDlLf}gE$;qsOw_LX ztZ4h&-h+zI@>>Xxh+4 z7w;u6`WoSDHaK?k)AXig<6QWJkJyK}w@wESztpY1c$k!gO9Q+QA)_XH=O+QD?@0k9 zJZ#?@7YY>u?Qn!niq1m^vz1#V-rd5p7TmF<&bc>u02HJn3te%tGsSl}Or2yaH^l<@ zvih{SL!N?|G;a>>awuIUD(M~okyGVXQe1{}|3^)GAk(miB|Q6Iq4cRUauaeC?N>kueH_Rs1dKn+9hdt|6ip;Py}JL@aF} zChd$&Dko}r>Z~xDu`;tLi}A`{aMbVy4r*;FGuFo{D%5nHn=vm@ajS%qe+RWF8#&v2 z%`)3zwxb|1YdRS9>#H|P0FW7rW_^m*j6zT#Qk1h9c8I-@4A&Et^4+SnF7(9W{*@?` zOJYDHSh|G_&VxkG?E^3Ph|3srYG|KdZ?A?KYX8%_{0ZgNFxV}}zgBs{Z&f&M>gK9s zD~;eja!i4r-^V6d} z>Wb1Hg|uYD(7jsCGSi_f#rt=;ERhqSshK*nf>t@Basxyzu6P=jK5nSb+Hhf_j{D&} z(@D)D7$(*geL>Y!woUq!*D9wbZt`kP-t;5U8%g(!rXaD#>O44VBM zfVYcdefkCw(CKXnEp3mWSBv#>?uz4by!m{Zu3;&~|B;*nIC}4$cNVI85~sJRjyWuN z*GArFBIfS$Ipi(hC$6=esOBNAaynuj7OKPU4fT3so8<~B>pRUg5R1I=*MHf`9B6=^ z-JVfS{qnzDUL$5(dcInrF4Np{D3#0_(ABl|zsdv%W~{`p6N%6)Wk~@{Mj5bSUXk(L z<$jB^lS5}!61Dml&M4~#PGFE{zRYrBwAyhq;k%Bh<(##BLz#rx#Y-I8{FM;mC~h~3ffJ;DF@!^E9PYY@MT?(mNRvX z2gAd|g{uYzRL1IDD`ew1yCz*$^FQo8Sg)`1?&ARWDL-I#eB%-S`nR-`jAAECk=!G3j=ogAx+v0lQ&(u>xWY*u8k~{XGE} z?vJT0F>NX-VwkJI-VyWkN@-G*xfx8q64er^OZwVGmz78^c-~*f`2teLZPP=C3WvRp zMK{Ev&ne1r-Cx7>dK_^{TAw|R)4~+Br}vF0Gv>?&5b85L^vg^DD2>}DZu~RwAH>RI zAbl+pd3}}V^2m41pg#CDdN=%is6gE7 z^on*Rml`AJ6BC!{b`0Gh(X?e&Q-WG86;D2*saXNaswDla zR&^P)4=jp)yh*~{gE_ISdH!_0(988suGkAm-5#LuI-;1#RJ7%6QIU0q+gtTxPYi*&oT{P4}svrgps&OK`LYZV`bPOegw!GKHsSoze1UgZ-P1woS8SJu{OzaOe! zmibSgMQ(-9ZMPJRN-{AUP*AK^AeyC4URJius^N49DmYecpKHJNwHKwmuKr%3UlND> zKDP$zokOMKN4v}2vYQ|S%m^w#@r~qu%A~})PRS@#3UWfyV}LS|%DN!yY<#>~0LSHe z^5N2=G#6sw5h_&Dj+;Ap2Lyb@v;1{Ixa2Qcm|niR^2-+g%Q+*j!F1}j9GQ?4DewTu zi)lAk^dsGznL8Zv(OKW(F1zuQVQoaf-Nf-J12|R)eQ}&1NO#H+i*m5wnz>LJq!Ux= zP2bV0IQQ0&Q{j@y=BeqxQEMa$x*^FGlXYAH-NDFr@ay-t8KHS8bs2q7`G4eJgVoV) zdz(v}o82Ckpc#C3oAxcSG)MV(%olN*!O!ngq5m>KpSQvi4V{?jcW`94f4P_cXpldz z!8!EOt1|w>uS@Lz`ii#q=veb33H>(z!{fSmZeI%D0)e7Yc=}%u`9GP)Z~y0~+3BDy zE~pMKeo0K!lI>^u*TwwhASB5%A6By9%ryTDNIze!ZJe;&m)EwgwZ9SA1lnj-)bHpk z+ivq*_@ZD2^zHvz$on;2TIIX(!=EWmN&WsCKHsS<`o7V*(2N3~2mXbyZ!0&&&^I#ZeT3TAA zyXy>>n=9GG_kzXtkG&=ruJIC@J_ZX8))jA=3olH#9tsYQo}lX0KQ3HAljt`P!Iv zsC@tYi{^Br_XO9g$`=Q1w=eLsSp1h4ME*DzV(9(Ye6w&#q5+xi2*Jzla%gI5~Z=+UbcAW@9A?u#vP zRESuM)Uqs25%+J=3Bp>kqSvahEGw)(>Hs*$Xm52`UhT`qL`^(KfkeO^6vnSSMu8{5 z$f$$7B+q=LWVypjSAh=!hMb^C*1cgpEAS6kU68DUc*jYbaR5Z|IprO+830YPw>HwB z;I^-!Rr1Vt0${)8$=9F3jz6ofMITLv@=Q!&?CaxI{UD<=lnf*(1~5fyxi9_Udolju z<1(YJI|to3w^+zmT$4PA0a1-Om)NM?k;?_SW0OnO<-bl|+YR7ZZC~?R{L`tEC*rqd z_t1o}wA^76_Ym6+4gBPW+wAQ1n-QkqJ-J5^aPxpXxB?U8JI#Rkzr~JG6%ThJU<3qQ zJ7ygea+lZ6IG9FSlu9R&*FL944cw~mV=QNe;_>DFOr5)sPblc&M?gEXtqmkka@Jgc zhJXd`6kMajK#;fAJZ%k(LAMT30$E%h__;uK9tZZWKbnYH7nLqy-wA5yo@w^4aTrhq zh7zTwEdb0#_K?aiEI0kk@$uqq-}6{@69bTP?&e?|MH)XkRY*V*G&{#DOpTSAJWYJD z?Ta4_ay##z6pPP8?M%+b=?h50QGS%Mr1Y`6kobe@pus>K#&OkA!# zzFpEDMDJ7w79rNnN3hGJDcqaO-*5c+K-!scbimB3C%XhY_!ybS44?_VtpVx3_lsQ;hDOE5wilyA6gSF28W2F_`vW& zQEx2IoX#j_D_hMS67nltDI`)-dthQP?{KLCYivWbXsNVuCT>YGe1^eW@^Q3W)wH+Y zspyXD;!0*qspSOkW+<&#USFln?07{BV+FT2|6s)m;B@Lt@^16Y!qXz+J-~QQf`!LV zgUu4Xe04*25|Lw+m^%Z7M2wo;l4ZtBPFOW`$?4lir0Dbe4xl%NFCR$#aMF5y!s8R>MH?Z!L#6ZZye62GLYcCx+5W;qyo5H53N(`5X1Hx0=uq8l z>}a+JqCC0nduIV$lSKfi^Xa45jWy7PjIfuXN#|c5EyK>yT?hH}uGb0fG&@*pwsH0EzR>Xf+TzUeFWe9{DIMD>y&b-0RQ}iR55RNn0mK1v6iTA9jZIy5w0pp619G6Uc1Fv-G&nVv@LMn>&UV!rz7X`YU)`@5N_x1iq zMgEi|<6smqf>oHUkSL8RFCkL+0LG>z$?#IJ9rYVZ@REjTx7V2uWGOlTPAU_>l@@9Q zWB`;7;-a~k2`(LXxGdM2>|-z+ZWq|{c*9kwixXR76+`*7$Ux4XSDTGmOhpq4C4SfBA3)LV3;O~#b8SyVn3Ezu!K7+q zxl`EWNBV-w#=2CLmj|jNi)GQW7A@G}Ptq2fRS-PQgcnnI>S`ks7 zG(k$Dqs$xiwdXvKeJJL^^XfBgFwiJp zA9Q85$wE$14knkl1QEEXPQQ6bx{u;viS=F-<5Nk0rtKxg{0rFz$D^zhrnB-Jj`;_k z{QJjk^vle1nN9qVt8n98ps}xEiL@P4;{NOuMgleq>6k(YQT4~1Bx7)hyM1L+3IJKb zs~_F*+)?Q+)(-7+)+$eNX~fvG{nPvpv zf%Y*}H7qPa2rjk{x*7S3;}T=GO|(70m#?qn7CNM``?d`vOj5B9Rn`_|Ky*xNfp*B1 zcRGGJp~-Z`e{@SUyW_E33jCapR+6XgIe;cOwr~31hgRBxf@py>4}r^`lf{zOD?wI8 zvWO;BH)=7c6-_|VRKBY3iEr+JQp)_c&+ADwOrF8|(3Oy#_^4LqKzx6|i}P@a)y=xp zYutdZ-I*8q%Y}MkfJZNW>677a9`k~O{Rw=Np5T4=x0|D*E{+gFH_5uMAz?R{K-C+g zJqRuJpZiL6c^Fl-5`Ds?RsOl^b-RFU;IrFQWvn1*ua1`GKF-(VFm>=g4abgMT*~;o z5;b1K-VM|T-i(E3og1OaS4kaPw?)!w}>!@D7yTz2hhyeo>FK|`r*+n}1Kl^1YqRYMxP#RQG z433047WAddj1j77>jSn)cCnhn=<_XDhmx^eLzo)Fz?>bmNEk^a0o`MLNy0NFv z;I&P1GolSInIgA4?k|9|?G|+z$b2eP%0E{$wY71EfatGmYnCBoUSoUL1)$-13Q$MeYEO!GO7X+4RXK%u z8Q5YIcx-BjB?*1U*MzxrUG-RCCH@Cny zq=n0IL;FvvGewy%;ajia&BGvKPBk>1FB)>gb5~&@n&8(zlz!on(~|`$a-PMEqYd=8 z9qC7eM=Ov2(!;G$0t2jRQ)0f5R{iZ@|7nUKjhA|o_B}-!a))+2on#u|7GjLIbRu!% z?`QA=y4jvqQ}}E0M*69*Q|eW`0^!#l2DV3zBz|n zfW?pR(*@&TJv0$bO7)x|%tpHwZWu8T7+RUdR2Ky)EwdQow3dG*$+Ndyx7!p{pfKv8 z64XJ5G&2ruliL&q?=zmf$3xE$Btr8EhA9bey%HeN9j6L;4?ZRWkanLVG9#d5|2rp3O1DGw{5VACTnnH#wT<$cZl?p|qbcOIXfNsd$5cbCbm%yr{b zTf5C&EWlp!{EVw!b*`gTddx9qZxBGQo9*<}Ov@%3?2;BX%1OQcZ%>|F4YQ5$QGxzo zuA1X%md5)Gu==U!i6^2mv}h63GFZIFNI1>a71X-`-@jN%{V~+*ac?NP6P8DIQM9c^ z=f)h)eD;>x$yTe}bt;i4A-MXyZ_*qMH8GEGw9D=i-eU$>a=Z|G2C{v$!fLaFUd${H zo-8^qxVT3#WE-;m7*x>u7>TP@8=F8MJOeJZ3X}Cr>i6_w?g0~|ZF4^#1y=)T=cUTp z%#q)d`b;FRM7HobW>$M91L!GM2*9W!R3=i81E5s5W&NQMEVBO(fkIFK;<=oen27u_ z_af_gmO|mAfPfk13}reXxIywfI1W>~cW!?=cDUOwzn+s@;73EJ!u`06xi|hu=G9*z z=NU1;`!>N5w>D1aGuP`3GyBABXl=qz1alicuMK8inWqY09ZmC@7^#bX%&10V9sfJq z+AjBGr?;8Ys+Fd{LI_UIW#4(f++d1eRpV5RI+^4r{P>6I2NPpRWu<;kxp9}X6yTyi zL~W#(sEZ?!mHd)CRfu+~d|=X^$?b-+lw97!;WDwrC4HSqyn=^w_^2ujwjOPW@|OgG zx-lD%+y*d*pbE}H)f?s|mkc)$Xt)Glgv_Q_c<-&cXtp#rp}dk)FF;?s6}%oiI>YJ&Df>Xb zcXJ#r&xa!MTtlI0>v(kQr4Ht7{;nQ}J+2Y=;1qkCa~^B3de7y;?3^P?v$_k5O1>td~Smy#dB6WE3NmnOMX~LkpVKY`#U~FRCzqxzQaq1#aVTFl>;*SGy9NI)S zD4#B;rhU(Z(BHVl@&Q#HZkr{QN`hVvMSl*Mw;PaaaC555LjYK43)oU&+nevKY+(=7 zn)P~_K^naMYEUBP(^!ON!difiMdxqx#Y5Y(o(QiPR#L>0&~cxWsPV53d*Kg zX`PJdH3cZUl0oi8I&KPaXvdSkPKc!@XJotV|NJv#G&?c*X{fb4lb!nkd!ek`G3k%FoD7G($=b7{ z)id)Ab^Epu`9OQ1p)3Jip${?y{o*_PBDAmXt%S1S5-MWVke z0py!_>W;>dZnb+hd`>P}U%R7dl?HhqSG7*W)y!(}*}1qX2x2ZTY`oya)h*MH*$_G4 z@f2pmRrq?>`{ivAou5z`%(et{?|sA^YJL<~g$qG*7sXrEyOw-n+AkB8y&zDfdv2cegkhsuE*12E~*FXjtnC{*U} zWN?c110k!9&tT80rhjN$oS2R~Ma*`)y#>h6pzOF^v2%P0Gi3ggpB&m%Pg8o>bkyH3u`v2U(P-$ zJ((2P3i+l$VOn7|wK22>N}1m#BY5psxUcbhIH?B6Q$F%87(7Z4GoPVnqAPS9MDXv9 zw&h#-{=p$w{I|5HjR|e!7@NMvCI0nZJ*!Zi^0;zEWa*H-hj1o8*8A8tcK468t9@xw z3VgnKiPhUMPf%(93TpGlAmg_a+P)v4#3#zmy2ZR=4C???02;o)I#DlE7}@!cR?FwU z<`sBt;*=eK!`9#iOcMUGuF0wGYs5qxeNyvi!~3uFJr%M8`oygK_iK%8qp)QmLv>}# z#HzW^?$(qnq^g!1m-R3pACk+Uml`LF6M8@Jo109!TAGv;e||=~smb0W>Py5>o8}z| z`Xk#InXcdC=Qd`VpP&A%P;!jUE)?t|L&?yv)G5R^A0y;ZkF7{stW^r#iV!se`O|>K zhpO+5*soV2W}}czY!Fp(v-?A?kR96E+(s)p{=Ct^aM6clE{7-GMzN006b4kaIZEk% z2*aK2qXrJHFk_iVrzWt{$4|(z7OQo31OkMYJhUsNAm`PF^=Us6tORNG&R! zMxK?_xUIZJp$pGf55HZrSNnJyp?zPc;{Mkg8y%6$&8A#-G)9|@d=ZS@Htv^owMm(u z!~o6sT9ekDeK3*Bs-pjXAw>_4<0;FKT-;}%tpMA&@Ar3y37sE)(QmeiEs~94Yj!&W zlgiZlGh}6J*mkd|gh9^b?#W`^d+}Z57&KlR0y$#^YK+~+HB+NwNuIwmZ_irsZ_oTl zCM8B@*gdt<28teWt!k`$+Rc<3c*|&Ib{wehY+qTQwKy-ee=7)AYhFn8UmqDf&6ABy zDo~Csk~5UjfEDR~x>^GmFCCf$)Nm&UpsRUa*B5+;{hI4H&uimkBV-;YHpFKzs7$0B z2XiPl<9qmZYB}W60v~FS$$h_B@If#!a1C_-S$AJGwE|3_rRAL7x8Tm#3lAZ!CYA&y z^${ayN;m&@MWD7Sbq~#UER>v1NvV_+v)Z!ZbU#{58%Tp3QdlwbO7G1QQ=6O>1KGi% z0%>-gn0C}9I1?%cAXbHeqRgSOSn5@p)5Efyd){;b;k62hXUCd_nxL$K|A#a#m+QXy z@sHV{cm=K}NH&8-sIj~1<3f;Bs46>ah!N6H5eIZ7E%+sr}e!WQVy zc}&k>{qV9k&v20H`mXUvN%}Fx+Ue5pt9}rz*MUvRSI5IN*ABrno^K8xQCjy$`OD1h z+Zv5LvJj}BavzR?2J5PZH?{9<>5tSuI8L8503GbZ_tyWYIR@ikGE6?`Cb;={TK-eI zbn{(}FDp3Q!xh#Cb!N7&@2V{7bz5xA=AW19z=m8Z(54`h`Cqx3z4a{+AA5kDh#w>V z8fv7F9aCqB=;Yj6S^nvSPqofF<2UUl`YA;u_|`uS;;qLLv6~JTte+)qdaL+yo^JtH z{!-VN5_3O=YW>HsLB|cQ@oz*D;cD0qG}VLsMYEokH`$;l#_^Wq;-{_EvSNVI2pB^D zmq_7Hp4F3ILfGsi|vjN=ObTGrJz12>EZG6(usWwrG#Tpe~i-p z7|UgKPbGcfk*UlM1C@tZa?(2jsk%LXoh63Aj5D7 z_J8lBJ%T97ujD0qXmt9aZxPfjtmXaye7jzx`?Jni4bHaFm_p2UP;bD0$h@sf#F!x- zXH8`w22u^X8spOYEixsYLqUt62vchO2G#6`y2zzQ~S$GLx+Mju?jb_Jo{oV z*;ZM5Iyu$4T_RBUXkqlFh^B-Qp`T3aLv$Ke#;OpRfFbC(=l)~*1EsGv0fBCoa;BVq z+<<7?_vufvJ9Oub(qBJoUz8SXlV0{sL)GYjX4==x9Bb1VsHm=1HD{xBxt@f)XndT* zL2{e;2RQrH-nzpi&q1zlnULyoGQ;f~Y?q+C${!2jN+Bp|PQRJ+vbYo0SO^+u=H<{~ z(~)8ZKpW_|!&cSijVKNCc@z>zi8(sgaj;RdS#2*JBjDxtkv*ygWJVUCu(6M-olPSX zOt>i$9?{Ma zAcvWHFeid`#x?zjfJ2%erJ1_UNyMQ3jRfPg<@Oz|$}&Nop=`1{spw`_b$gMnL7#3L zIn62wVq!-S=&J85TElDin7U&gv|`?@B2;;ni<1rw8XDO8HP%f`{L`4 z-sQ_8Ld;ast&`?L1D>0YRJ5;e5G|Q=k^&g;^%P^U`|{~hWb-x{X|&*OhuXelN!*Ac zSN0_h8Fcyz@YX+{gLa~Lga(6QTUf$NhbL`sG{czBah}R1g*UF}^x9+Y^RuQ|S0b z9jzLfDGelE$tC1U$h-ADRcInF6{}93e&zv zP|}Q@om%{?)I`c31BJE<#$wMqJcY4o&b)nUKYP_*tkv{lN@*_;XQ67%zHz1XDM8(z zd_PipPc!J%*ZOxu4+^a*S@tA0EK$-bd}HxVogXz2CX1>13Cy0x#kP@LTUS?5xr~1} z+Ql_R0_6--kXcm#G3K)=fX(r<(F@vG@LZmlACiz}lR6nobI3@$BL4v9_}%PH8$1yS*|{vEU0xyb3@uwpNAcfgNDoBTOoGnO#pt zpTQ37tpxVKS_K=U`zx--O71*!?csAV&l7Btbs{9GZ$U=I@eAN8nGHI|r>e8x(aj*o z%cr^c5_8!$OS9>qS%v307bef?i`wI@7rD9uT0A76zRI~YrOdwpHpQVw zdiD2V-J?O0WMu`iU>*IoxB2=$L0sLD9kOh$VGY&0B(%Gis?*_q8Xac82?j0W!;Hdi z<$9c-;dx{&2vN54Pzqc-E!qIeOH`fHQ_fTr+R81lfPzrimut z25kx>XQnr(wTpl)y%G&2;jwL6zZCUUTb1()RhEnj{(Vmr$HC}s93qZ@GPn1BtJ$na zd{NO?O{HR_eiY5}k+JV&mh4=Zg!l&0h42y#md;}3L+MaGdGX(*HuOLNkJHyjbVvNI zI}p#uUs12*&ykeVE9Q;x&V6X9kEM3IorFR=MyJNXy9SwV23ca%ENwIDMlNd)mjx~n z-_EhcY=iEHazEN(tO}>iQ33cSwVaVPekJ14BRK@b-!QyXaRp$K5|E$w`nK$zJY(nu z3jLQqWKMglL<@mPY|P>v)&T?1;;c03qBI#yFCimvg{TmpM~&=zB9^;gq73UGzTB1{xSweWLPRyt@yt2Z!2wIHYrIw9IVcrk4~ScOT(` zXgRI|chc1P*@4_Z23f0apCv(6qscZ=C(anq?2OZQ{QYuY3g4qHvOTZi{N&9cK;l4P z=%-TVUUn94p)cD>lyCHKwc!cY6tDfxeTSvpeY?}(C-T#e`9RXjL?=W(aXMa`#6oVX zIAm#Ynz7N7{2CuVZ+;54+b@d5(D8y1 zpazO1M28pjh_aCiGX&r^HkedslGH0^-v}^iNli6$yb-ir;uEy6MINz}g|>@I=WNKKb?zloOYz#0~9UpTRrN zuKg_dY&-ePMD_tP>ycTUUkY>@x$sVRNsXt7wl=$kii^*pc6;*5AgNjCk1bGswQj6Y zUr1gF5^X;UJBlB9K3~|%7x{#dPs~jB8NC2kRq^v@L(_Y2t^UdhgjG?*0hU0A1XU85 z{v^(wbp}PL*z<$)v&7Ryp>rD{15mpdvGbQW5`p#(_R9;cGx&pvb7W%xi7YkQ>pqp| z-||{c-QDy!9~+T$J*c%R+XJH}MnSVC(#;w~OWA2%Lyfh)_Rd_Zc~sa&$;d%drdf$i zWRX06AZU`SbU%WzmKdCY!6Pf~X*WrE2YkDpDKm5$u3rt2EjP~x!deHJ3~On~C*RjX zCT|0&iADwR{b{=OBA@;t

                        U{8RtiffmFJy9^D55w*oVtF+r6P@m-5B4 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

                        S6?{zTaADy8yQi*A(8l5?jUY) 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Ⓢ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 literal 0 HcmV?d00001 diff --git a/preface/windows-build/vs2017-properties.png b/preface/windows-build/vs2017-properties.png new file mode 100644 index 0000000000000000000000000000000000000000..a53136eff4d302b0b42838ced74bc8c2b6d1b5a9 GIT binary patch literal 132436 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Η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%0D) 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 CFC!lS literal 0 HcmV?d00001 diff --git a/search_index.json b/search_index.json new file mode 100644 index 0000000..2ca2f3f --- /dev/null +++ b/search_index.json @@ -0,0 +1 @@ +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["03","19:36:27","2019","2020","23","3","3.7","[","[x]","]","copyright","dict","flaggo","gitbook该文件修订时间:","http://localhost:4000","init","instal","list","make","node","npm","python","reserved,pow","right","roadmap","run","serv","set","unix/linux","window","©","介绍","使用","修改","内存管理机制","内建对象","前置条件","前言","即可查看本书内容。","命令去构建","命令的方式构建:","命令,或想直接使用","命令,执行如下命令进行初始化:","命令,简单执行如下命令进行初始化:","在线版,或者根据以下步骤访问本地版。","多线程机制","大体按照《python","字符串","安装项目依赖:","实现简版","对象","对象初探","希望各位","序章","您可以直接访问","您的系统上需要安装好","或者使用","执行如下命令运行服务端:","整数对象","本项目致力于对","模块加载机制","源代码的组织","源码","源码剖析》中的目录结构进行编写。依次介绍","源码剖析》,编写","源码基本信息、内建对象和虚拟机。","爱好者能参与其中,一起探索","环境下编译","的源码分析,深度参考陈儒大大的《python","的版本。","直接访问","章节","编译结果","若您不能使用","若您可使用","虚拟机","虚拟机一般表达式","虚拟机函数机制","虚拟机控制流","虚拟机框架","访问","运行环境初始化","魔法背后的奥秘!","(会自带npm)。"],"preface/code-organization/":[".","03","19:36:27","1:github","2003","2017","2019","2020","23","2:python","3.7.0","3.7.0.tar.xz","370/","aclocal.m4","c","c++来编写自定义模块扩展","checkout","clone","compil","config.guess","config.sub","configur","configure.ac","copyright","doc","flaggo","git","gitbook该文件修订时间:","github","grammar","https://github.com/python/cpython.git","https://www.python.org/downloads/release/python","https://www.python.org/ftp/python/3.7.0/python","includ","instal","lib","licens","m4","mac","makefile.pre.in","math、hashlib","misc","modul","object","os。","parser","pc","pcbuild","program","pyconfig.h.in","python","python,那么就需要用到这里提供的头文件。","readme.rst","reserved,pow","right","scanner","setup.pi","sh","studio","tarbal","tool","v3.7.0","visual","wget","yacc","©","└──","├──","上方便的获取,执行:","二进制可执行文件的源码。","亦可执行:","其中:","包含以下文件(夹):","即可获取","和","和执行引擎部分,是","在运行时需要的所有的内部使用对象的实现。","官方网站","对","或","提供的所有头文件,如果用户需要自己用","方式","源代码下载","源代码可以在","源代码就从这里开始(本书将采用","源代码的组织","源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据","源码包。","版本的代码。","的内建对象,包括整数、list、dict","的工程文件,研究","目录下则是存放一些对速度没有太严格要求的模块,比如","目录结构","目录:包含了","目录:包含了所有","目录:包含了所有用","等。同时,该目录还包括了","等。它们都是那些对速度要求非常严格的模块。而相比而言,lib","自带的所有标准库,且都是用","解释器中的","访问","语言的词法和语法分析器,与","语言的语法自动生成","语言编写的。","语言编写的模块,比如","运行的核心所在。","进入源码目录,我们可以看到该目录下主要","进行编译)。","部分,即对","非常类似。",",下拉至页面最下方,可选择下载"],"preface/windows-build/":["03","10.0.17134.0,","19:36:27","2017","2019","2020","23","3.6","3.7","64",">“配置”中仅勾选","copyright","debug、32","flaggo","gitbook该文件修订时间:","pcbuild\\pcbiuld.sln","python","pythoncore,然后点击“确定”(如下图所示)。","python,右键选择“生成”,以进行编译:","releas","reserved,pow","right","sdk","sdk,如下图所示:","studio","visual","window","©","上进行编译和开发","位。","位,您也可以根据自己的需求调整成","及之后的版本可以使用微软的","可完全通过界面操作,主要分为两个步骤:","和","在","在下载完成后,需要注意安装环节的选项。由于","在左侧的解决方案目录中选择","在左侧的解决方案目录的顶端,右键选择“属性”,以打开属性界面(如下图所示)。","或","所以需要选择安装该","所使用的","更多关于在","更多内容","此外,默认情况下的编译设置是","源码根目录,打开","环境下编译","环境准备","由于我们只是研究","的内容见官方指南","的核心部分,可以选择不编译标准库和外部依赖,在“配置属性”","的版本为","编译","编译结束后,生成的文件存放在pcbuild\\win32目录下(如下图所示),打开python_d即可打开新生成的","解决方案,而后进行一些设置:","解释器。","进入","进行编译,选择社区版就足够了。"],"preface/unix-linux-build/":["./configur","//","03","19:36:27","2019","2020","23","3.7m","apt","bash)的交互式程序提供了行编辑和历史功能","bin","bzip2","c","clean","configur","copyright","debian/ubuntu,执行:","dev","devel","docker","enabl","flaggo","gcc","gdbm","gitbook该文件修订时间:","gnu","gnu”","includ","instal","lib","lib/python3.7/config","libbz2","libffi","libgdbm","libpython3.7m.a,该静态库用于使用","libreadline6","libsqlite3","libssl","libuuid","linux","mac","macos,执行:","make","openssl","os","prefix=","python","readlin","redhat/centos/fedora,执行:","reserved,pow","right","select","share","sqlite","sqlite3","sudo","tk","unix/linux","uuid","xcode","xz","y","yum","zlib","zlib1g","{platform}","©","“darwin”,在","“x86_64","上为","不同的发行版,安装方式和包名称也不尽相同。","中通常已具备","代表平台,比如在","再执行本节开头处的命令即可。","前通常需要在系统上安装以下库:","压缩、解压相关库","压缩库","压缩解压工具","发行版可能会有较多的库未安装,除了安装上一小节提及的库外,其他缺失库可根据情况自行安装:","命令为:","图形用户界面开发工具","在","在指定目录中:","如需重新编译,请首先执行:","存放的是","存放的是可执行文件","存放的是帮助等文件","安全套接字层密码库,linux","安装在特定目录,则需要在一开始修改","对于","将会被编译,并安装在默认目录中。若您希望将","小型的数据库系统","常规操作系统中","所以来的用于支持","所依赖的必要环境)","扩展的库","操作库","是一个软件库,它为使用命令行界面(如","是动态链接(libpython3.7m.so),则需要在一开始修改configur","是静态链接(libpython3.7m.a)。如果希望编译的","标准库","源码根目录,执行以下命令:","源码的头文件","版的","环境下编译","环境准备","环境准备(准备","由","的操作系统中","目录","编写的小型数据库","编译","编译、安装","编译工具","语言进行扩展。{platform}","跨平台的开源的","较为简单,主要分为两个步骤:","运行于","进入","默认情况下,编译的"],"preface/modify-code/":["&&","&v,","'i","(long_to_decimal_string_internal(aa,","*","*aa)","*fp,","*op,","*str","*v;","0);","03","1","1)","19:36:27","2019","2020","23","3","=","==",">>>","alway","api","befor","bininstal","c","copyright","file","flaggo","flags)","gitbook该文件修订时间:","int","int\");","int'","long_to_decimal_string(pyobject","make","null)","null,","null;","print","print(1)","printf(\"\\n\");","pyobject","pyobject_print","pyobject_print(pyobject","pyobject_print(str,","python","python,输入","pyunicode_fromstr","pyunicode_fromstring(\"i","reserved,pow","return","right","static","stdout,","unix","v;","{","}","©","上可执行:","中打印对象的接口:","中的原生字符数组转换为出","中的字符串(unicode)对象","修改","函数实现中的前","则将转换好的字符串对象打印至我们指定的标准输出(stdout)","在接下来研究源码的过程中,我们可能会对某些语句的逻辑感到好奇,需要输出中间结果。","在源代码中","对","比如,我们希望在解释器交互界面中打印整数值的时候输出一段字符串,则我们可以修改如下函数:","源文件:objects/longobject.c","源文件:objects/object.c","源码","用于把","行为我们加入的代码,其中:","语句即可看到我们希望的结果:","运行编译后的","这就需要借助","重新进行编译,在"],"objects/object/":["!=","\".\"","\"int\",","\"str\",","\"type\",","#defin","#els","#endif","#ifdef","&long_as_number,","&pylong_type);","(","((pyobject","(*binaryfunc)(pyobject","(0)","(_py_dec_reftot","(_py_decref_tmp)","(abstract","(binaryfunc)long_add,","(binaryfunc)long_mul,","(binaryfunc)long_sub,","(concret","(hashfunc)","(hashfunc)long_hash,","(here","(pyobject","(python","*","*)(op))","*)(op);","*);","*,","*/","*_ob_next;","*_ob_prev;","*_py_decref_tmp","*longobj","*ob_type;","*ob_type,它指向的类型对象就决定了一个对象是什么类型的。","*tp_as_async;","*tp_as_map","*tp_as_mapping;","*tp_as_mapping的分析与pynumbermethod","*tp_as_numb","*tp_as_number;","*tp_as_sequ","*tp_as_sequence;","*tp_name;","...","......","/*","/*nb_add*/","/*nb_multiply*/","/*nb_subtract*/","//","0","0)","0,","03","1)","1,","19:36:27","2)","2019","2020","23","3)","=",">ob_refcnt",">ob_refcnt++)",">ob_typ",">tp_hash(object);","\\","_object","_py_check_refcnt(_py_decref_tmp)","_py_count_allocs_comma","_py_dealloc(_py_decref_tmp);","_py_inc_reftot","_py_inc_tpallocs(op)","_py_newreference(op)","_py_ref_debug_comma","_pyobject_extra_init","_pyobject_head_extra","_typeobject","_typeobject代码","alloc","aol","api","api。例如整数对象,我们可以利用如下的","binari","binaryfunc","c++中的","calc_hash","calc_hash(pyobject*","char","class","col","compatibility)","const","copyright","destructor","flaggo","format","formerli","free","fundament","getattrfunc","getattrofunc","gitbook该文件修订时间:","hash","hash;","hashfunc","implement","include/object.h","intern","item","known","layer)","long_as_numb","long_dealloc,","long_to_decimal_string,","longobj","map","method","more","nb_inplace_matrix_multiply;","nb_matrix_multiply;","number","numer","ob_base;","ob_digit),","ob_refcnt","ob_refcnt;","ob_size;","ob_typ","object","object)","objects/longobject.c","objects/typeobject.c","objects/unicodeobject.c","offsetof(pylongobject,","oper","part","printfunc","printing,","py_decref(op)","py_decref将调用该对象的tp_dealloc来释放对象所占用的内存和系统资源;","py_hash_t","py_incref(op)","py_incref(op)与py_decref(op)","py_refcnt(op)","py_ssize_t","py_trace_ref","pyasyncmethod","pylong_fromlong(10);","pylong_typ","pylong_type中tp_as_number.nb_add","pylongobject","pylongobject*,那么它会调用","pymappingmethod","pynumbermethod","pynumbermethods;","pyobject","pyobject*","pyobject;","pyobject_head_init(type)","pyobject_new(pyobject,","pyobject_var_head","pysequencemethod","python","pytype_typ","pytype_type创建的","pytypeobject","pytypeobject;","pytypeobjet","pyunicode_typ","pyunicodeobject","pyunicodeobject*,那么就会调用","pyvarobject","pyvarobject;","pyvarobject_head_init(&pytype_type,","pyvarobject也是基于pyobject扩展的。","pyvarobject,而","reprfunc","reserved,pow","return","right","sequenc","setattrfunc","setattrofunc","sizeof(digit),","sizeof(pyheaptypeobject),","sizeof(pymemberdef),","standard","static","struct","suit","ternaryfunc","tp_as_map","tp_as_numb","tp_as_sequ","tp_basics","tp_basicsize,","tp_call;","tp_compar","tp_dealloc","tp_dealloc;","tp_getattr","tp_getattr;","tp_getattro;","tp_hash","tp_hash*/","tp_hash;","tp_items","tp_itemsize;","tp_name","tp_name,","tp_print","tp_print;","tp_repr","tp_repr;","tp_reserv","tp_setattr","tp_setattr;","tp_setattro;","tp_str;","type","typedef","unicode_hash,","unicode_hash函数","variabl","{","}","},","};","©","一个用于垃圾回收的双向链表,一个引用计数变量","一个类型对象指针ob_typ","一些对象属性","一堆方法定义,函数和指针","下图是对象运行时的图像表现","与类型相关的","与该类型对象相关的操作信息(如","中大量采用了内存对象池的技术,使得对象释放的空间归还给内存池而不是直接free,后续使用可先从对象池中获取","中定义了大量的函数指针。这些函数指针可以视为类型对象中","中提供了几个有用的宏:","中的","中的所有对象都拥有一些相同的内容,而这些内容就定义在pyobject中,","中的每个东西都是一个对象,","中,主要通过","中,每一个对象都将自己的引用计数、类型信息保存在开始的部分中。","为了方便对这部分内存初始化,python","主要用于","之后,","从代码中可以看出pyvarobject比pyobject多出了一个用于存储元素个数的变量ob_size。","以pylong_type为例,可以清晰的看到一般的类型对象和pytype_type之间的关系","以下是","但这并不意味着最终一定会调用","内部会用","内部各个函数之间传递的都是一种范型指针","内部调试用","决定的,那么类型对象的类型是由谁决定的呢?","函数","函数的指针是一个","创建","创建一个对象比如","创建对象有两种方式","创建该类型对象分配的内存空间大小","创建该类型对象时分配的空间大小信息,即","初始化代码中看到绑定的是long_hash函数","到底长什么样。","前面我们提到了pyobject","前面提到,在","动态进行判断,而","包含","包括创建对象需要分配多少内存,对象都支持哪些操作等等。","双向链表","变量来维护这个对象,其他对象也与此类似","变量,这个变量维护对象的引用计数,从而最终决定该对象的创建与销毁","变长对象都拥有一个相同的内容","和","在","在pytypeobject的代码中,我们还可以看到非常重要的三组操作族","在以下代码中可以看出pylong_type中的tp_as_number项指向的是long_as_numb","在开始我们的学习之旅之前,我们要先认识一个结构体pyobject,可以说","在类型机制中至关重要,所有用户自定义","垃圾回收","域","如pyobject_new。创建一个整数对象的方式","如果传递给","如果指针是一个","字典对象操作","定义了一个数值对象该支持的操作。一个数值对象如","定义开始有一个宏pyoject_var_head,查看源码可知","定长对象与变长对象","实现了多态机制","实际绑定的是","容纳其他对象的序列集合对象","对于其他对象,可以通过与其关联的类型对象确定其类型,那么通过什么来确定一个对象是类型对象呢?","对于初学者来说这么多类型的对象怎么学?别着急,我们后续章节会解答。","对应的","对象:","对象上,","对象初探","对象对应的类型对象中定义的","对象机制的基石","对象的分类","对象的创建","对象的多态性","对象的大致的一个分类","对象的类型是由该对象指向的","对象的行为","对象类型指针struct","对象都是通过","对象除了前面提到的那种分类方法外,还可以分为定长对象和变长对象这两种形式。","就指定了它进行加法操作时的具体行为。","序列对象操作","建立联系的。","引用计数","我们不知道这个指针所指的对象是什么类型,只能通过所指对象的","或称为","所","所以在","所定义的操作,这些操作直接决定着一个对象在运行时所表现出的行为,比如","指向类型对象的指针,决定了对象的类型","指明了该类型对象如何生成其hash值。","接下来我们看","接下来我们看一下struct","操作tp_hash,tp_hash可以在pytypeobject中找到,","操作,查看源码可以看到","数值对象","数值对象操作","整数对象,那么它的类型对象","时,会分配内存进行初始化,然后","是一个变长对象","是怎么与","更多标准操作","来增加和减少对一个对象的引用计数。当一个对象的引用计数减少到","标准类方法集","正是通过","源文件:include/object.h","源文件:objects/longobject.c","源文件:objects/longobject.h","源文件:objects/typeobject.c","源文件:objects/unicodeobject.c","的","的世界一切皆对象,不论是整数,还是字符串,甚至连类型、函数等都是一种对象。","的代码如下","的关联对象","的定义中包含许多信息,主要分类以下几类:","的对象机制就是基于pyobject拓展开来的,所以我们先看看pyobject","的执行效率。因此","相同,大家可以自行查阅源码","答案就是","类似","类型名","类型名,","类型对象","类型的类型","考虑以下的","而具体赋值绑定我们可以在","范型","虚拟机在运行时内部使用的对象","这两个宏","这些宏在各种内建类型对象的初始化中被大量使用。","这是一个非常重要的结构体,它不仅仅决定了一个对象的类型,还包含大量的元信息,","这样的函数指针)","这类","通常只能作用于某一种类型的对象上,对于每一种内建对象","通常形如pyobject_xxx这样的形式。可以应用在任何","通过引用计数来管理维护对象在内存中的存在与否","都提供了这样一组","都有ob_refcnt","释放内存空间。因为频繁的申请、释放内存会大大降低","需要用到"],"objects/long-object/":["!=","\"base\",","\"int\",","\"int()","#","#defin","#endif","#if","#ifdef","#ifndef","%d\\n\",","&","&&","&=","&_parser,","&int_info_desc)","&long_as_number,","&obase))","&pylong_type)","&pylong_type);","&x,","(","(!_pyarg_parsetupleandkeywordsfast(args,","((base","(;","(_pylong_on","(_pylong_zero","(base","(binaryfunc)long_add,","(binaryfunc)long_mul,","(binaryfunc)long_rshift,","(binaryfunc)long_sub,","(digit)abs(ival));","(digit)abs(ival);","(hashfunc)long_hash,","(i","(inclusive)","(inquiry)long_bool,","(int","(int_infotype.tp_nam","(ival","(not","(obas","(py_abs(py_size(a))","(pylongobject","(pystructsequence_inittype2(&int_infotype,","(sign","(size_a","(type","(unaryfunc)long_abs,","(unaryfunc)long_invert,","(unaryfunc)long_long,","(unaryfunc)long_neg,","(void)pyobject_init(v,","(x","(x_add","(z","*","*)aa;","**bytes_str)","**p_output,","*/","*a,","*a;","*aa,","*args,","*b)","*bytes_writer,","*kwargs)","*obas","*obase)","*obase);","*pin,","*pout,","*return_valu","*scratch,","*str","*temp","*type,","*v","*v;","*writer,","*x","*x,","*z;","+","...","/","/*","/*[clinic","/*nb_add","/*nb_and","/*nb_divmod","/*nb_float*/","/*nb_int*/","/*nb_invert","/*nb_lshift","/*nb_multipli","/*nb_neg","/*nb_or","/*nb_power","/*nb_remaind","/*nb_reserved*/","/*nb_rshift","/*nb_subtract","/*nb_xor","/*tp_absolut","/*tp_bool","/*tp_posit","//","0","0)","0);","0,","03","0;","0};","1","1)","10","15","19:36:27","1;","1]不为零,这与普通四则运算的加法运算相同,只不过进位单元不同而已","2","2**(shift*i)","2019","2020","23","257","257)","3","30","30,否则","36)","5","5,","6","8","9223372043297226753",";","=","==",">",">=",">>",">>=",">>>",">ob_digit[0]",">ob_digit[i]",">ob_digit[i])",">ob_digit[i];","@classmethod","[","[clinic","\\","_keywords,","_keywords[]","_longobject","_parser","_pyarg_pars","_pybyteswrit","_pylong_init(void)","_pylong_new(size_a);","_pylong_on","_pylong_zero","_pyunicodewrit","a;","abs(ob_size)","abs_ival;","absolut","add","argument\");","array","assert(","assert(borrow","a、b","b","b);","b;","base","base;","bit","borrow","borrow;","carri","carry;","char","check_binop(a,","check_small_int","check_small_int(ival)","check_small_int(ival);","code:","code]*/","const","copyright","count_alloc","cpython2","cpython3","d;","digit","doesn't","end","ensur","enum","equal","exit:","exit;","fast","file","flaggo","function","gener","get_small_int(sdigit","gitbook该文件修订时间:","goto","i+1;","i,","i;","i=0","inclusive).","index","initi","input=81c98f418af9eb6f]*/","input]","int","int.__new__","int_info","integ","integers.","ival","ival)","ival,","j;","k_mul","karatsuba","keep","kind;","kwargs,","larger","long","long_add","long_add(pylongobject","long_and,","long_as_numb","long_dealloc,","long_div,","long_divmod,","long_doc,","long_float,","long_getset,","long_long,","long_lshift,","long_methods,","long_mod,","long_mul(pylongobject","long_new","long_new(pytypeobject","long_new,","long_new_impl","long_new_impl(pytypeobject","long_new_impl(type,","long_norm","long_normalize(z);","long_or,","long_pow,","long_richcompare,","long_subtype_new(type,","long_to_decimal_string,","long_to_decimal_string_internal(pyobject","long_to_decimal_string_internal中添加如下代码并重新编译安装","long_true_divide,","long_xor,","longintrepr.h","longobject.h","miss","multipl","nb_floor_divid","nb_index","nb_inplace_add","nb_inplace_and","nb_inplace_floor_divid","nb_inplace_lshift","nb_inplace_multipli","nb_inplace_or","nb_inplace_pow","nb_inplace_remaind","nb_inplace_rshift","nb_inplace_subtract","nb_inplace_true_divid","nb_inplace_xor","nb_true_divid","ndigit","neg","negative;","nsmallnegint","nsmallnegints;","nsmallposint","nsmallposints];","null","null)","null);","null;","null};","num","number","ob_digit","ob_digit),","ob_digit[0]","ob_digit[1]","ob_digit[2]","ob_digit[abs(ob_size)","ob_digit[i]","ob_digit[i])","ob_digit[i];","ob_digit[index]);","ob_siz","ob_size,确保","obas","obase);","obase:","object(c_default=\"null\")","object/longobject.c","objects/clinic/longobject.c.h","objects/longobject.c","offsetof(pylongobject,","on","organ","out","output","output=e47cfe777ab0f24c","path","prealloc","preserv","print(num)","printf(\"ob_s","propag","py_abs(py_size(a)),","py_abs(py_size(b));","py_size(a));","py_size(v)","py_ssize_t","py_tpflags_basetyp","py_tpflags_default","py_tpflags_long_subclass,","pybytearray/pybyt","pyerr_occurred())","pyerr_setstring(pyexc_typeerror,","pyerr_setstring(pyexc_valueerror,","pyintobject","pylong_fromlong","pylong_fromlong(0);","pylong_fromlong(0l);","pylong_fromlong(1);","pylong_fromlong(long","pylong_fromlong,就不一一列举了","pylong_fromstr","pylong_fromunicodeobject,最终调用","pylong_mask;","pylong_shift","pylong_shift.","pylong_shift;","pylong_typ","pylongobject","pylongobject;","pynumber_asssize_t(obase,","pynumber_long","pynumber_long(x);","pynumbermethod","pyobject","pyobject_del,","pyobject_genericgetattr,","python","pytypeobject","pyunicod","pyunicode_kind","pyvarobject_head_init(&pytype_type,","quick_int_allocs++;","quick_int_allocs,","quick_neg_int_allocs++;","quick_neg_int_allocs;","rang","rem,","repres","representation.","reserved,pow","return","return_valu","return_value;","reveal","right","shared.","sign","sign;","singl","size,","size;","size_a","size_a,","size_b","sizeof(digit),","small","small_ints;","small_ints[nsmallnegint","start","static","string","strlen,","struct","subtract","sum(for","t;","temp;","tenpow;","terribl","those","through","tp_alloc","tp_as_buff","tp_as_map","tp_as_numb","tp_as_sequ","tp_base","tp_basics","tp_call","tp_clear","tp_dealloc","tp_descr_get","tp_descr_set","tp_dict","tp_dictoffset","tp_doc","tp_flag","tp_free","tp_getattr","tp_getattro","tp_getset","tp_hash","tp_init","tp_items","tp_iter","tp_iternext","tp_member","tp_method","tp_name","tp_new","tp_print","tp_repr","tp_reserv","tp_richcompar","tp_setattr","tp_setattro","tp_str","tp_travers","tp_weaklistoffset","two","two:","typedef","unsign","v","v;","valu","wiki","wimp","x","x,","x:","x_add","x_add(pylongobject","x_sub","x_sub(pylongobject","x_sub)","xxx","y","z","{","{\"\",","{\"|oo:int\",","|","}","};","©","一个数的绝对值等价于下面的表达式","一些整数在一开始就会被初始化一直留存,当再次使用直接从小整数对象池中获取,不用频繁的申请内存。","与操作","与普通四则运算减法相同,数不够大则向高一位借位,","且","为","乘法","从","从源码可以看出","会检查传入的数是否在小整数范围内,如果是直接返回。","位数的一半。","位系统中,pylong_shift","做处理","做进位处理,然后处理","具体可以看","具体实现在","决定的,64","减法","减法运算函数","函数可以看出有如下几种情况","函数是一种快速乘法","函数调整","分成位数较少的数,每个数都是原来","创建整数对象","加法","加法运算函数","又细分为两个函数","反转","取余","只保留了","可以在创建或复制整数对象等函数中找到","可以看出,创建一个整数对象的入口函数为","可以看到整数对象的数值操作较多,由于篇幅限制无法一一分析,这里只分析整数的部分操作","可以看到整数的加法运算函数","可见这个变化不是一蹴而就的,有比较艰辛的过程,大家有兴趣可以去挖掘一下","和","在","基本的原理和做法是将位数很多的两个大数","大于","如下图所示","宏","对象的高位数字,最后使用","小整数初始化","小整数对象","异或","或操作","数组的低位开始依次按位相加,carri","整数对象","整数对象的数值操作","整数的存储结构","整数相乘","整数相加","是变长对象","是由","有","根据","求bool值","求幂","注:这里的","添加打印代码","源文件","源文件:include/longintrepr.h","源文件:include/longobject.h","源文件:objects/clinic/longobject.c.h","源文件:objects/longobject.c","的","的整数对象","的示例图如下,注:pylong_shift","的第三行有这么一句话","的算法主要是用于两个大数的乘法,极大提高了运算效率,相较于普通乘法降低了复杂度,并在其中运用了递归的思想。","的身影,以下只列出了","确保","算法的实现","类型对象","绝对值","编译安装后进入","解释器输入如下代码","调用","调用_pylong_frombytes,最终调用","这两种类型,","这样处理之后,简化为做三次乘法,并附带少量的加法操作和移位操作。","逻辑右移","逻辑左移","都不为","默认的小整数范围是"],"objects/list-object/":["!=","\"\"\"","\"cannot","\"list","#","#defin","#endif","#ifdef","#ifndef","&&","'allocated'","(!initialized)","(!pylist_check(op))","((pylistobject","(9","(alloc","(cmp","(i","(indexerr","(item","(list_ass_slice(self,","(list_resize(self,","(n","(newitem","(newsiz","(op","(pylist_check(op)","(pyobject","(size","(size_t)news","(size_t)py_ssize_t_max","(v",")","*","*)","*))","*));","*);","*)null)","*)op)","*)op,","**)","**)pymem_realloc(self","**items;","**ob_item;","**p;","*/","*free_list[pylist_maxfreelist];","*newitem)","*op,","*op;","*self,","*v)","*value)","+","...","/","/*","/*[clinic","//","0","0)","0);","0,","03","0;","1))","1,","16,","19:36:27","1;","2,","2019","2020","23","25,","2]","3","3)","3,","35,","3]","4,","46,","4]","58,","6","72,","8)","8,","80","88,","=","==",">",">=",">>",">alloc",">allocated;",">ob_item",">ob_item,",">ob_item;","[0,","[1,","[]","_pyobject_gc_track(op);","accommod","add","addit","alloc","allocated/2","alway","amort","app1","app1((pylistobject","app1(pylistobject","appends()","assert","assert(self","assign","behavior","bypass","call","code:","contain","copyright","current","elements.","empti","end","enough","etc.","fall","fit","flaggo","free","gener","gitbook该文件修订时间:","give","growth","growth.","half","i)","i+1,","i,","i;","index","indexerr","indexerr);","initi","input=2dc2ba5bb2fb1f82]*/","ins1","ins1((pylistobject","ins1(pylistobject","int","invariants:","is:","item","items;","items[i+1]","items[i];","items[where]","larg","largest","linear","list","list\");","list.","list[0]","list_remov","list_remove(pylistobject","list_remove函数会遍历列表,使用pyobject_richcomparebool与目标值进行比较,","list_remove函数,","list_res","list_resize(pylistobject","listobject.c","listobject.h","long","lower","lst","lst.append(1)","lst.remove(3)","lst[0]","lst[3]","make","malloc","mild,","more","n","n)","n+1)","n;","new_alloc","new_allocated,","new_allocated;","newitem);","newsiz","newsize)","newsize.","newsize;","note:","null","null)","null))","null);","null;","num_allocated_byt","num_allocated_bytes);","num_allocated_bytes;","number","numfre","ob_item","ob_item[0],","ob_item[i],","ob_item[i];","ob_size.","ob_size不会改变allocated。","object","objects/listobject.c","op","op;","out","output=f087e1951a5e30d1","over","overalloc","overflow","p","pattern","perform","pointer","poorli","possibl","presenc","previou","print(lst[3])","proce","proport","py_atexit(show_alloc);","py_decref(op);","py_eq);","py_incref(v);","py_return_none;","py_size(op)","py_size(op))","py_size(self)","py_size(self);","py_ssize_t","py_ssize_t_max","py_ssize_t_max)","py_xdecref(newitem);","py_xsetref(*p,","pyerr_badinternalcall();","pyerr_nomemory();","pyerr_setobject(pyexc_indexerror,","pyerr_setstring(pyexc_indexerror,","pyerr_setstring(pyexc_overflowerror,","pylist_append","pylist_append(pyobject","pylist_get_size(self);","pylist_getitem","pylist_getitem(pyobject","pylist_insert","pylist_insert(pyobject","pylist_maxfreelist","pylist_new","pylist_new(py_ssize_t","pylist_setitem","pylist_setitem(pyobject","pylistobject","pylistobject对象的一些操作","pylistobject缓冲池默认大小为80","pymem_calloc(size,","pyobject","pyobject_var_head","python","pyunicode_fromstring(","range\");","realloc()","realloc().","reserved,pow","return","reus","right","room","save","scheme","self","sequenc","show_alloc_count","shrink","size","size)","size,","size;","size_t","size_t.","sizeof(pyobject","space","static","struct","system","time","typedef","us","v;","valu","value,","vector","where,","where;","won't","{","||","}","©","为了避免频繁的申请内存空间,创建pylistobject的时候会先检查缓冲池是否有可用空间","从app1代码可以看出追加元素操作大致流程如下","从ins1代码可以看出插入元素操作大致流程如下","会调用","元素赋值","元素赋值的示例","其他情况则需要调用pymem_realloc函数分配新的空间存储列表元素。","其公式为","其存储结构如下图","函数","函数list_resize就是用于调节list存储空间大小的","列表allocated的增长模式是","创建pylistobject","创建对象","合法性检查","在python中的list可以存放任何类型的数据,查看pylistobject可以发现,list实际存放的是pyobject*","实际调用的就是","对象","对象赋值","将元素插入list尾部","将元素插入指定位置","将要插入的位置的元素都往后移一个位置","当","指针","插入元素","时,list_resize只会改变","根据索引返回对应的元素","源文件:include/listobject.c","源文件:include/listobject.h","源文件:objects/listobject.c","相同则调用list_ass_slice进行移除,当遍历完列表还未找到则报错","示例","移除元素","移除元素示例","获取元素","获取元素的示例","调整list大小","调整list存储空间","调用","调用list_resize,将list大小加一","这里","追加元素","随着list元素的减少,list的存储空间可能存在冗余,这个时候就需要缩小list的存储空间。","随着list元素的增加,list的存储空间可能会不够用,这个时候就需要扩大list的存储空间。"],"objects/dict-object/":["!=","!pyunicode_checkexact(key))","\"","\",","\"combined\":","\"copyright\",","\"credits\"","\"help\",","\"integer,","\"license\"","#22653)","%d","%ld","%ld\\n\",","&","&&","&dk_entries(mp","&ep0[ix];","&old_value);","&old_value1);","&pydict_type);","'%.200s'\",","'2'作为","(!pydict_check(op))","(!pyunicode_checkexact(key)","(!pyunicode_checkexact(key))","('1')","('2')","('e')","((ix","((pyasciiobject","(;;)","(_pydict_hassplittable(mp)","(_pydict_hassplittable(mp))","(and","(d)","(default,","(dk","(dk_indices).","(dk_indices):","(ep","(err","(hash","(i","(i*5","(insertion_resize(mp)","(int8_t*)(mp","(ix","(ix1","(j=0;","(key_valu","(m","(map","(minus","(mp","(newsiz","(none)","(numfree)","(o","(old_valu","(oparg","(opcode)","(pop)","(py_type(mp)","(pydictobject","(pyindex_check(key))","(pylongobject*","(pyobject","(see","(size","(size_t)hash","(size_t)hash;","(w",")",")ep01",")key1;","*","*)","*)mp);","*)mp,","*)mp;","*)op;","**can**","**ma_values;","**value_addr)","**values)","*/","*contain","*dk;","*ep","*ep0","*ep01","*ep;","*indic","*key","*key,","*keys,","*m;","*ma_keys;","*map","*me_key;","*me_value;","*mp,","*mp;","*new_keys;","*new_keys_object(py_ssize_t","*o,","*old_value;","*op,","*sub","*v","*v,","*valu","*value)","*value_addr","*w)","+","...","/*","//","0","0)","0);","0){","0,","03","0412。","0;","0xff,","1","1)","1);","1/2","10","1024;","1060","11","12","128","14","16","16:17:57)","18","19:36:27","1;","2","2).","2.","2/3","20","20000","20000,是根据代码找到相关的","2019","2019,","2020","22","23","24","26","28","3","3);","3.7.3","30","32","4","5","6","7","7.3.0]","8","9",":",":\");",":0",";","=","==",">",">=",">>=",">>>",">dk_indices);",">dk_indices[0],",">dk_lookup",">dk_lookup(mp,",">dk_nentri",">dk_nentries)))",">dk_nentries);",">dk_nentries++;",">dk_nentries]",">dk_nentries];",">dk_refcnt",">dk_size",">dk_size);",">dk_size;",">dk_usabl",">hash)",">ma_key",">ma_keys);",">ma_keys)[ix].me_valu",">ma_keys)[mp",">ma_keys,",">ma_us",">ma_used);",">ma_used++;",">ma_used;",">ma_valu",">ma_values)",">ma_values[ix]",">ma_values[mp",">ma_version_tag",">me_hash",">me_key",">me_key));",">me_key,",">me_valu",">me_value;",">mp_ass_subscript(o,",">mp_ass_subscript)",">ob_digit[0]);",">ob_typ",">sq_ass_item)",">tp_as_mapping;",">tp_as_sequ",">tp_as_sequence)","[gcc","__eq__,","_dictkeysobject","_py_hot_funct","_py_newreference((pyobject","_pydict_newpresized((py_ssize_t)oparg);","_pydict_newpresized(py_ssize_t","activ","active:当","actual","anymore.","array","assert","assert(_pydict_checkconsistency(mp));","assert(ep","assert(is_power_of_2(size));","assert(ix","assert(key","assert(key);","assert(mp","assert(old_valu","assert(pyunicode_checkexact(ep","assert(pyunicode_checkexact(key)","assert(s","assert(value);","assignment\",","be:","build_map","cach","call_method","can't","cater","chang","code","combin","common.h","comparison","const","consum","contain","container[sub]","convert","copyright","count","count;","creat","d","d.pop('1')","d['1']='2'","d['1']='e'","d[10]","d[1]","d[2]","d[3]","d[5]","d[7]","d[9]","del","di","dict","dict_ass_sub","dict_ass_sub(pydictobject","dict_lookup_func","dict_next_version();","dict_test.pi","dictionari","dictionaries)与联合字典(combin","dictkeysobject","dictobject.c","dictonaries)。详细的信息可查看有关","differ","dispatch();","dk","dk;","dk_debug_incref","dk_decref(keys);","dk_entries(mp","dk_entries,","dk_entries.","dk_get_index(mp","dk_lookup","dk_lookup;","dk_mask(mp","dk_nentries;","dk_refcnt;","dk_set_index(mp","dk_size","dk_size;","dk_usable;","dkix_dummy(","dkix_dummy);","dkix_empti","dkix_empty(","dkix_empty)","dkix_empty;","dkix_error","dkix_error)","dkix_error.","dk,最后进行申请到的内存讲内容清空。接着就会进行","doesn't","don't","dummi","dummy:先前保存了一个","d,从输出信息可知,index","e.g.,","each","enter","entri","entries.","ep","ep01++;","err","err;","error;","es","es,","estimate_size(minused);","exception.","exception;","fail:","fail;","faster","field","flaggo","float","found","free_list[","free_values(values);","function","further","gener","gitbook该文件修订时间:","give","give;","global","goto","guarante","handl","hash","hash);","hash,","hash1","hash1,","hash;","hashpos,","here.","hold","i);","i,","i;","if)","implement","includ","include/dictobject.h","index","index>=0","indic","information.","insert","insertdict","insertdict()","insertdict(mp,","insertdict(pydictobject","instanc","instead","int","int8_t","issu","item","ix","ix)","ix1","ix;","j;","jme_key;","key","key)","key)))","key);","key,","key,value,每一个","key1","key1,","key;","key_valu","key_value,","key_value;","keys,","keys;","keys_free_list[","keys。当出现一个事件将字典的属性值进行改变的时候,个别字典将慢慢的转化成组合表的形式。这就保证了在大部分的应用场景下很高的内存利用效率,并保证了在各个场景下的正确性。当","keys,valu","key。接下来就详细分析一下相关流程。","key。操作字典如下所示;","known","larg","layout","linux","load_const","load_method","load_nam","lookdict()","lookdict():","lookdict(mp,","lookdict);","lookdict;","lookdict_split():","lookdict_unicod","lookdict_unicode()","lookdict_unicode():","lookdict_unicode_nodummy():","lookdict_unicode_nodummy(pydictobject","lookdict_unicode_nodummy;","lookdict_unicode_nodummy;","lookup","m","ma_key","ma_keys,","ma_keys.","ma_used;","ma_valu","ma_version_tag;","maintain_tracking(mp,","make","mask","mask;","max_pres","max_presize;","me_hash;","me_key.","me_valu","meaning","medium","memoryerror.","memset(&dk","memset(dk_entries(dk),","minsiz","minus","minused)","modifi","more","mp","mp_ass_subscript","necessari","never","new_dict","new_dict(pydictkeysobject","new_keys_object","newsiz","newsize;","non","null","null)","null);","null,","null;","null_error();","number","numfree];","numfreekeys];","o","o);","object","objects/abstract.c","objects/dict","objects/dictobject.c","old_valu","old_value1;","on","oparg;","order","overrid","peek(2*i","peek(2*i);","pend","pending:索引>=0,键!=空,值=空(仅拆分),尚未插入到拆分表中。","pending。","perturb","perturb_shift;","point","pointer","pop","pop_top","power","present.","printf(\"%","printf(\"found","printf(\"indic","printf(\"siz","printf(\"valu","purpose,","push(map);","py_decref(container);","py_decref(key);","py_decref(map);","py_decref(pop());","py_decref(sub);","py_decref(v);","py_decref(value);","py_hash_t","py_incref(key);","py_incref(value);","py_ssize_t","py_unreachable();","py_xdecref(old_value);","pydict_delitem((pyobject","pydict_delitem,设置一个","pydict_minsize);","pydict_minsize;","pydict_setitem((pyobject","pydict_setitem(map,","pydict_setitem(pyobject","pydict_setitem;","pydictentri","pydictkeyentri","pydictkeyentry;","pydictkeysobject","pydictkeysobject;","pydictkeysobject,最后就生成一个","pydictobject","pydictobject;","pyerr_badinternalcall();","pyerr_nomemory();","pyerr_occurred())","pyexc_indexerror);","pylong_fromlong(20000);","pylongobject*","pymappingmethod","pynumber_asssize_t(key,","pyobject","pyobject*","pyobject_gc_new(pydictobject,","pyobject_hash(key);","pyobject_hash(key1);","pyobject_head","pyobject_malloc(sizeof(pydictkeysobject)","pyobject_setitem","pyobject_setitem(container,","pyobject_setitem(pyobject","pysequence_setitem(o,","python","python/ceval.c","rais","re","reason","refer","reserved,pow","resiz","resize.","return","return_valu","right","second();","see","share","similar","size","size)","size);","size;","size_count","size_count,","size_t","sizeof(pydictkeyentry)","size,检查是否超过设置的大小,检查是否有缓存的字典数据可用,如果没有则申请内存重新生成一个","special","speed","split","splitted:","stackadj(","state","static","store","store_nam","store_subscr","str;","strict","string","struct","sub,","subclass","support","sure","switch","tabl","table.","tables.","table。如果从","table,如果重置大小作为保存实例属性的结果,并且只有一个该","table,它们的键表都被缓存在类型属性中,并且允许所有该类型的实例都可以共享该","target(build_map)","target(store_subscr)","third();","time","top();","tp_as_map","type","type_error(\"'%.200s'","type_error(\"sequ","typedef","uint64_t","unicod","unicode_eq(ep","unique,","unus","unused:没有插入任何一个获取的","us","usabl","usable);","usable;","usable_fraction(max_presize))","usable_fraction(size);","v","v);","v,","valu","value);","value.","value;","value_addr);","values;","values是否需要加入垃圾回收","value。","value,它不会删除","value,并且在此之前也没有存储任何的","veri","version","version:","w);","without","{","{20000:2}","{}","||","}","©","不为空并且","不为空的时候出现。","不为空,保存了一个键值对,activ","不会改变为一个","与","中删除一个","中对应的该值,而只是将","中添加内容时;","中,在一个","中,此时查看该执行函数;","为8","主要就是通过传入的","之间,如果超过这个阈值则字典就会自动扩容,扩容的策略大家可详细查看源码。","从该函数的执行可知,初始化的函数是从_pydict_newpres","从输出内容可知,字典的大小随之改变了,这也说明了","会被里面切换到","使用个数加1","使用加1","使用的keys个数","使用缓冲池对象","便利ma_key","保存key","保存计算得出的hash值","值与","值,me_valu","值,因为字典也被","偏移","內建函数与{}生成的字典,模块和大部分其他字典都会创建为","其中","其中为什么初始化的时候输入","其中就调用了字典的","其中的","其中,me_hash","其中,pydictkeysobject","函数进行处理设置值;","则该类型对象不支持设置","初始化数据;","初始化的时候,就输出如上所示内容;我们接下来继续操作;","初始化的状态。","判断不能为空","判断缓冲池是否有","到","可以转变为","可用减1","可用的entry数量","可知,删除一个","可知,该命令就是讲'1'作为","和","哈希查找函数","在","在初始化的时候都会处于这种状态,并且","如果key相同","如果mp的ma_values有值","如果不为空则保存的是valu","如果为空则证明找到一个可以使用的","如果新建失败则报错","如果是分离的","如果有则是保存的keys数据","如果有设置该类型","如果错误就报错处理","字典","字典对象是通过","字典最大的容量","字典概述","字典的两种类型","字典的初始化流程","字典的插入与查找","字典的操作测试","字典的最佳大小容量限定在","字典示例","字典,一个","字典,该字典的行为方式与最初的字典的行为方式大致相同。","容器的相关数据结构","对应的方法,在初始化之后对应的是","对象","对象的变化过程中,entri","对象,最后返回。至此,dict","将申请的内存置空","将该值赋值","就是","就是哈希生成的值,me_key","就是对应的","就是对应的值。","就是根据","就是记录了","就表示该处未使用。","已经使用的entry数量","开始,该函数就是生成并初始化一个字典;","引用计数","弹出栈上输入参数的引用","当删除的时候,dummi","当我们继续向","当被创建的字典是用来保存","态,当有","或者","找到对应的值并讲该值设置到map中","插入到","插入,这就是","数值中移除了该","新建并初始化一个字典","方法删除一个","方法就是将生成的方法,插入到字典中去;","方法,此时就是调用","方法;","方法;此时我们分析一下,dict","时,me_key","是否有缓存,如果有缓存就选择缓存中的dk","本次示例脚本如下:","来创建一个新的字典,接着就对新建的字典","来实现数据的,详情如下;","查找一个可用的hash位置","根据经验在1/2和2/3之间效果最好","检查key是否是索引","检查mp","检查size是否大于最小s","检查传入的key是否hash为","检查传入的数量是否超过最大值","检查在新建的过程中是否通过参数传值","检查如果不是unicode则直接调用lookdict方法查找","检查是否为空如果任一为空则报错","检查是否可用","检查是否报错","检查是否是分离表,如果没查找到旧值并且","检查是否是字典类型","检查是否是2的倍数","检查是否需要执行下一条字节码指令","此后我们一直添加值进","此时,从栈中取出相关参数,并将这些值传入","没有缓存可使用的字典则申请内存生成一个","测试代码","源文件:include/dict","源文件:include/dictobject.h","源文件:objects/abstract.c","源文件:objects/dictobject.c","源文件:python/ceval.c","然后编译运行;","状态,当一个键被删除的时候,这只会在","现在我们动手观看一下具体的操作实例,首先声明,该例子仅供调试使用,目前调试的字典的","生成hash调用key对应的tp_hash方法","生成hash调用key对应的tp_hash方法,在本例中传入的是str类型,则调用str类型的tp_hash方法","的","的__dict__属性时,该字典才会创建为一个","的位置不能被重新使用,一旦发生碰撞,探针序列就无法知道这对键值对曾是活跃的键值对。","的创建工作已经完成。","的反汇编工具获取字节码;","的大小必须是2的倍数","的字典中,一个键值对的对应保存就是","的字典就是实现了一个","的字典类型中包含了两种,分离字典(split","的定义如下;","的实例,字典会立马再变为一个","的执行流程;","的描述pep","的方法集。此时就调用了","的方法集,并调用了该方法集的","的状态会在不同的状态间转换。基本上在如下四种状态中转换:unused、active、dummi","的索引值,","的虚拟机执行函数;","的键值对,但是这个键值对被删除了并且一个活跃的键值对还没有填入该位置,dummi","直接讲value设置到entry上面","直接设置ma_values对应的ix到values中","直接通过","相关数据结构的内存布局为;","相同的就将","第一个值为key","类型并且不能","类型来保存;","缓冲池没有则申请新的对象并初始化","自身实现的结构中引用了多次,所以我们就设置了一个特殊值来跟踪我们想要的字典;当","获取keys的首个元素地址","获取下一个位置","获取作为队列的操作集","获取大小","获取存取的地址","获取最小的值,在新建一个空的字典的时候该值为0","获取生成的最终的值","获取类型的tp_as_mapping方法集","获取该位置元素值","行;","表。","讲key对应的value设置为空","讲生成的map压栈","设置ma_used为0","设置为找到的值(这也是字典查找的核心逻辑)。至此,字典的插入的大致流程已经分析完毕。","设置到从缓冲池或者新生成一个","设置大小","设置字典的最小值","设置引用计数","设置是否可用","设置查找函数","设置该key对应的valu","设置该值","该为valu","该为字典对象","该函数的主要工作就是查找,字典中是否有空余的值,或者如果找到了满足","调用查找方法","调用索引插入","调用该mp_ass_subscript方法","调用该方法设置值","输出的字节码如下;","返回","返回。继续查看","进行了赋值操作与更新操作,最后调用了","通过","通过字节码指令可知,首先调用了","通过字节码的指令","通过查找","都是","重新改变大小,它会立马改变为一个","首先会调用相关的查找方法,去查找待搜索的值是否已经存在字典中,如果当前字典数据已经满了则会按照增长大小的函数生成一个新的字典,并把旧数据设置到新的字典中,当找到的字典匹配时则返回。","首先,先计算出需要生成的字典的大小,然后再初始化一个","首先,讲如下代码插入到",",通过描述可知,python","d","hash值也相同","key列表"],"objects/set-object/":["!=","&","&&","&so","&table[i];","(!pyfrozenset_check(anyset)","(!pyset_check(anyset)","(!pyunicode_checkexact(key)","((pyasciiobject","((size_t)so","(1)","(2)","(3)","(4)","(5)","(add)","(cmp","(entri","(err","(freeslot","(hash","(i","(is_oldtable_malloced)","(iter","(newsiz","(newtabl","(none)","(pyobject","(pysetobject","(pyunicode_checkexact(startkey)","(remove)","(rv","(set","(set_a)","(set_update_internal(so,","(size_t)hash","(size_t)so","(so","(startkey","(union)","(update)",")","*","*)","*)anyset,","*)so;","*)type","*/","*anyset,","*entry;","*freeslot;","*item","*iterable)","*key)","*key,","*key;","*necessary*","*newtable,","*old_key;","*oldtable,","*set","*so,","*so;","*startkey","*table,","*table;","*tmpkey;","*type,","*weakreflist;","+","...","/*","//","0","0)","0);","0,","03","0;","1","1)","1))","1,2,所以会在执行字节码指令的时候,执行","12","15","18","19:36:27","1;","2","2.","2019","2020","21","23","24","25","28","3","3/5","31","34","37","38","4","41","44","47","5","50","51","54","57","6","60","63","66","67","7","70","73","76","79","82","85","86","89","9",":",";","=","==",">",">=",">>=",">fill",">fill*5",">fill++;",">finger",">hash",">hash)",">hash);",">key",">key,",">key;",">mask",">mask;",">smalltable;",">tabl",">table;",">table[i];",">tp_alloc(type,",">use",">used)",">used);",">used*2",">used*4);",">used++;",">used;",">used>50000",">weakreflist","?","_pyunicode_eq(startkey,","activ","add","addit","anything.","anyway","arbitrari","aren't","assert(minus","assert(newt","assert(oldt","assert(startkey","avoid","befor","behavior","bigger","build_set","cach","call_funct","can't","cmp","cmp;","code","comparison","comparison_error:","contain","copi","copyright","cours","data","dealloc","defin","di","discard_found;","discard_notfound;","dispatch();","do","dummi","dummies,","dummy)","dummy);","dummy;","dummy,并且将","dummy;set_discard_key","empty,","entri","entries*/","entries.","entries;","entry;","err","error;","fail","field","fill","fill;","fill==size,","find","finger","finger;","fix","flaggo","found_active:","found_active;","found_null:","found_null;","found_unused:","found_unused;","found_unused_or_dummy:","found_unused_or_dummy;","freeslot","frequent","frozenset","gitbook该文件修订时间:","go","goto","hash","hash)","hash);","hash;","hash值为","hash,便于查找,set","hash,如果能够被","help","i;","increment","index","indexing,","insertion.","instead","int","intrins","is_oldtable_malloc","is_oldtable_malloced;","it,","item);","iterable))","iterable);","j;","key","key)","key))","key);","key,","key;","larg","len(set),和","linear_prob","list","load_attr","load_const","load_nam","m","make","make_new_set(&pyset_type,","make_new_set(pytypeobject","malloc'","mask","mask,","mask;","memcpy(small_copy,","memori","memset(newtable,","minused)","minused.","more","necessari","need","needed.","neutral","never","new","newmask","newmask,","newmask;","newsiz","newsize);","newtabl","newtable;","null","null)","null);","null;","number","object","old","old_key","oldmask","oldtabl","oldtable)","oldtable);","oldtable,","oldtable;","on","oparg);","oparg;","over,","over;","overflow","peek(i);","perturb","perturb)","perturb;","perturb_shift;","perturb设置为当前hash值","point","pointer","pop()","pop_top","power","pre","prevent","purg","push(set);","py_decref(item);","py_decref(key);","py_decref(old_key);","py_decref(set);","py_decref(so);","py_decref(startkey);","py_eq);","py_hash_t","py_incref(key);","py_incref(startkey);","py_refcnt(anyset)","py_ssize_t","pyerr_badinternalcall();","pyerr_nomemory();","pymem_del(oldtable);","pymem_new(setentry,","pyobject","pyobject_hash(key);","pyobject_head","pyobject_richcomparebool(startkey,","pyset_add(pyobject","pyset_add(set,","pyset_add,该函数的本质与","pyset_mins","pyset_minsize)","pyset_minsize;","pyset_minsize默认我8,mask为7","pyset_new","pyset_new(null);","pyset_new(pyobject","pysetobject","pysetobject;","python","python/ceval.c","pyunicode_checkexact(key)","rebuild","refcount","refer","regist","remov","repeat","reserved,pow","resiz","restart:","restart;","return","return_valu","rich","right","runtim","rv","rv;","s","s.add(1)","s.add(2)","s.add(7)","save","search","searches.","set","set,","set_a","set_a.add(3)","set_a.add(3)本质都调用了更底层","set_a.add(4)","set_a.remove(1)","set_a.union({1,5})","set_a.update({3,})","set_add_entri","set_add_entry(pysetobject","set_add_entry(so,","set_add_key","set_add_key((pysetobject","set_add_key(pysetobject","set_discard_entri","set_discard_entry(pysetobject","set_discard_entry(so,","set_discard_key","set_discard_key(pysetobject","set_discard_key(so,","set_insert_clean(newtable,","set_insert_clean(setentri","set_lookkey","set_lookkey(so,","set_lookkey该方法与插入的逻辑类似大家可自行查看","set_remove()函数上,如下示例;","set_remove(pysetobject","set_table_res","set_table_resize(pysetobject","set_test.pi","setentri","setentry;","set。作为一个无序的集合,set","set,扩充的原则就是如果当前的","shrinking,","size","size_t","sizeof(setentry)","sizeof(small_copy));","slot","slots,","small","small_copy;","small_copy[pyset_minsize];","smaller.","smallest","smalltabl","smalltable[pyset_minsize];","speed","spill","stackadj(","startkey","startkey)","static","store","store_nam","struct","subtle:","tabl","table.","table;","tables.","target(build_set)","termin","tests.","that'","typedef","union","unsign","up","updat","us","used;","used>50000","virgin","void","we'r","weak","x","xxx","{","{1,2}","||","}","©","一个","不支持","不记录元素位置或者插入点。因此,set","与","与hash求和的mask","中,如果相同则不插入,如果索引对应的值且值不同,则遍历从该索引往后9个位置的值,依次找到有空余位置的值,并将该值设置进去。如果设置该值之后使用的数量占总的申请数量超过了","中,对应的","中;","主要依靠","主要是检查是否","也是基于","从","会根据保存的元素自动调整大小。相关的内存布局如下;","但是fill数量未变","使用总数加1","使用数加1","使用数量减1","保存数据的数组","保存数据的数组数组指针","值减1,此处没有减去","值,如果计算出的索引值,没有值,则直接将该值存入对应的","先获取旧的tabl","内存申请失败则返回为空","减少该对象引用","函数将值加入到","函数来实现;","函数的执行流程;","函数的执行过程;","函数;","则什么也不做","则直接返回,如果能被","则继续调用","则设置freeslot","则调用","则重新扩充","初始化为空;","初始化的时候都为0","删除元素,调用","加上","加1与mask求余获取下一个索引值","包括已经使用的entry与空entry值的总和","包括所有曾经申请过的数量。","反汇编获取该脚本的字节码;","右移5位","向字典中添加key;","在","在本例的初始化过程中,由于传入了初始值","大致的","如果key相同则跳转到found_active处执行","如果set改变了则重新开始查找","如果不相同则重置fill为used的值","如果不能hash","如果不能hash则返回","如果两个表相同则删除旧tabl","如果为空则申请内存失败报错","如果为空则跳转值found_null设置key与hash","如果为空则跳转到found_nul","如果使用的与曾经使用的数量相同","如果使用的相同则什么都不做","如果值不为空则插入到新的table中","如果已使用的总数大于3/5则重新调整table,如果set使用的总数超过了50000则扩展为以前的2倍否则就是四倍","如果当前hash值相等","如果找到为空则直接跳转到found_unused_or_dummy处","如果找到了该值","如果找到则跳转到found_act","如果找到当前hash为空或者key为空的则跳转到found_unused_or_dummy处执行","如果找到的hash值相同","如果找到的值与传入需要设置的值相同则跳转到found_active处执行","如果是unicode,通过类型转换检查两个key的内容是否相同,如果不相同则跳转到found_active处","如果是其他类型的对象则调用比较方法去比较两个key是否相同","如果有迭代器","如果比较失败则返回","如果没有找到则获取下一个索引值","如果没有找到则返回-1","如果没有找到,则获取当前table的头部节点","如果相同","如果获取的新大小与pyset_minsize的大小相同","如果获取索引的值没有被使用则直接跳转到found_unused处执行","对象","将传入初始化的参数传入","将保存数据的头指针指向tabl","将内容更新到so中","将数据拷贝到set_lookkey中","将该key设置为dummi","就对应一个","就是保存的数据的","就是保存的数据,hash","就进行两倍扩充否则就进行四倍扩充。","已经使用可用的总量","并依次对set进行添加操作","或其它类序列的操作。","所对应的","执行下一条指令","找到entry而key为空则返回notfound","找到正常值则讲该值对应的entry设置为dummi","指令,初始化完成之后,就调用","提高key的引用计数","插入的概述如下,默认","支持","新建并初始化一个set","新申请内存","新申请的内存置空","方法如下;","方法来讲对应的","方法添加元素,调用","方法;","是否可用","是否能够被","是无序且不重复的集合,是可变的,通常用来从列表中删除重复项以及计算数学运算,如交集、并集、差分和对称差分等集合操作。set","最小的拷贝数组","来保存数据值的;","来合并集合。接下来就详细分析一下相关的操作流程。","来更新集合,通过","查找","查找该值","检查freeslot是否为空如果为空则跳转到found_unused处执行即找到了dummy位置","检查key是否为dummi","检查如果不为dummy并且key不为空的情况下","检查新申请的与就table不同","检查是否为dummi","检查是否为unicode,并比较如果不相同则跳转到found_act","检查是否可用hash如果可用则调用set_discard_entry方法","此时基本的流程就是通过传入的","此时就会调用","此时就是查找该值,如果找到该值并将该值设置为","此时继续查看","源文件:include/setobject.h","源文件:objects/setobject.c","源文件:python/ceval.c","申请该元素的内存","的","的值插入到新表中;","的值的存储是通过结构","的值,然后判断是否","的创建与初始化","的删除","的删除操作主要集中在","的执行流程可知,字典的初始化过程就是初始化相关数据结构。","的插入","的插入过程执行完毕。","的操作基本如上所述。","的数据结构如下;","的数量,从此处可知,fill","的检查,此时如果可用","的虚拟机执行函数如下;","相同并且需要重新","相同,如果相同则全部插入,如果不同,则遍历旧","示例脚本如下:","移动弹栈","类型数据,set","索引值*5","继续查看","获取so","获取下一个元素","获取传入值的hash值","获取当前entri","获取当前key","获取新table的地址","获取新的mask","获取索引对应的值","获取该值","表来实现。对应的","计算下一个索引值继续寻找","计算完成后添加值","计算索引","讲set压栈","讲不为空并且不为","设置hash值为","设置key与hash值","设置为","设置新的size","设置旧的mask","该函数主要就是做了检查","该函数主要就是检查传入的","调用key本身的方法比较","调用了","输出的字节码如下所示;","返回初始化完成的set","返回返现","返回0","通过","通过传入的hash与mask求索引下标","通过该字节码指令可知,创建","重新插入该列表该值","重置table指向新t","集合","集合(set)示例","集合概述","默认初始化为8个元素,通过table指向"],"objects/simple-interpreter/":["03","19:36:27","2019","2020","23","copyright","flaggo","gitbook该文件修订时间:","python","reserved,pow","right","©","字符串","实现简版","对象"]},"length":11},"tokenStore":{"root":{"0":{"3":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}},"4":{"1":{"2":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.004230118443316413},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.004087193460490463},"objects/set-object/":{"ref":"objects/set-object/","tf":0.007180156657963447}},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.008658008658008658},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},";":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},"{":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.011544011544011544},"objects/long-object/":{"ref":"objects/long-object/","tf":0.02961082910321489},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.005922165820642978},"objects/list-object/":{"ref":"objects/list-object/","tf":0.010973936899862825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813},"objects/set-object/":{"ref":"objects/set-object/","tf":0.00587467362924282}}},"}":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"x":{"docs":{},"f":{"docs":{},"f":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"1":{"0":{"2":{"4":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}},"6":{"0":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}},".":{"0":{"docs":{},".":{"1":{"7":{"1":{"3":{"4":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},"2":{"8":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"4":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"5":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"6":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.006357856494096276}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}},":":{"1":{"7":{"docs":{},":":{"5":{"7":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"8":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"9":{"docs":{},":":{"3":{"6":{"docs":{},":":{"2":{"7":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.029518619436875566},"objects/set-object/":{"ref":"objects/set-object/","tf":0.01370757180156658}},":":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}},")":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}},",":{"2":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"会":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"指":{"docs":{},"令":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}},"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313},"objects/list-object/":{"ref":"objects/list-object/","tf":0.013717421124828532},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0036330608537693005},"objects/set-object/":{"ref":"objects/set-object/","tf":0.006527415143603133}}},"]":{"docs":{},"不":{"docs":{},"为":{"docs":{},"零":{"docs":{},",":{"docs":{},"这":{"docs":{},"与":{"docs":{},"普":{"docs":{},"通":{"docs":{},"四":{"docs":{},"则":{"docs":{},"运":{"docs":{},"算":{"docs":{},"的":{"docs":{},"加":{"docs":{},"法":{"docs":{},"运":{"docs":{},"算":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"只":{"docs":{},"不":{"docs":{},"过":{"docs":{},"进":{"docs":{},"位":{"docs":{},"单":{"docs":{},"元":{"docs":{},"不":{"docs":{},"同":{"docs":{},"而":{"docs":{},"已":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"2":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}}},"2":{"0":{"0":{"0":{"0":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.007266121707538601}},",":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"代":{"docs":{},"码":{"docs":{},"找":{"docs":{},"到":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"docs":{}},"3":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}},"docs":{}},"1":{"7":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}},"9":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}},"2":{"0":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}},"docs":{}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"2":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},"3":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}},"4":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"5":{"7":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"6":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"8":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.010899182561307902},"objects/set-object/":{"ref":"objects/set-object/","tf":0.005221932114882507}},":":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"*":{"docs":{},"*":{"docs":{},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"*":{"docs":{},"i":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"/":{"3":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}}},"3":{"0":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},",":{"docs":{},"否":{"docs":{},"则":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"2":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"4":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"5":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"6":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"7":{"0":{"docs":{},"/":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"8":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.008174386920980926},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},".":{"6":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}},"7":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0273972602739726}},".":{"0":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"x":{"docs":{},"z":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}},"3":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}},"m":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}},"docs":{}},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"/":{"5":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{}}},"4":{"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"4":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"6":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"7":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.005449591280653951},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}}},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"5":{"0":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"4":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"7":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"8":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.003178928247048138},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"6":{"0":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"3":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"4":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}},"6":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"7":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.003178928247048138},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},"7":{"0":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"2":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"3":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"6":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"9":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}},".":{"3":{"docs":{},".":{"0":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}}},"docs":{}}},"8":{"0":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"2":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"5":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"6":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"8":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"9":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.009536784741144414}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"9":{"2":{"2":{"3":{"3":{"7":{"2":{"0":{"4":{"3":{"2":{"9":{"7":{"2":{"2":{"6":{"7":{"5":{"3":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},"docs":{},"[":{"0":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"1":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"docs":{"./":{"ref":"./","tf":0.07975460122699386},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"x":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0736196319018405}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"g":{"docs":{},"c":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.07975460122699386}}},"c":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085}},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}}}}}}},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.003178928247048138}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}}}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"g":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}},"u":{"docs":{},"r":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"u":{"docs":{},"m":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"l":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"d":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},":":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"]":{"docs":{},"*":{"docs":{},"/":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"r":{"docs":{},"s":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"+":{"docs":{},"+":{"docs":{},"来":{"docs":{},"编":{"docs":{},"写":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"模":{"docs":{},"块":{"docs":{},"扩":{"docs":{},"展":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}},"中":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}},"_":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"a":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},"(":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},"n":{"docs":{},"g":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"*":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}},"l":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.004230118443316413}}},"y":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"c":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"2":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"3":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"docs":{}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"m":{"docs":{},"p":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.003178928247048138}},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"objects/dict-object/":{"ref":"objects/dict-object/","tf":3.3369663941871024}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0027247956403269754}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"与":{"docs":{},"联":{"docs":{},"合":{"docs":{},"字":{"docs":{},"典":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"。":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"查":{"docs":{},"看":{"docs":{},"有":{"docs":{},"关":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}},"o":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"c":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"、":{"3":{"2":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}},"docs":{}},"docs":{}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"u":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}}}}}}}}}}}}}},"v":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.041666666666666664}},"e":{"docs":{},"l":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.05092592592592592}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"'":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{}}}}}}},"[":{"1":{"0":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"2":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"3":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}},"5":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"7":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"9":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{},"'":{"1":{"docs":{},"'":{"docs":{},"]":{"docs":{},"=":{"docs":{},"'":{"2":{"docs":{},"'":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{},"e":{"docs":{},"'":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"docs":{}}},"k":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.003178928247048138}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"i":{"docs":{},"x":{"docs":{},"_":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"(":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"y":{"docs":{},"(":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"申":{"docs":{},"请":{"docs":{},"到":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"讲":{"docs":{},"内":{"docs":{},"容":{"docs":{},"清":{"docs":{},"空":{"docs":{},"。":{"docs":{},"接":{"docs":{},"着":{"docs":{},"就":{"docs":{},"会":{"docs":{},"进":{"docs":{},"行":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"y":{"docs":{},":":{"docs":{},"先":{"docs":{},"前":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"将":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},";":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"从":{"docs":{},"输":{"docs":{},"出":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}}},"s":{"docs":{},")":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"=":{"docs":{},"=":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"n":{"docs":{},"d":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"x":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.016802906448683014}},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},"_":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"o":{"docs":{},"z":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}}}}},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"l":{"docs":{},"l":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"i":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"该":{"docs":{},"文":{"docs":{},"件":{"docs":{},"修":{"docs":{},"订":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}}}}}}}}}}}}},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}},"v":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}},"c":{"docs":{},"c":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}},"d":{"docs":{},"b":{"docs":{},"m":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}},"n":{"docs":{},"u":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"”":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"o":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"o":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"t":{"docs":{},"o":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503},"objects/set-object/":{"ref":"objects/set-object/","tf":0.010443864229765013}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"4":{"0":{"0":{"0":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{},"p":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"3":{"docs":{},".":{"7":{"docs":{},".":{"0":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.004541326067211626},"objects/set-object/":{"ref":"objects/set-object/","tf":0.007180156657963447}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.00587467362924282}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"值":{"docs":{},"为":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"够":{"docs":{},"被":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"l":{"docs":{},"f":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"l":{"docs":{},"p":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}},"i":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}},"s":{"1":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"(":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}},"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.027777777777777776}}},"n":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"(":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"m":{"docs":{},"p":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.010101010101010102}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"t":{"8":{"docs":{},"_":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085},"objects/long-object/":{"ref":"objects/long-object/","tf":0.00676818950930626},"objects/list-object/":{"ref":"objects/list-object/","tf":0.010973936899862825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0036330608537693005},"objects/set-object/":{"ref":"objects/set-object/","tf":0.007180156657963447}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}},"'":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}},".":{"docs":{},"_":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"_":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.004541326067211626},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},">":{"docs":{},"=":{"0":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"i":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.004541326067211626}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"2":{"docs":{},"d":{"docs":{},"c":{"2":{"docs":{},"b":{"docs":{},"a":{"5":{"docs":{},"b":{"docs":{},"b":{"2":{"docs":{},"f":{"docs":{},"b":{"1":{"docs":{},"f":{"8":{"2":{"docs":{},"]":{"docs":{},"*":{"docs":{},"/":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"docs":{}}}},"8":{"1":{"docs":{},"c":{"9":{"8":{"docs":{},"f":{"4":{"1":{"8":{"docs":{},"a":{"docs":{},"f":{"9":{"docs":{},"e":{"docs":{},"b":{"6":{"docs":{},"f":{"docs":{},"]":{"docs":{},"*":{"docs":{},"/":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"docs":{}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}},"s":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"[":{"docs":{},"i":{"docs":{},"+":{"1":{"docs":{},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"docs":{}},"]":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"+":{"1":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"docs":{}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},"=":{"0":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"docs":{}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"s":{"docs":{},":":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"s":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"_":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"x":{"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"objects/list-object/":{"ref":"objects/list-object/","tf":3.3388203017832643},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"[":{"0":{"docs":{},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"docs":{}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"会":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"与":{"docs":{},"目":{"docs":{},"标":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"比":{"docs":{},"较":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}},"s":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.006858710562414266}}},"h":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}},"b":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"3":{"docs":{},".":{"7":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"b":{"docs":{},"z":{"2":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"docs":{}}},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888}}}}},"g":{"docs":{},"d":{"docs":{},"b":{"docs":{},"m":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"3":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},",":{"docs":{},"该":{"docs":{},"静":{"docs":{},"态":{"docs":{},"库":{"docs":{},"用":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"6":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}},"docs":{}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"3":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"docs":{}}}}}},"s":{"docs":{},"l":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}},"u":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"并":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"译":{"docs":{},"安":{"docs":{},"装":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"d":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"i":{"docs":{},"v":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"o":{"docs":{},"c":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"u":{"docs":{},"l":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"z":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0027247956403269754},"objects/set-object/":{"ref":"objects/set-object/","tf":0.00587467362924282}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"m":{"docs":{},"p":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"_":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"g":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},"s":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}},"s":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"docs":{}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"3":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"docs":{}}}}}}}}},"[":{"0":{"docs":{},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"3":{"docs":{},"]":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"docs":{}}}},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"和":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"m":{"4":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.03680981595092025},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"&":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"o":{"docs":{},"s":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"'":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}},"s":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}}},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"x":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"l":{"docs":{},"d":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"u":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},".":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"r":{"docs":{},"e":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"&":{"docs":{},"d":{"docs":{},"k":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"d":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"d":{"docs":{},"k":{"docs":{},")":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"c":{"docs":{},"p":{"docs":{},"y":{"docs":{},"(":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.01226158038147139}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}}}}}}}}},"n":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.03067484662576687}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}},")":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.005922165820642978},"objects/list-object/":{"ref":"objects/list-object/","tf":0.006858710562414266},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0027247956403269754},"objects/set-object/":{"ref":"objects/set-object/","tf":0.008485639686684074}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0027247956403269754},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},",":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},";":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.005922165820642978},"objects/list-object/":{"ref":"objects/list-object/","tf":0.006858710562414266},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}}},"}":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"m":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}},"e":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"b":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"n":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"l":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"o":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"x":{"docs":{},"o":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"x":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"e":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"w":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.006858710562414266}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"e":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"e":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"e":{"docs":{},"d":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.005922165820642978}},"s":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.004230118443316413}},"s":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"+":{"1":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"docs":{}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"p":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.15950920245398773},"preface/code-organization/":{"ref":"preface/code-organization/","tf":5.113636363636363},"preface/windows-build/":{"ref":"preface/windows-build/","tf":3.45662100456621},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":3.3888888888888884},"preface/modify-code/":{"ref":"preface/modify-code/","tf":3.3758865248226946},"objects/object/":{"ref":"objects/object/","tf":5.03030303030303},"objects/long-object/":{"ref":"objects/long-object/","tf":5.001692047377326},"objects/list-object/":{"ref":"objects/list-object/","tf":3.334705075445816},"objects/dict-object/":{"ref":"objects/dict-object/","tf":3.338782924613987},"objects/set-object/":{"ref":"objects/set-object/","tf":3.3365970409051346},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":5.071428571428571}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"这":{"docs":{},"里":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}},"右":{"docs":{},"键":{"docs":{},"选":{"docs":{},"择":{"docs":{},"“":{"docs":{},"生":{"docs":{},"成":{"docs":{},"”":{"docs":{},",":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},":":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"点":{"docs":{},"击":{"docs":{},"“":{"docs":{},"确":{"docs":{},"定":{"docs":{},"”":{"docs":{},"(":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},")":{"docs":{},"。":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"c":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.005772005772005772}},"e":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.012987012987012988},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.031914893617021274},"objects/object/":{"ref":"objects/object/","tf":0.010101010101010102},"objects/long-object/":{"ref":"objects/long-object/","tf":0.016074450084602367},"objects/list-object/":{"ref":"objects/list-object/","tf":0.01783264746227709},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.01044504995458674},"objects/set-object/":{"ref":"objects/set-object/","tf":0.012402088772845953}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},",":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}},"c":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"\"":{"docs":{},"i":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"*":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"o":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"将":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"来":{"docs":{},"释":{"docs":{},"放":{"docs":{},"对":{"docs":{},"象":{"docs":{},"所":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"系":{"docs":{},"统":{"docs":{},"资":{"docs":{},"源":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0045691906005221935}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"与":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.005772005772005772},"objects/long-object/":{"ref":"objects/long-object/","tf":0.005922165820642978},"objects/list-object/":{"ref":"objects/list-object/","tf":0.012345679012345678},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.006357856494096276},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"v":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"p":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}},"b":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"q":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}},"x":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"(":{"docs":{},"*":{"docs":{},"p":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"(":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"l":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"1":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"2":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"一":{"docs":{},"一":{"docs":{},"列":{"docs":{},"举":{"docs":{},"了":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.007215007215007215},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}},"e":{"docs":{},"中":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"b":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}}}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},".":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.016074450084602367}},"*":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}},"缓":{"docs":{},"冲":{"docs":{},"池":{"docs":{},"默":{"docs":{},"认":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"8":{"0":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.007215007215007215},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"s":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"(":{"docs":{},"x":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329}}}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"o":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"本":{"docs":{},"质":{"docs":{},"与":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"默":{"docs":{},"认":{"docs":{},"我":{"docs":{},"8":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"为":{"docs":{},"7":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"&":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.007215007215007215},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.006858710562414266},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}}},"y":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"就":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.017045454545454544}}}}},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"t":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}},"c":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}},"\\":{"docs":{},"p":{"docs":{},"c":{"docs":{},"b":{"docs":{},"i":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},".":{"docs":{},"s":{"docs":{},"l":{"docs":{},"n":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},"c":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"e":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"=":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"n":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"t":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085}},"(":{"1":{"docs":{},")":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}},"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"3":{"docs":{},"]":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"docs":{}}}}}},"f":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"%":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"b":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},"_":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"当":{"docs":{},"前":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}},"e":{"docs":{},"k":{"docs":{},"(":{"2":{"docs":{},"*":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"docs":{},"i":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"n":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"索":{"docs":{},"引":{"docs":{},">":{"docs":{},"=":{"0":{"docs":{},",":{"docs":{},"键":{"docs":{},"!":{"docs":{},"=":{"docs":{},"空":{"docs":{},",":{"docs":{},"值":{"docs":{},"=":{"docs":{},"空":{"docs":{},"(":{"docs":{},"仅":{"docs":{},"拆":{"docs":{},"分":{"docs":{},")":{"docs":{},",":{"docs":{},"尚":{"docs":{},"未":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"表":{"docs":{},"中":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"e":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}}}},"(":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"g":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}},"e":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},"/":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.009306260575296108},"objects/list-object/":{"ref":"objects/list-object/","tf":0.03017832647462277},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.010899182561307902},"objects/set-object/":{"ref":"objects/set-object/","tf":0.012402088772845953}},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}},"e":{"docs":{},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"m":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"o":{"docs":{},"v":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"v":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"u":{"docs":{},"s":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}}}},"c":{"docs":{},"h":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}},"o":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"u":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.012269938650306749}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}},"i":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}},"v":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"s":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}},"t":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"objects/set-object/":{"ref":"objects/set-object/","tf":3.3450826805918186}},"u":{"docs":{},"p":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"o":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"_":{"docs":{},"a":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"3":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"本":{"docs":{},"质":{"docs":{},"都":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"更":{"docs":{},"底":{"docs":{},"层":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"4":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"docs":{}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"docs":{}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"1":{"docs":{},",":{"5":{"docs":{},"}":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"docs":{}}},"docs":{}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"3":{"docs":{},",":{"docs":{},"}":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"docs":{}}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"y":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"(":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"y":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"(":{"docs":{},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"与":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"类":{"docs":{},"似":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"看":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"函":{"docs":{},"数":{"docs":{},"上":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"示":{"docs":{},"例":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.007180156657963447}}},"y":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"。":{"docs":{},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"序":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},",":{"docs":{},"扩":{"docs":{},"充":{"docs":{},"的":{"docs":{},"原":{"docs":{},"则":{"docs":{},"就":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"当":{"docs":{},"前":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}},"f":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"h":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"d":{"docs":{},".":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.010998307952622674},"objects/list-object/":{"ref":"objects/list-object/","tf":0.009602194787379973},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813},"objects/set-object/":{"ref":"objects/set-object/","tf":0.005221932114882507}}}},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329}}}}}}},"r":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"d":{"docs":{},"j":{"docs":{},"(":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.012987012987012988},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},":":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}},"q":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"3":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}}}},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}},"i":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"b":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}},"m":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"r":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.014532243415077202},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},")":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"_":{"docs":{},"a":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"b":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}}},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.006527415143603133}},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"超":{"docs":{},"过":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"数":{"docs":{},"据":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.004230118443316413}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"[":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"[":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"s":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"[":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}},"e":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0036330608537693005}},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"2":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"7":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"docs":{}}}}}},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"s":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":3.342592592592592}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"函":{"docs":{},"数":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"e":{"docs":{},"q":{"docs":{},"(":{"docs":{},"e":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"o":{"docs":{},"n":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"u":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"没":{"docs":{},"有":{"docs":{},"插":{"docs":{},"入":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"个":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}},"s":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},">":{"5":{"0":{"0":{"0":{"0":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"6":{"4":{"docs":{},"_":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{}},"docs":{}}}},"p":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/windows-build/":{"ref":"preface/windows-build/","tf":3.3881278538812785}}}}}},"k":{"docs":{},"i":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"m":{"docs":{},"p":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"e":{"docs":{},"'":{"docs":{},"r":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"a":{"docs":{},"k":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"©":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.024539877300613498}},"个":{"docs":{},"数":{"docs":{},"加":{"docs":{},"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"加":{"docs":{},"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"个":{"docs":{},"数":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"缓":{"docs":{},"冲":{"docs":{},"池":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"总":{"docs":{},"数":{"docs":{},"加":{"docs":{},"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}},"数":{"docs":{},"加":{"docs":{},"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"量":{"docs":{},"减":{"docs":{},"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"修":{"docs":{},"改":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/modify-code/":{"ref":"preface/modify-code/","tf":3.3439716312056733}}}},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"机":{"docs":{},"制":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}},"申":{"docs":{},"请":{"docs":{},"失":{"docs":{},"败":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"为":{"docs":{},"空":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}},"部":{"docs":{},"会":{"docs":{},"用":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"各":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"之":{"docs":{},"间":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"范":{"docs":{},"型":{"docs":{},"指":{"docs":{},"针":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"试":{"docs":{},"用":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"前":{"docs":{},"置":{"docs":{},"条":{"docs":{},"件":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}},"言":{"docs":{"./":{"ref":"./","tf":10.006134969325153}}},"通":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},"安":{"docs":{},"装":{"docs":{},"以":{"docs":{},"下":{"docs":{},"库":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}},"面":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"到":{"docs":{},"了":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}},"提":{"docs":{},"到":{"docs":{},",":{"docs":{},"在":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"即":{"docs":{},"可":{"docs":{},"查":{"docs":{},"看":{"docs":{},"本":{"docs":{},"书":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}},"获":{"docs":{},"取":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}}}}}},"命":{"docs":{},"令":{"docs":{},"去":{"docs":{},"构":{"docs":{},"建":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"构":{"docs":{},"建":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.012269938650306749}}}}}}}},",":{"docs":{},"或":{"docs":{},"想":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}},"执":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"执":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}}}}}}},"为":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}}},"在":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0273972602739726},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629},"objects/object/":{"ref":"objects/object/","tf":0.007215007215007215},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"线":{"docs":{},"版":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"根":{"docs":{},"据":{"docs":{},"以":{"docs":{},"下":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"访":{"docs":{},"问":{"docs":{},"本":{"docs":{},"地":{"docs":{},"版":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"安":{"docs":{},"装":{"docs":{},"环":{"docs":{},"节":{"docs":{},"的":{"docs":{},"选":{"docs":{},"项":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"侧":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}},"的":{"docs":{},"顶":{"docs":{},"端":{"docs":{},",":{"docs":{},"右":{"docs":{},"键":{"docs":{},"选":{"docs":{},"择":{"docs":{},"“":{"docs":{},"属":{"docs":{},"性":{"docs":{},"”":{"docs":{},",":{"docs":{},"以":{"docs":{},"打":{"docs":{},"开":{"docs":{},"属":{"docs":{},"性":{"docs":{},"界":{"docs":{},"面":{"docs":{},"(":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},")":{"docs":{},"。":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"研":{"docs":{},"究":{"docs":{},"源":{"docs":{},"码":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"对":{"docs":{},"某":{"docs":{},"些":{"docs":{},"语":{"docs":{},"句":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"感":{"docs":{},"到":{"docs":{},"好":{"docs":{},"奇":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"输":{"docs":{},"出":{"docs":{},"中":{"docs":{},"间":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"三":{"docs":{},"组":{"docs":{},"操":{"docs":{},"作":{"docs":{},"族":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"中":{"docs":{},"的":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"存":{"docs":{},"放":{"docs":{},"任":{"docs":{},"何":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"可":{"docs":{},"以":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"实":{"docs":{},"际":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"*":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"项":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"是":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"学":{"docs":{},"习":{"docs":{},"之":{"docs":{},"旅":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"要":{"docs":{},"先":{"docs":{},"认":{"docs":{},"识":{"docs":{},"一":{"docs":{},"个":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"说":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"机":{"docs":{},"制":{"docs":{},"中":{"docs":{},"至":{"docs":{},"关":{"docs":{},"重":{"docs":{},"要":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"都":{"docs":{},"会":{"docs":{},"处":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"例":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"传":{"docs":{},"入":{"docs":{},"了":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"机":{"docs":{},"制":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}},"大":{"docs":{},"体":{"docs":{},"按":{"docs":{},"照":{"docs":{},"《":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}},"于":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},"致":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}}}},"典":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"对":{"docs":{},"象":{"docs":{},"操":{"docs":{},"作":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"最":{"docs":{},"大":{"docs":{},"的":{"docs":{},"容":{"docs":{},"量":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"概":{"docs":{},"述":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"的":{"docs":{},"两":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"流":{"docs":{},"程":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"插":{"docs":{},"入":{"docs":{},"与":{"docs":{},"查":{"docs":{},"找":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"操":{"docs":{},"作":{"docs":{},"测":{"docs":{},"试":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"最":{"docs":{},"佳":{"docs":{},"大":{"docs":{},"小":{"docs":{},"容":{"docs":{},"量":{"docs":{},"限":{"docs":{},"定":{"docs":{},"在":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},",":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"该":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"方":{"docs":{},"式":{"docs":{},"与":{"docs":{},"最":{"docs":{},"初":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"方":{"docs":{},"式":{"docs":{},"大":{"docs":{},"致":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}},"在":{"docs":{},"特":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"修":{"docs":{},"改":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}}},"全":{"docs":{},"套":{"docs":{},"接":{"docs":{},"字":{"docs":{},"层":{"docs":{},"密":{"docs":{},"码":{"docs":{},"库":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"简":{"docs":{},"版":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":5}}}},"了":{"docs":{},"多":{"docs":{},"态":{"docs":{},"机":{"docs":{},"制":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"际":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"是":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"就":{"docs":{},"是":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}},"对":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}},"象":{"docs":{"./":{"ref":"./","tf":0.024539877300613498},"objects/list-object/":{"ref":"objects/list-object/","tf":3.334705075445816},"objects/dict-object/":{"ref":"objects/dict-object/","tf":3.333333333333333},"objects/set-object/":{"ref":"objects/set-object/","tf":3.333333333333333},"objects/simple-interpreter/":{"ref":"objects/simple-interpreter/","tf":0.07142857142857142}},"初":{"docs":{},"探":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"objects/object/":{"ref":"objects/object/","tf":5.001443001443001}}}},":":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.007215007215007215}}},"上":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}}}}}}}}},"机":{"docs":{},"制":{"docs":{},"的":{"docs":{},"基":{"docs":{},"石":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"的":{"docs":{},"分":{"docs":{},"类":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"创":{"docs":{},"建":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"多":{"docs":{},"态":{"docs":{},"性":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"大":{"docs":{},"致":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"类":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"由":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}},"行":{"docs":{},"为":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"高":{"docs":{},"位":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"变":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"指":{"docs":{},"针":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}},"都":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"除":{"docs":{},"了":{"docs":{},"前":{"docs":{},"面":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},"那":{"docs":{},"种":{"docs":{},"分":{"docs":{},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"外":{"docs":{},",":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"为":{"docs":{},"定":{"docs":{},"长":{"docs":{},"对":{"docs":{},"象":{"docs":{},"和":{"docs":{},"变":{"docs":{},"长":{"docs":{},"对":{"docs":{},"象":{"docs":{},"这":{"docs":{},"两":{"docs":{},"种":{"docs":{},"形":{"docs":{},"式":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"赋":{"docs":{},"值":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{},"至":{"docs":{},"此":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"于":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.023148148148148147}},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"与":{"docs":{},"其":{"docs":{},"关":{"docs":{},"联":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"确":{"docs":{},"定":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"通":{"docs":{},"过":{"docs":{},"什":{"docs":{},"么":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"呢":{"docs":{},"?":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"学":{"docs":{},"者":{"docs":{},"来":{"docs":{},"说":{"docs":{},"这":{"docs":{},"么":{"docs":{},"多":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"学":{"docs":{},"?":{"docs":{},"别":{"docs":{},"着":{"docs":{},"急":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"后":{"docs":{},"续":{"docs":{},"章":{"docs":{},"节":{"docs":{},"会":{"docs":{},"解":{"docs":{},"答":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"之":{"docs":{},"后":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"是":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"希":{"docs":{},"望":{"docs":{},"各":{"docs":{},"位":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}},"序":{"docs":{},"章":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}},"列":{"docs":{},"对":{"docs":{},"象":{"docs":{},"操":{"docs":{},"作":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}},"的":{"docs":{},"系":{"docs":{},"统":{"docs":{},"上":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"好":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}},"或":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}},"者":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}},"称":{"docs":{},"为":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}},"操":{"docs":{},"作":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"其":{"docs":{},"它":{"docs":{},"类":{"docs":{},"序":{"docs":{},"列":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"如":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"运":{"docs":{},"行":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.012269938650306749}}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"指":{"docs":{},"令":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"objects/long-object/":{"ref":"objects/long-object/","tf":5.000846023688664}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"它":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}},"的":{"docs":{},"数":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"相":{"docs":{},"乘":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"加":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"本":{"docs":{},"项":{"docs":{},"目":{"docs":{},"致":{"docs":{},"力":{"docs":{},"于":{"docs":{},"对":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}},"次":{"docs":{},"示":{"docs":{},"例":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"加":{"docs":{},"载":{"docs":{},"机":{"docs":{},"制":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"组":{"docs":{},"织":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":5.005681818181818}}}}},"下":{"docs":{},"载":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}},"就":{"docs":{},"从":{"docs":{},"这":{"docs":{},"里":{"docs":{},"开":{"docs":{},"始":{"docs":{},"(":{"docs":{},"本":{"docs":{},"书":{"docs":{},"将":{"docs":{},"采":{"docs":{},"用":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"词":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},"和":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"除":{"docs":{},"此":{"docs":{},"以":{"docs":{},"外":{"docs":{},",":{"docs":{},"此":{"docs":{},"目":{"docs":{},"录":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"有":{"docs":{},"用":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},"能":{"docs":{},"够":{"docs":{},"根":{"docs":{},"据":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"码":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/modify-code/":{"ref":"preface/modify-code/","tf":3.3439716312056733}},"剖":{"docs":{},"析":{"docs":{},"》":{"docs":{},"中":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"写":{"docs":{},"。":{"docs":{},"依":{"docs":{},"次":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}}}}}}},",":{"docs":{},"编":{"docs":{},"写":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}},"基":{"docs":{},"本":{"docs":{},"信":{"docs":{},"息":{"docs":{},"、":{"docs":{},"内":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{},"和":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"机":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}}}}}},"包":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}},"执":{"docs":{},"行":{"docs":{},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}},"的":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}},"文":{"docs":{},"件":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},":":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.01015228426395939}}},"h":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.009602194787379973}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.003178928247048138}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.00587467362924282}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.010101010101010102}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"h":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}},"爱":{"docs":{},"好":{"docs":{},"者":{"docs":{},"能":{"docs":{},"参":{"docs":{},"与":{"docs":{},"其":{"docs":{},"中":{"docs":{},",":{"docs":{},"一":{"docs":{},"起":{"docs":{},"探":{"docs":{},"索":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"编":{"docs":{},"译":{"docs":{"./":{"ref":"./","tf":0.012269938650306749},"preface/windows-build/":{"ref":"preface/windows-build/","tf":3.3607305936073057},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":3.342592592592592}}}}},"准":{"docs":{},"备":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0273972602739726},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"(":{"docs":{},"准":{"docs":{},"备":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},"源":{"docs":{},"码":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"深":{"docs":{},"度":{"docs":{},"参":{"docs":{},"考":{"docs":{},"陈":{"docs":{},"儒":{"docs":{},"大":{"docs":{},"大":{"docs":{},"的":{"docs":{},"《":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}},"为":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}},"内":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"整":{"docs":{},"数":{"docs":{},"、":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"、":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"见":{"docs":{},"官":{"docs":{},"方":{"docs":{},"指":{"docs":{},"南":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}},"工":{"docs":{},"程":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"研":{"docs":{},"究":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}},"核":{"docs":{},"心":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"不":{"docs":{},"编":{"docs":{},"译":{"docs":{},"标":{"docs":{},"准":{"docs":{},"库":{"docs":{},"和":{"docs":{},"外":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"在":{"docs":{},"“":{"docs":{},"配":{"docs":{},"置":{"docs":{},"属":{"docs":{},"性":{"docs":{},"”":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}},"基":{"docs":{},"本":{"docs":{},"如":{"docs":{},"上":{"docs":{},"所":{"docs":{},"述":{"docs":{},"。":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"世":{"docs":{},"界":{"docs":{},"一":{"docs":{},"切":{"docs":{},"皆":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"不":{"docs":{},"论":{"docs":{},"是":{"docs":{},"整":{"docs":{},"数":{"docs":{},",":{"docs":{},"还":{"docs":{},"是":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"连":{"docs":{},"类":{"docs":{},"型":{"docs":{},"、":{"docs":{},"函":{"docs":{},"数":{"docs":{},"等":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"关":{"docs":{},"联":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"许":{"docs":{},"多":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"类":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"类":{"docs":{},":":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"对":{"docs":{},"象":{"docs":{},"机":{"docs":{},"制":{"docs":{},"就":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"拓":{"docs":{},"展":{"docs":{},"开":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"看":{"docs":{},"看":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"流":{"docs":{},"程":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"过":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"相":{"docs":{},"关":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"。":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"示":{"docs":{},"例":{"docs":{},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"注":{"docs":{},":":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"三":{"docs":{},"行":{"docs":{},"有":{"docs":{},"这":{"docs":{},"么":{"docs":{},"一":{"docs":{},"句":{"docs":{},"话":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"算":{"docs":{},"法":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"两":{"docs":{},"个":{"docs":{},"大":{"docs":{},"数":{"docs":{},"的":{"docs":{},"乘":{"docs":{},"法":{"docs":{},",":{"docs":{},"极":{"docs":{},"大":{"docs":{},"提":{"docs":{},"高":{"docs":{},"了":{"docs":{},"运":{"docs":{},"算":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"相":{"docs":{},"较":{"docs":{},"于":{"docs":{},"普":{"docs":{},"通":{"docs":{},"乘":{"docs":{},"法":{"docs":{},"降":{"docs":{},"低":{"docs":{},"了":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"度":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"其":{"docs":{},"中":{"docs":{},"运":{"docs":{},"用":{"docs":{},"了":{"docs":{},"递":{"docs":{},"归":{"docs":{},"的":{"docs":{},"思":{"docs":{},"想":{"docs":{},"。":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"身":{"docs":{},"影":{"docs":{},",":{"docs":{},"以":{"docs":{},"下":{"docs":{},"只":{"docs":{},"列":{"docs":{},"出":{"docs":{},"了":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"_":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"字":{"docs":{},"典":{"docs":{},"才":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},"不":{"docs":{},"能":{"docs":{},"被":{"docs":{},"重":{"docs":{},"新":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"发":{"docs":{},"生":{"docs":{},"碰":{"docs":{},"撞":{"docs":{},",":{"docs":{},"探":{"docs":{},"针":{"docs":{},"序":{"docs":{},"列":{"docs":{},"就":{"docs":{},"无":{"docs":{},"法":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"对":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"曾":{"docs":{},"是":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"的":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"工":{"docs":{},"作":{"docs":{},"已":{"docs":{},"经":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"与":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"反":{"docs":{},"汇":{"docs":{},"编":{"docs":{},"工":{"docs":{},"具":{"docs":{},"获":{"docs":{},"取":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"2":{"docs":{},"的":{"docs":{},"倍":{"docs":{},"数":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"保":{"docs":{},"存":{"docs":{},"就":{"docs":{},"是":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"就":{"docs":{},"是":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"分":{"docs":{},"离":{"docs":{},"字":{"docs":{},"典":{"docs":{},"(":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"字":{"docs":{},"典":{"docs":{},"会":{"docs":{},"立":{"docs":{},"马":{"docs":{},"再":{"docs":{},"变":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"描":{"docs":{},"述":{"docs":{},"p":{"docs":{},"e":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"方":{"docs":{},"法":{"docs":{},"集":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"就":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"集":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"会":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"间":{"docs":{},"转":{"docs":{},"换":{"docs":{},"。":{"docs":{},"基":{"docs":{},"本":{"docs":{},"上":{"docs":{},"在":{"docs":{},"如":{"docs":{},"下":{"docs":{},"四":{"docs":{},"种":{"docs":{},"状":{"docs":{},"态":{"docs":{},"中":{"docs":{},"转":{"docs":{},"换":{"docs":{},":":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"、":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"索":{"docs":{},"引":{"docs":{},"值":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"虚":{"docs":{},"拟":{"docs":{},"机":{"docs":{},"执":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"如":{"docs":{},"下":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"这":{"docs":{},"个":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"被":{"docs":{},"删":{"docs":{},"除":{"docs":{},"了":{"docs":{},"并":{"docs":{},"且":{"docs":{},"一":{"docs":{},"个":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"的":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"填":{"docs":{},"入":{"docs":{},"该":{"docs":{},"位":{"docs":{},"置":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"新":{"docs":{},"表":{"docs":{},"中":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"结":{"docs":{},"构":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"删":{"docs":{},"除":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"操":{"docs":{},"作":{"docs":{},"主":{"docs":{},"要":{"docs":{},"集":{"docs":{},"中":{"docs":{},"在":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"过":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"。":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"量":{"docs":{},",":{"docs":{},"从":{"docs":{},"此":{"docs":{},"处":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}},"讲":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"设":{"docs":{},"置":{"docs":{},"到":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"上":{"docs":{},"面":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"m":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"i":{"docs":{},"x":{"docs":{},"到":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"章":{"docs":{},"节":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}},"编":{"docs":{},"译":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0273972602739726},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"结":{"docs":{},"果":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}},"束":{"docs":{},"后":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"存":{"docs":{},"放":{"docs":{},"在":{"docs":{},"p":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\\":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"3":{"2":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"(":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{},")":{"docs":{},",":{"docs":{},"打":{"docs":{},"开":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"d":{"docs":{},"即":{"docs":{},"可":{"docs":{},"打":{"docs":{},"开":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"安":{"docs":{},"装":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}},"工":{"docs":{},"具":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}},"安":{"docs":{},"装":{"docs":{},"后":{"docs":{},"进":{"docs":{},"入":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"写":{"docs":{},"的":{"docs":{},"小":{"docs":{},"型":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}},"若":{"docs":{},"您":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}},"虚":{"docs":{},"拟":{"docs":{},"机":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}},"一":{"docs":{},"般":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}},"函":{"docs":{},"数":{"docs":{},"机":{"docs":{},"制":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}},"控":{"docs":{},"制":{"docs":{},"流":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}},"框":{"docs":{},"架":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"内":{"docs":{},"部":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{"./":{"ref":"./","tf":0.006134969325153374},"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"所":{"docs":{},"在":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}},"于":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"编":{"docs":{},"译":{"docs":{},"后":{"docs":{},"的":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}},"魔":{"docs":{},"法":{"docs":{},"背":{"docs":{},"后":{"docs":{},"的":{"docs":{},"奥":{"docs":{},"秘":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}},"(":{"docs":{},"会":{"docs":{},"自":{"docs":{},"带":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},")":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.006134969325153374}}}}}}}}}}},".":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888}}}}}}}}}}},".":{"docs":{},".":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.005772005772005772},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},".":{"docs":{},".":{"docs":{},".":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.008658008658008658}}}}}}}},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"4":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}},"docs":{}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}},"e":{"docs":{},":":{"docs":{},"当":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}},"p":{"docs":{},"t":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}},"i":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.007215007215007215}},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"利":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}},"p":{"1":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"(":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}},"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}},"l":{"docs":{},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"/":{"2":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"docs":{}}}}}}}}}},"o":{"docs":{},"l":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"b":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}}}}}}}},"d":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"i":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}},"(":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"o":{"docs":{},"f":{"docs":{},"_":{"2":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"docs":{}}}}}}}}}}}},"x":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"p":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"、":{"docs":{},"b":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},"n":{"docs":{},"y":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"o":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364},"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/long-object/":{"ref":"objects/long-object/","tf":0.008460236886632826}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},".":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.003178928247048138}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}}},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},")":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"[":{"0":{"docs":{},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},"1":{"docs":{},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"2":{"docs":{},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"i":{"docs":{},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"]":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}},"e":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},",":{"docs":{},"确":{"docs":{},"保":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"不":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"。":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"[":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"docs":{},"i":{"docs":{},"]":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},":":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"s":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},"p":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.018518518518518517}}}}}},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"u":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"=":{"docs":{},"e":{"4":{"7":{"docs":{},"c":{"docs":{},"f":{"docs":{},"e":{"7":{"7":{"7":{"docs":{},"a":{"docs":{},"b":{"0":{"docs":{},"f":{"2":{"4":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}}}},"docs":{}},"docs":{}},"f":{"0":{"8":{"7":{"docs":{},"e":{"1":{"9":{"5":{"1":{"docs":{},"a":{"5":{"docs":{},"e":{"3":{"0":{"docs":{},"d":{"1":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"l":{"docs":{},"d":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"1":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"e":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00862851952770209},"objects/set-object/":{"ref":"objects/set-object/","tf":0.008485639686684074}},"e":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"s":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"从":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"重":{"docs":{},"置":{"docs":{},"大":{"docs":{},"小":{"docs":{},"作":{"docs":{},"为":{"docs":{},"保":{"docs":{},"存":{"docs":{},"实":{"docs":{},"例":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"该":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"键":{"docs":{},"表":{"docs":{},"都":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"在":{"docs":{},"类":{"docs":{},"型":{"docs":{},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"允":{"docs":{},"许":{"docs":{},"所":{"docs":{},"有":{"docs":{},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"共":{"docs":{},"享":{"docs":{},"该":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"k":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888}}},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"m":{"docs":{},"p":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"n":{"docs":{},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.005772005772005772},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"e":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"o":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"o":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"*":{"docs":{},"/":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.005772005772005772},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.007215007215007215},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"e":{"docs":{},"w":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"i":{"docs":{},"c":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"o":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"t":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.008658008658008658},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"'":{"docs":{},"%":{"docs":{},".":{"2":{"0":{"0":{"docs":{},"s":{"docs":{},"'":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{}},"docs":{}},"docs":{}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"i":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"a":{"docs":{},"t":{"docs":{},"'":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"w":{"docs":{},"o":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},":":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"v":{"3":{"docs":{},".":{"7":{"docs":{},".":{"0":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}},"docs":{}}},"docs":{}}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"i":{"docs":{},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},";":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"l":{"docs":{},"u":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.03860127157129882}},"e":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}}}},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}}},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"入":{"docs":{},"垃":{"docs":{},"圾":{"docs":{},"回":{"docs":{},"收":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"会":{"docs":{},"删":{"docs":{},"除":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"此":{"docs":{},"之":{"docs":{},"前":{"docs":{},"也":{"docs":{},"没":{"docs":{},"有":{"docs":{},"存":{"docs":{},"储":{"docs":{},"任":{"docs":{},"何":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"y":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}},"u":{"docs":{},"m":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}}},"└":{"docs":{},"─":{"docs":{},"─":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}},"├":{"docs":{},"─":{"docs":{},"─":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.14204545454545456}}}}},"上":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"和":{"docs":{},"开":{"docs":{},"发":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}},"为":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}},"亦":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}},"其":{"docs":{},"中":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},":":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}},"为":{"docs":{},"什":{"docs":{},"么":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"输":{"docs":{},"入":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"就":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"他":{"docs":{},"情":{"docs":{},"况":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"p":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"函":{"docs":{},"数":{"docs":{},"分":{"docs":{},"配":{"docs":{},"新":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"存":{"docs":{},"储":{"docs":{},"列":{"docs":{},"表":{"docs":{},"元":{"docs":{},"素":{"docs":{},"。":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"式":{"docs":{},"为":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}},"包":{"docs":{},"含":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"以":{"docs":{},"下":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"夹":{"docs":{},")":{"docs":{},":":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}},"括":{"docs":{},"创":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{},"需":{"docs":{},"要":{"docs":{},"分":{"docs":{},"配":{"docs":{},"多":{"docs":{},"少":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"支":{"docs":{},"持":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"与":{"docs":{},"空":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"值":{"docs":{},"的":{"docs":{},"总":{"docs":{},"和":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"曾":{"docs":{},"经":{"docs":{},"申":{"docs":{},"请":{"docs":{},"过":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"。":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"和":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182},"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/long-object/":{"ref":"objects/long-object/","tf":0.004230118443316413},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"执":{"docs":{},"行":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"是":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"网":{"docs":{},"站":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"己":{"docs":{},"用":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}}},"法":{"docs":{},"删":{"docs":{},"除":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"就":{"docs":{},"是":{"docs":{},"将":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},"去":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"就":{"docs":{},"是":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"此":{"docs":{},"时":{"docs":{},"我":{"docs":{},"们":{"docs":{},"分":{"docs":{},"析":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"如":{"docs":{},"下":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"来":{"docs":{},"讲":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"添":{"docs":{},"加":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}}}}}}},"的":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}},"目":{"docs":{},"录":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.023148148148148147}},"下":{"docs":{},"则":{"docs":{},"是":{"docs":{},"存":{"docs":{},"放":{"docs":{},"一":{"docs":{},"些":{"docs":{},"对":{"docs":{},"速":{"docs":{},"度":{"docs":{},"没":{"docs":{},"有":{"docs":{},"太":{"docs":{},"严":{"docs":{},"格":{"docs":{},"要":{"docs":{},"求":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"构":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},":":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.03409090909090909}},"所":{"docs":{},"有":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}},"用":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}},"等":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"还":{"docs":{},"包":{"docs":{},"括":{"docs":{},"了":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}},"它":{"docs":{},"们":{"docs":{},"都":{"docs":{},"是":{"docs":{},"那":{"docs":{},"些":{"docs":{},"对":{"docs":{},"速":{"docs":{},"度":{"docs":{},"要":{"docs":{},"求":{"docs":{},"非":{"docs":{},"常":{"docs":{},"严":{"docs":{},"格":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"。":{"docs":{},"而":{"docs":{},"相":{"docs":{},"比":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"标":{"docs":{},"准":{"docs":{},"库":{"docs":{},",":{"docs":{},"且":{"docs":{},"都":{"docs":{},"是":{"docs":{},"用":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}},"身":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"多":{"docs":{},"次":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"值":{"docs":{},"来":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"我":{"docs":{},"们":{"docs":{},"想":{"docs":{},"要":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},";":{"docs":{},"当":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},"中":{"docs":{},"的":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.011363636363636364}}}},"。":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}},"输":{"docs":{},"入":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"而":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"设":{"docs":{},"置":{"docs":{},":":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"词":{"docs":{},"法":{"docs":{},"和":{"docs":{},"语":{"docs":{},"法":{"docs":{},"分":{"docs":{},"析":{"docs":{},"器":{"docs":{},",":{"docs":{},"与":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}},"语":{"docs":{},"法":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}},"编":{"docs":{},"写":{"docs":{},"的":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{},"{":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"}":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}}},"句":{"docs":{},"即":{"docs":{},"可":{"docs":{},"看":{"docs":{},"到":{"docs":{},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"的":{"docs":{},"结":{"docs":{},"果":{"docs":{},":":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863},"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"源":{"docs":{},"码":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{},"该":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"主":{"docs":{},"要":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},")":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"社":{"docs":{},"区":{"docs":{},"版":{"docs":{},"就":{"docs":{},"足":{"docs":{},"够":{"docs":{},"了":{"docs":{},"。":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}},"了":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"与":{"docs":{},"更":{"docs":{},"新":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"即":{"docs":{},"对":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}},"非":{"docs":{},"常":{"docs":{},"类":{"docs":{},"似":{"docs":{},"。":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}},",":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"至":{"docs":{},"页":{"docs":{},"面":{"docs":{},"最":{"docs":{},"下":{"docs":{},"方":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"载":{"docs":{"preface/code-organization/":{"ref":"preface/code-organization/","tf":0.005681818181818182}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"描":{"docs":{},"述":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},">":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}},"“":{"docs":{},"配":{"docs":{},"置":{"docs":{},"”":{"docs":{},"中":{"docs":{},"仅":{"docs":{},"勾":{"docs":{},"选":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}},">":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},">":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.004230118443316413},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0036330608537693005}}},"=":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"+":{"docs":{},"+":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"[":{"0":{"docs":{},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}}},"docs":{},"i":{"docs":{},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00676818950930626}},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"e":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}},"=":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}},"[":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"u":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.00587467362924282}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}},"m":{"docs":{},"a":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.007266121707538601}},"s":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}},"[":{"docs":{},"i":{"docs":{},"x":{"docs":{},"]":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}},"u":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"[":{"docs":{},"i":{"docs":{},"x":{"docs":{},"]":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}}}},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},"*":{"5":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.007832898172323759}},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"d":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"*":{"2":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"4":{"docs":{},")":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"docs":{}},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},">":{"5":{"0":{"0":{"0":{"0":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"w":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"位":{"docs":{},"。":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}},",":{"docs":{},"您":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"调":{"docs":{},"整":{"docs":{},"成":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}},"数":{"docs":{},"的":{"docs":{},"一":{"docs":{},"半":{"docs":{},"。":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}},"及":{"docs":{},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"微":{"docs":{},"软":{"docs":{},"的":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}},"可":{"docs":{},"完":{"docs":{},"全":{"docs":{},"通":{"docs":{},"过":{"docs":{},"界":{"docs":{},"面":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"或":{"docs":{},"复":{"docs":{},"制":{"docs":{},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{},"等":{"docs":{},"函":{"docs":{},"数":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"看":{"docs":{},"出":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"函":{"docs":{},"数":{"docs":{},"为":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"到":{"docs":{},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"数":{"docs":{},"值":{"docs":{},"操":{"docs":{},"作":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"由":{"docs":{},"于":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"限":{"docs":{},"制":{"docs":{},"无":{"docs":{},"法":{"docs":{},"一":{"docs":{},"一":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"只":{"docs":{},"分":{"docs":{},"析":{"docs":{},"整":{"docs":{},"数":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"操":{"docs":{},"作":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"加":{"docs":{},"法":{"docs":{},"运":{"docs":{},"算":{"docs":{},"函":{"docs":{},"数":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"转":{"docs":{},"变":{"docs":{},"为":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}},"见":{"docs":{},"这":{"docs":{},"个":{"docs":{},"变":{"docs":{},"化":{"docs":{},"不":{"docs":{},"是":{"docs":{},"一":{"docs":{},"蹴":{"docs":{},"而":{"docs":{},"就":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"比":{"docs":{},"较":{"docs":{},"艰":{"docs":{},"辛":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"可":{"docs":{},"以":{"docs":{},"去":{"docs":{},"挖":{"docs":{},"掘":{"docs":{},"一":{"docs":{},"下":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"减":{"docs":{},"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"的":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"数":{"docs":{},"量":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"知":{"docs":{},",":{"docs":{},"删":{"docs":{},"除":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"该":{"docs":{},"命":{"docs":{},"令":{"docs":{},"就":{"docs":{},"是":{"docs":{},"讲":{"docs":{},"'":{"1":{"docs":{},"'":{"docs":{},"作":{"docs":{},"为":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"docs":{}}}}}}}}}}},"所":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"选":{"docs":{},"择":{"docs":{},"安":{"docs":{},"装":{"docs":{},"该":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}},"来":{"docs":{},"的":{"docs":{},"用":{"docs":{},"于":{"docs":{},"支":{"docs":{},"持":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}},"在":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"必":{"docs":{},"要":{"docs":{},"环":{"docs":{},"境":{"docs":{},")":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{},"直":{"docs":{},"接":{"docs":{},"决":{"docs":{},"定":{"docs":{},"着":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"所":{"docs":{},"表":{"docs":{},"现":{"docs":{},"出":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"更":{"docs":{},"多":{"docs":{},"关":{"docs":{},"于":{"docs":{},"在":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}},"内":{"docs":{},"容":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}},"标":{"docs":{},"准":{"docs":{},"操":{"docs":{},"作":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"此":{"docs":{},"外":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},"的":{"docs":{},"编":{"docs":{},"译":{"docs":{},"设":{"docs":{},"置":{"docs":{},"是":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}}}}}}},"后":{"docs":{},"我":{"docs":{},"们":{"docs":{},"一":{"docs":{},"直":{"docs":{},"添":{"docs":{},"加":{"docs":{},"值":{"docs":{},"进":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"从":{"docs":{},"栈":{"docs":{},"中":{"docs":{},"取":{"docs":{},"出":{"docs":{},"相":{"docs":{},"关":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{},"值":{"docs":{},"传":{"docs":{},"入":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"就":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"是":{"docs":{},"查":{"docs":{},"找":{"docs":{},"该":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"该":{"docs":{},"值":{"docs":{},"并":{"docs":{},"将":{"docs":{},"该":{"docs":{},"值":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"续":{"docs":{},"查":{"docs":{},"看":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"由":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"只":{"docs":{},"是":{"docs":{},"研":{"docs":{},"究":{"docs":{"preface/windows-build/":{"ref":"preface/windows-build/","tf":0.0136986301369863}}}}}}}}}},"/":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"/":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.05092592592592592},"objects/object/":{"ref":"objects/object/","tf":0.03318903318903319},"objects/long-object/":{"ref":"objects/long-object/","tf":0.014382402707275803},"objects/list-object/":{"ref":"objects/list-object/","tf":0.013717421124828532},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.043142597638510444},"objects/set-object/":{"ref":"objects/set-object/","tf":0.06592689295039164}}},"*":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.04184704184704185},"objects/long-object/":{"ref":"objects/long-object/","tf":0.05583756345177665},"objects/list-object/":{"ref":"objects/list-object/","tf":0.006858710562414266},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.009536784741144414},"objects/set-object/":{"ref":"objects/set-object/","tf":0.013054830287206266}},"n":{"docs":{},"b":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"*":{"docs":{},"/":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"n":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},"*":{"docs":{},"/":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"i":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"*":{"docs":{},"/":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"*":{"docs":{},"/":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"*":{"docs":{},"/":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"l":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"o":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"*":{"docs":{},"/":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"x":{"docs":{},"o":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"[":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"b":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.005076142131979695}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{},"的":{"docs":{},"交":{"docs":{},"互":{"docs":{},"式":{"docs":{},"程":{"docs":{},"序":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"行":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"和":{"docs":{},"历":{"docs":{},"史":{"docs":{},"功":{"docs":{},"能":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"i":{"docs":{},"n":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"y":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}}}}}},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"z":{"docs":{},"i":{"docs":{},"p":{"2":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.018518518518518517}}},"docs":{}}}},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.02127659574468085},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00676818950930626}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}},"u":{"docs":{},"m":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"r":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503},"objects/set-object/":{"ref":"objects/set-object/","tf":0.01762402088772846}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"*":{"docs":{},"/":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"y":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},":":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"y":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"p":{"0":{"1":{"docs":{},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"docs":{}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}}},"r":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}},"z":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},":":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"x":{"docs":{},"x":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"z":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.005076142131979695}},"l":{"docs":{},"i":{"docs":{},"b":{"1":{"docs":{},"g":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.009259259259259259}}}},"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888}}}}}},"{":{"1":{"docs":{},",":{"2":{"docs":{},"}":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"docs":{}}},"2":{"0":{"0":{"0":{"0":{"docs":{},":":{"2":{"docs":{},"}":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.020202020202020204},"objects/long-object/":{"ref":"objects/long-object/","tf":0.01692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.03566529492455418},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.01952770208900999},"objects/set-object/":{"ref":"objects/set-object/","tf":0.02154046997389034}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"}":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"|":{"docs":{},"o":{"docs":{},"o":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"}":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"“":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"”":{"docs":{},",":{"docs":{},"在":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"发":{"docs":{},"行":{"docs":{},"版":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"docs":{},"包":{"docs":{},"名":{"docs":{},"称":{"docs":{},"也":{"docs":{},"不":{"docs":{},"尽":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"空":{"docs":{},"并":{"docs":{},"且":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"出":{"docs":{},"现":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},",":{"docs":{},"保":{"docs":{},"存":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},",":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"支":{"docs":{},"持":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"记":{"docs":{},"录":{"docs":{},"元":{"docs":{},"素":{"docs":{},"位":{"docs":{},"置":{"docs":{},"或":{"docs":{},"者":{"docs":{},"插":{"docs":{},"入":{"docs":{},"点":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"通":{"docs":{},"常":{"docs":{},"已":{"docs":{},"具":{"docs":{},"备":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}},"打":{"docs":{},"印":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},":":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"原":{"docs":{},"生":{"docs":{},"字":{"docs":{},"符":{"docs":{},"数":{"docs":{},"组":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"出":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"(":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{},"对":{"docs":{},"象":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"而":{"docs":{},"这":{"docs":{},"些":{"docs":{},"内":{"docs":{},"容":{"docs":{},"就":{"docs":{},"定":{"docs":{},"义":{"docs":{},"在":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"东":{"docs":{},"西":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"大":{"docs":{},"量":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"内":{"docs":{},"存":{"docs":{},"对":{"docs":{},"象":{"docs":{},"池":{"docs":{},"的":{"docs":{},"技":{"docs":{},"术":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"对":{"docs":{},"象":{"docs":{},"释":{"docs":{},"放":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"归":{"docs":{},"还":{"docs":{},"给":{"docs":{},"内":{"docs":{},"存":{"docs":{},"池":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"使":{"docs":{},"用":{"docs":{},"可":{"docs":{},"先":{"docs":{},"从":{"docs":{},"对":{"docs":{},"象":{"docs":{},"池":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"指":{"docs":{},"针":{"docs":{},"。":{"docs":{},"这":{"docs":{},"些":{"docs":{},"函":{"docs":{},"数":{"docs":{},"指":{"docs":{},"针":{"docs":{},"可":{"docs":{},"以":{"docs":{},"视":{"docs":{},"为":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"中":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"几":{"docs":{},"个":{"docs":{},"有":{"docs":{},"用":{"docs":{},"的":{"docs":{},"宏":{"docs":{},":":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"通":{"docs":{},"过":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"将":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"、":{"docs":{},"类":{"docs":{},"型":{"docs":{},"信":{"docs":{},"息":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"此":{"docs":{},"时":{"docs":{},"查":{"docs":{},"看":{"docs":{},"该":{"docs":{},"执":{"docs":{},"行":{"docs":{},"函":{"docs":{},"数":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"不":{"docs":{},"插":{"docs":{},"入":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"索":{"docs":{},"引":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"值":{"docs":{},"且":{"docs":{},"值":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"则":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"从":{"docs":{},"该":{"docs":{},"索":{"docs":{},"引":{"docs":{},"往":{"docs":{},"后":{"docs":{},"9":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"找":{"docs":{},"到":{"docs":{},"有":{"docs":{},"空":{"docs":{},"余":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"该":{"docs":{},"值":{"docs":{},"设":{"docs":{},"置":{"docs":{},"进":{"docs":{},"去":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"该":{"docs":{},"值":{"docs":{},"之":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"占":{"docs":{},"总":{"docs":{},"的":{"docs":{},"申":{"docs":{},"请":{"docs":{},"数":{"docs":{},"量":{"docs":{},"超":{"docs":{},"过":{"docs":{},"了":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"删":{"docs":{},"除":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"该":{"docs":{},"值":{"docs":{},",":{"docs":{},"而":{"docs":{},"只":{"docs":{},"是":{"docs":{},"将":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"添":{"docs":{},"加":{"docs":{},"内":{"docs":{},"容":{"docs":{},"时":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"代":{"docs":{},"表":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}},"再":{"docs":{},"执":{"docs":{},"行":{"docs":{},"本":{"docs":{},"节":{"docs":{},"开":{"docs":{},"头":{"docs":{},"处":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}},"压":{"docs":{},"缩":{"docs":{},"、":{"docs":{},"解":{"docs":{},"压":{"docs":{},"相":{"docs":{},"关":{"docs":{},"库":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}},"库":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"解":{"docs":{},"压":{"docs":{},"工":{"docs":{},"具":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}},"发":{"docs":{},"行":{"docs":{},"版":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"有":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"库":{"docs":{},"未":{"docs":{},"安":{"docs":{},"装":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{},"安":{"docs":{},"装":{"docs":{},"上":{"docs":{},"一":{"docs":{},"小":{"docs":{},"节":{"docs":{},"提":{"docs":{},"及":{"docs":{},"的":{"docs":{},"库":{"docs":{},"外":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"缺":{"docs":{},"失":{"docs":{},"库":{"docs":{},"可":{"docs":{},"根":{"docs":{},"据":{"docs":{},"情":{"docs":{},"况":{"docs":{},"自":{"docs":{},"行":{"docs":{},"安":{"docs":{},"装":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"图":{"docs":{},"形":{"docs":{},"用":{"docs":{},"户":{"docs":{},"界":{"docs":{},"面":{"docs":{},"开":{"docs":{},"发":{"docs":{},"工":{"docs":{},"具":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}},"如":{"docs":{},"需":{"docs":{},"重":{"docs":{},"新":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"请":{"docs":{},"首":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"。":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}},"果":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"相":{"docs":{},"同":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"则":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"处":{"docs":{},"执":{"docs":{},"行":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"有":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"是":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"重":{"docs":{},"置":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"为":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"的":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}},"能":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"证":{"docs":{},"明":{"docs":{},"找":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"失":{"docs":{},"败":{"docs":{},"报":{"docs":{},"错":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"跳":{"docs":{},"转":{"docs":{},"值":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"设":{"docs":{},"置":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"与":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}},"新":{"docs":{},"建":{"docs":{},"失":{"docs":{},"败":{"docs":{},"则":{"docs":{},"报":{"docs":{},"错":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"是":{"docs":{},"分":{"docs":{},"离":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"类":{"docs":{},"型":{"docs":{},"转":{"docs":{},"换":{"docs":{},"检":{"docs":{},"查":{"docs":{},"两":{"docs":{},"个":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"是":{"docs":{},"否":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"处":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"比":{"docs":{},"较":{"docs":{},"方":{"docs":{},"法":{"docs":{},"去":{"docs":{},"比":{"docs":{},"较":{"docs":{},"两":{"docs":{},"个":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"否":{"docs":{},"相":{"docs":{},"同":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"则":{"docs":{},"是":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"数":{"docs":{},"据":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"迭":{"docs":{},"代":{"docs":{},"器":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"错":{"docs":{},"误":{"docs":{},"就":{"docs":{},"报":{"docs":{},"错":{"docs":{},"处":{"docs":{},"理":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"开":{"docs":{},"始":{"docs":{},"查":{"docs":{},"找":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"两":{"docs":{},"个":{"docs":{},"表":{"docs":{},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"删":{"docs":{},"除":{"docs":{},"旧":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"与":{"docs":{},"曾":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{},"相":{"docs":{},"同":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"什":{"docs":{},"么":{"docs":{},"都":{"docs":{},"不":{"docs":{},"做":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"值":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{},"新":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"中":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}},"已":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"总":{"docs":{},"数":{"docs":{},"大":{"docs":{},"于":{"3":{"docs":{},"/":{"5":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"调":{"docs":{},"整":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"总":{"docs":{},"数":{"docs":{},"超":{"docs":{},"过":{"docs":{},"了":{"5":{"0":{"0":{"0":{"0":{"docs":{},"则":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"为":{"docs":{},"以":{"docs":{},"前":{"docs":{},"的":{"docs":{},"2":{"docs":{},"倍":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"是":{"docs":{},"四":{"docs":{},"倍":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"相":{"docs":{},"等":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"处":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"该":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"则":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"为":{"docs":{},"空":{"docs":{},"或":{"docs":{},"者":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"则":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"处":{"docs":{},"执":{"docs":{},"行":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"相":{"docs":{},"同":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"值":{"docs":{},"与":{"docs":{},"传":{"docs":{},"入":{"docs":{},"需":{"docs":{},"要":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"值":{"docs":{},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"处":{"docs":{},"执":{"docs":{},"行":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"比":{"docs":{},"较":{"docs":{},"失":{"docs":{},"败":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"找":{"docs":{},"到":{"docs":{},"则":{"docs":{},"获":{"docs":{},"取":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"索":{"docs":{},"引":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"-":{"docs":{},"1":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},",":{"docs":{},"则":{"docs":{},"获":{"docs":{},"取":{"docs":{},"当":{"docs":{},"前":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"头":{"docs":{},"部":{"docs":{},"节":{"docs":{},"点":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"同":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"新":{"docs":{},"大":{"docs":{},"小":{"docs":{},"与":{"docs":{},"p":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"相":{"docs":{},"同":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}},"索":{"docs":{},"引":{"docs":{},"的":{"docs":{},"值":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"使":{"docs":{},"用":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"处":{"docs":{},"执":{"docs":{},"行":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"图":{"docs":{},"所":{"docs":{},"示":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.013888888888888888}},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"文":{"docs":{},"件":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}},"帮":{"docs":{},"助":{"docs":{},"等":{"docs":{},"文":{"docs":{},"件":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}},"将":{"docs":{},"会":{"docs":{},"被":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"并":{"docs":{},"安":{"docs":{},"装":{"docs":{},"在":{"docs":{},"默":{"docs":{},"认":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"。":{"docs":{},"若":{"docs":{},"您":{"docs":{},"希":{"docs":{},"望":{"docs":{},"将":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}}}}}}},"元":{"docs":{},"素":{"docs":{},"插":{"docs":{},"入":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"尾":{"docs":{},"部":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}},"指":{"docs":{},"定":{"docs":{},"位":{"docs":{},"置":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}},"要":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"都":{"docs":{},"往":{"docs":{},"后":{"docs":{},"移":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"置":{"docs":{},"空":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"该":{"docs":{},"值":{"docs":{},"赋":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"传":{"docs":{},"入":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"头":{"docs":{},"指":{"docs":{},"针":{"docs":{},"指":{"docs":{},"向":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{},"更":{"docs":{},"新":{"docs":{},"到":{"docs":{},"s":{"docs":{},"o":{"docs":{},"中":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"中":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"系":{"docs":{},"统":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}},"整":{"docs":{},"数":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"对":{"docs":{},"象":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"常":{"docs":{},"规":{"docs":{},"操":{"docs":{},"作":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"库":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}},"操":{"docs":{},"作":{"docs":{},"库":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"到":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"软":{"docs":{},"件":{"docs":{},"库":{"docs":{},",":{"docs":{},"它":{"docs":{},"为":{"docs":{},"使":{"docs":{},"用":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"界":{"docs":{},"面":{"docs":{},"(":{"docs":{},"如":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}},"变":{"docs":{},"长":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"动":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"3":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},".":{"docs":{},"s":{"docs":{},"o":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"修":{"docs":{},"改":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"链":{"docs":{},"接":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"3":{"docs":{},".":{"7":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},")":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"希":{"docs":{},"望":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}},"怎":{"docs":{},"么":{"docs":{},"与":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"变":{"docs":{},"长":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"由":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"否":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"就":{"docs":{},"选":{"docs":{},"择":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"k":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"能":{"docs":{},"够":{"docs":{},"被":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"无":{"docs":{},"序":{"docs":{},"且":{"docs":{},"不":{"docs":{},"重":{"docs":{},"复":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"是":{"docs":{},"可":{"docs":{},"变":{"docs":{},"的":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"来":{"docs":{},"从":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"删":{"docs":{},"除":{"docs":{},"重":{"docs":{},"复":{"docs":{},"项":{"docs":{},"以":{"docs":{},"及":{"docs":{},"计":{"docs":{},"算":{"docs":{},"数":{"docs":{},"学":{"docs":{},"运":{"docs":{},"算":{"docs":{},",":{"docs":{},"如":{"docs":{},"交":{"docs":{},"集":{"docs":{},"、":{"docs":{},"并":{"docs":{},"集":{"docs":{},"、":{"docs":{},"差":{"docs":{},"分":{"docs":{},"和":{"docs":{},"对":{"docs":{},"称":{"docs":{},"差":{"docs":{},"分":{"docs":{},"等":{"docs":{},"集":{"docs":{},"合":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"标":{"docs":{},"准":{"docs":{},"库":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}},"类":{"docs":{},"方":{"docs":{},"法":{"docs":{},"集":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"跨":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}},"较":{"docs":{},"为":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},":":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"编":{"docs":{},"译":{"docs":{},"的":{"docs":{"preface/unix-linux-build/":{"ref":"preface/unix-linux-build/","tf":0.004629629629629629}}}}}}}}},"的":{"docs":{},"小":{"docs":{},"整":{"docs":{},"数":{"docs":{},"范":{"docs":{},"围":{"docs":{},"是":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"为":{"8":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"指":{"docs":{},"向":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},"docs":{}}}}}}},"&":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0045691906005221935}},"&":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0036330608537693005},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0045691906005221935}}},"v":{"docs":{},",":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}}}}}},"=":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"1":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"x":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"d":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"e":{"docs":{},"p":{"0":{"docs":{},"[":{"docs":{},"i":{"docs":{},"x":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"docs":{}}},"s":{"docs":{},"o":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"[":{"docs":{},"i":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"'":{"2":{"docs":{},"'":{"docs":{},"作":{"docs":{},"为":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"docs":{},"i":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}},"%":{"docs":{},".":{"2":{"0":{"0":{"docs":{},"s":{"docs":{},"'":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"docs":{}},"docs":{}},"docs":{}}}},"(":{"0":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"1":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}},"2":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"3":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},"4":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"5":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"9":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"a":{"docs":{},"a":{"docs":{},",":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"i":{"docs":{},"i":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"i":{"docs":{},"x":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"s":{"docs":{},"o":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"*":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}},"n":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"d":{"docs":{},"d":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"r":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"m":{"docs":{},"p":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}},"_":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},")":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"*":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"2":{"docs":{},"(":{"docs":{},"&":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"!":{"docs":{},"_":{"docs":{},"p":{"docs":{},"y":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"z":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},";":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"(":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}}},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"k":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},".":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"i":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"t":{"8":{"docs":{},"_":{"docs":{},"t":{"docs":{},"*":{"docs":{},")":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"r":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"*":{"5":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}},"x":{"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503}}},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"o":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"n":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.006858710562414266},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}},"u":{"docs":{},"m":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"o":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}},"p":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"z":{"docs":{},"e":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"_":{"docs":{},"a":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},"t":{"docs":{},")":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"s":{"docs":{},"o":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"e":{"docs":{},"e":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"_":{"docs":{},"a":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},")":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"v":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"v":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"z":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"'":{"1":{"docs":{},"'":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}}}},"2":{"docs":{},"'":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"docs":{},"e":{"docs":{},"'":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"e":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},"r":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.007180156657963447}}}}}}},"j":{"docs":{},"=":{"0":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"m":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"a":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.002270663033605813}}}},"w":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"v":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"*":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.009306260575296108},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0205761316872428},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.005449591280653951},"objects/set-object/":{"ref":"objects/set-object/","tf":0.007180156657963447}},"a":{"docs":{},"a":{"docs":{},")":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"r":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"n":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"f":{"docs":{},"p":{"docs":{},",":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},",":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}},",":{"docs":{},"它":{"docs":{},"指":{"docs":{},"向":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"就":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"e":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"l":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125}}}}},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"u":{"docs":{},"b":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"o":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0039164490861618795}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"v":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},";":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"a":{"docs":{},"a":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"n":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}},",":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"s":{"docs":{},"o":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"/":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.04040404040404041},"objects/long-object/":{"ref":"objects/long-object/","tf":0.06937394247038917},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0054869684499314125},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.009082652134423252},"objects/set-object/":{"ref":"objects/set-object/","tf":0.01174934725848564}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"的":{"docs":{},"分":{"docs":{},"析":{"docs":{},"与":{"docs":{},"p":{"docs":{},"y":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}},"m":{"docs":{},"p":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"*":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"p":{"docs":{},"_":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"p":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"*":{"docs":{},"*":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"m":{"docs":{},"a":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"s":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"b":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}},"k":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"s":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}}},"s":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"x":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},"z":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}}}}}}},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"*":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"d":{"docs":{},"k":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"e":{"docs":{},"p":{"0":{"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"r":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}},"m":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"a":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"e":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"p":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}},"=":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.015873015873015872},"objects/long-object/":{"ref":"objects/long-object/","tf":0.04230118443316413},"objects/list-object/":{"ref":"objects/list-object/","tf":0.04801097393689986},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.033151680290644865},"objects/set-object/":{"ref":"objects/set-object/","tf":0.044386422976501305}},"=":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/long-object/":{"ref":"objects/long-object/","tf":0.009306260575296108},"objects/list-object/":{"ref":"objects/list-object/","tf":0.013717421124828532},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.01044504995458674},"objects/set-object/":{"ref":"objects/set-object/","tf":0.01762402088772846}}}},"}":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425},"objects/object/":{"ref":"objects/object/","tf":0.010101010101010102},"objects/long-object/":{"ref":"objects/long-object/","tf":0.016074450084602367},"objects/list-object/":{"ref":"objects/list-object/","tf":0.03155006858710562},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.018619436875567667},"objects/set-object/":{"ref":"objects/set-object/","tf":0.024804177545691905}},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.008658008658008658},"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},"函":{"docs":{},"数":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},"的":{"docs":{},"前":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"执":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"过":{"docs":{},"程":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"种":{"docs":{},"快":{"docs":{},"速":{"docs":{},"乘":{"docs":{},"法":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"调":{"docs":{},"整":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"就":{"docs":{},"是":{"docs":{},"用":{"docs":{},"于":{"docs":{},"调":{"docs":{},"节":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},"设":{"docs":{},"置":{"docs":{},"值":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"将":{"docs":{},"值":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"则":{"docs":{},"将":{"docs":{},"转":{"docs":{},"换":{"docs":{},"好":{"docs":{},"的":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"对":{"docs":{},"象":{"docs":{},"打":{"docs":{},"印":{"docs":{},"至":{"docs":{},"我":{"docs":{},"们":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"输":{"docs":{},"出":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"设":{"docs":{},"置":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"也":{"docs":{},"不":{"docs":{},"做":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"被":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"继":{"docs":{},"续":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"设":{"docs":{},"置":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"重":{"docs":{},"新":{"docs":{},"扩":{"docs":{},"充":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"在":{"docs":{},"解":{"docs":{},"释":{"docs":{},"器":{"docs":{},"交":{"docs":{},"互":{"docs":{},"界":{"docs":{},"面":{"docs":{},"中":{"docs":{},"打":{"docs":{},"印":{"docs":{},"整":{"docs":{},"数":{"docs":{},"值":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"输":{"docs":{},"出":{"docs":{},"一":{"docs":{},"段":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},",":{"docs":{},"则":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"修":{"docs":{},"改":{"docs":{},"如":{"docs":{},"下":{"docs":{},"函":{"docs":{},"数":{"docs":{},":":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"把":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}},"行":{"docs":{},"为":{"docs":{},"我":{"docs":{},"们":{"docs":{},"加":{"docs":{},"入":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},":":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}}}}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"这":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"借":{"docs":{},"助":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}},"两":{"docs":{},"个":{"docs":{},"宏":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"些":{"docs":{},"宏":{"docs":{},"在":{"docs":{},"各":{"docs":{},"种":{"docs":{},"内":{"docs":{},"建":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"中":{"docs":{},"被":{"docs":{},"大":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"体":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"还":{"docs":{},"包":{"docs":{},"含":{"docs":{},"大":{"docs":{},"量":{"docs":{},"的":{"docs":{},"元":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"指":{"docs":{},"针":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"处":{"docs":{},"理":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"简":{"docs":{},"化":{"docs":{},"为":{"docs":{},"做":{"docs":{},"三":{"docs":{},"次":{"docs":{},"乘":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"附":{"docs":{},"带":{"docs":{},"少":{"docs":{},"量":{"docs":{},"的":{"docs":{},"加":{"docs":{},"法":{"docs":{},"操":{"docs":{},"作":{"docs":{},"和":{"docs":{},"移":{"docs":{},"位":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}},"里":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"重":{"docs":{},"新":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},",":{"docs":{},"在":{"docs":{"preface/modify-code/":{"ref":"preface/modify-code/","tf":0.010638297872340425}}}}}}}},"改":{"docs":{},"变":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"它":{"docs":{},"会":{"docs":{},"立":{"docs":{},"马":{"docs":{},"改":{"docs":{},"变":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"该":{"docs":{},"列":{"docs":{},"表":{"docs":{},"该":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"置":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"指":{"docs":{},"向":{"docs":{},"新":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"!":{"docs":{},"=":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.004541326067211626},"objects/set-object/":{"ref":"objects/set-object/","tf":0.008485639686684074}}},"p":{"docs":{},"y":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},".":{"docs":{},"\"":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"(":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"\"":{"docs":{},"\"":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},":":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"\"":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0013623978201634877}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"#":{"2":{"2":{"6":{"5":{"3":{"docs":{},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00411522633744856}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.011544011544011544},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"e":{"docs":{},"l":{"docs":{},"s":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.004230118443316413},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}},"i":{"docs":{},"f":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}},"\\":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.024531024531024532},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.005772005772005772}}}}}}}},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"_":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"(":{"docs":{},"_":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886}}}}}}}},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"_":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329}}}}}}}}}}}},"g":{"docs":{},"c":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},")":{"docs":{},";":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"(":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},")":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"_":{"docs":{},"e":{"docs":{},"q":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"(":{"docs":{},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},")":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.005772005772005772}},"代":{"docs":{},"码":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"[":{"docs":{},"]":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"_":{"docs":{},"e":{"docs":{},"q":{"docs":{},"_":{"docs":{},"_":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}}}}}}}}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"a":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},"y":{"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.021798365122615803},"objects/set-object/":{"ref":"objects/set-object/","tf":0.005221932114882507}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0026109660574412533}},")":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}},")":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.004087193460490463},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0019582245430809398}}},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"e":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"s":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"[":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"。":{"docs":{},"当":{"docs":{},"出":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},"将":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"进":{"docs":{},"行":{"docs":{},"改":{"docs":{},"变":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"个":{"docs":{},"别":{"docs":{},"字":{"docs":{},"典":{"docs":{},"将":{"docs":{},"慢":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"转":{"docs":{},"化":{"docs":{},"成":{"docs":{},"组":{"docs":{},"合":{"docs":{},"表":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"在":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"很":{"docs":{},"高":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"利":{"docs":{},"用":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"并":{"docs":{},"保":{"docs":{},"证":{"docs":{},"了":{"docs":{},"在":{"docs":{},"各":{"docs":{},"个":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"的":{"docs":{},"正":{"docs":{},"确":{"docs":{},"性":{"docs":{},"。":{"docs":{},"当":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"详":{"docs":{},"细":{"docs":{},"分":{"docs":{},"析":{"docs":{},"一":{"docs":{},"下":{"docs":{},"相":{"docs":{},"关":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"字":{"docs":{},"典":{"docs":{},"如":{"docs":{},"下":{"docs":{},"所":{"docs":{},"示":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}},"一":{"docs":{},"个":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"用":{"docs":{},"于":{"docs":{},"垃":{"docs":{},"圾":{"docs":{},"回":{"docs":{},"收":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"变":{"docs":{},"量":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"指":{"docs":{},"针":{"docs":{},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"数":{"docs":{},"的":{"docs":{},"绝":{"docs":{},"对":{"docs":{},"值":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}},"些":{"docs":{},"对":{"docs":{},"象":{"docs":{},"属":{"docs":{},"性":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"整":{"docs":{},"数":{"docs":{},"在":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"就":{"docs":{},"会":{"docs":{},"被":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"直":{"docs":{},"留":{"docs":{},"存":{"docs":{},",":{"docs":{},"当":{"docs":{},"再":{"docs":{},"次":{"docs":{},"使":{"docs":{},"用":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"小":{"docs":{},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{},"池":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"。":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"堆":{"docs":{},"方":{"docs":{},"法":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"函":{"docs":{},"数":{"docs":{},"和":{"docs":{},"指":{"docs":{},"针":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"下":{"docs":{},"图":{"docs":{},"是":{"docs":{},"对":{"docs":{},"象":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"图":{"docs":{},"像":{"docs":{},"表":{"docs":{},"现":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}},"与":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"类":{"docs":{},"型":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"如":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"普":{"docs":{},"通":{"docs":{},"四":{"docs":{},"则":{"docs":{},"运":{"docs":{},"算":{"docs":{},"减":{"docs":{},"法":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"数":{"docs":{},"不":{"docs":{},"够":{"docs":{},"大":{"docs":{},"则":{"docs":{},"向":{"docs":{},"高":{"docs":{},"一":{"docs":{},"位":{"docs":{},"借":{"docs":{},"位":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"求":{"docs":{},"和":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"为":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313}},"了":{"docs":{},"方":{"docs":{},"便":{"docs":{},"对":{"docs":{},"这":{"docs":{},"部":{"docs":{},"分":{"docs":{},"内":{"docs":{},"存":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"会":{"docs":{},"先":{"docs":{},"检":{"docs":{},"查":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"池":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"空":{"docs":{},"间":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"8":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"就":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"依":{"docs":{},"靠":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"是":{"docs":{},"检":{"docs":{},"查":{"docs":{},"是":{"docs":{},"否":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"间":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"超":{"docs":{},"过":{"docs":{},"这":{"docs":{},"个":{"docs":{},"阈":{"docs":{},"值":{"docs":{},"则":{"docs":{},"字":{"docs":{},"典":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"扩":{"docs":{},"容":{"docs":{},",":{"docs":{},"扩":{"docs":{},"容":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"详":{"docs":{},"细":{"docs":{},"查":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"p":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"比":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"多":{"docs":{},"出":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"元":{"docs":{},"素":{"docs":{},"个":{"docs":{},"数":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"1":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"追":{"docs":{},"加":{"docs":{},"元":{"docs":{},"素":{"docs":{},"操":{"docs":{},"作":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"i":{"docs":{},"n":{"docs":{},"s":{"1":{"docs":{},"代":{"docs":{},"码":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{},"出":{"docs":{},"插":{"docs":{},"入":{"docs":{},"元":{"docs":{},"素":{"docs":{},"操":{"docs":{},"作":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{},"如":{"docs":{},"下":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}},"docs":{}}}},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"是":{"docs":{},"从":{"docs":{},"_":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"出":{"docs":{},"内":{"docs":{},"容":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},"随":{"docs":{},"之":{"docs":{},"改":{"docs":{},"变":{"docs":{},"了":{"docs":{},",":{"docs":{},"这":{"docs":{},"也":{"docs":{},"说":{"docs":{},"明":{"docs":{},"了":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"的":{"docs":{},"看":{"docs":{},"到":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"和":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"是":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"但":{"docs":{},"这":{"docs":{},"并":{"docs":{},"不":{"docs":{},"意":{"docs":{},"味":{"docs":{},"着":{"docs":{},"最":{"docs":{},"终":{"docs":{},"一":{"docs":{},"定":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}},"是":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"数":{"docs":{},"量":{"docs":{},"未":{"docs":{},"变":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},",":{"6":{"4":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"docs":{}},"docs":{},"那":{"docs":{},"么":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"由":{"docs":{},"谁":{"docs":{},"决":{"docs":{},"定":{"docs":{},"的":{"docs":{},"呢":{"docs":{},"?":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"比":{"docs":{},"如":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"对":{"docs":{},"象":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}},"时":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{},"大":{"docs":{},"小":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"即":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"的":{"docs":{},"是":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"函":{"docs":{},"数":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"输":{"docs":{},"出":{"docs":{},"如":{"docs":{},"上":{"docs":{},"所":{"docs":{},"示":{"docs":{},"内":{"docs":{},"容":{"docs":{},";":{"docs":{},"我":{"docs":{},"们":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"继":{"docs":{},"续":{"docs":{},"操":{"docs":{},"作":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"为":{"docs":{},"0":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"为":{"docs":{},"空":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"到":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"底":{"docs":{},"长":{"docs":{},"什":{"docs":{},"么":{"docs":{},"样":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"进":{"docs":{},"行":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"而":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}},"双":{"docs":{},"向":{"docs":{},"链":{"docs":{},"表":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"变":{"docs":{},"量":{"docs":{},"来":{"docs":{},"维":{"docs":{},"护":{"docs":{},"这":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"也":{"docs":{},"与":{"docs":{},"此":{"docs":{},"类":{"docs":{},"似":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"维":{"docs":{},"护":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"最":{"docs":{},"终":{"docs":{},"决":{"docs":{},"定":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"与":{"docs":{},"销":{"docs":{},"毁":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"长":{"docs":{},"对":{"docs":{},"象":{"docs":{},"都":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}},"垃":{"docs":{},"圾":{"docs":{},"回":{"docs":{},"收":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"域":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"值":{"docs":{},"对":{"docs":{},"象":{"docs":{},"该":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"数":{"docs":{},"值":{"docs":{},"对":{"docs":{},"象":{"docs":{},"如":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"宏":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"源":{"docs":{},"码":{"docs":{},"可":{"docs":{},"知":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"长":{"docs":{},"对":{"docs":{},"象":{"docs":{},"与":{"docs":{},"变":{"docs":{},"长":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}},"容":{"docs":{},"纳":{"docs":{},"其":{"docs":{},"他":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"集":{"docs":{},"合":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"器":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}},"就":{"docs":{},"指":{"docs":{},"定":{"docs":{},"了":{"docs":{},"它":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"法":{"docs":{},"操":{"docs":{},"作":{"docs":{},"时":{"docs":{},"的":{"docs":{},"具":{"docs":{},"体":{"docs":{},"行":{"docs":{},"为":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},"是":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}},"哈":{"docs":{},"希":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"值":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"根":{"docs":{},"据":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"记":{"docs":{},"录":{"docs":{},"了":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"该":{"docs":{},"处":{"docs":{},"未":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"进":{"docs":{},"行":{"docs":{},"两":{"docs":{},"倍":{"docs":{},"扩":{"docs":{},"充":{"docs":{},"否":{"docs":{},"则":{"docs":{},"就":{"docs":{},"进":{"docs":{},"行":{"docs":{},"四":{"docs":{},"倍":{"docs":{},"扩":{"docs":{},"充":{"docs":{},"。":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"立":{"docs":{},"联":{"docs":{},"系":{"docs":{},"的":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.002886002886002886},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"我":{"docs":{},"们":{"docs":{},"不":{"docs":{},"知":{"docs":{},"道":{"docs":{},"这":{"docs":{},"个":{"docs":{},"指":{"docs":{},"针":{"docs":{},"所":{"docs":{},"指":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"是":{"docs":{},"什":{"docs":{},"么":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"所":{"docs":{},"指":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"指":{"docs":{},"针":{"docs":{},",":{"docs":{},"决":{"docs":{},"定":{"docs":{},"了":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}},"明":{"docs":{},"了":{"docs":{},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"对":{"docs":{},"象":{"docs":{},"如":{"docs":{},"何":{"docs":{},"生":{"docs":{},"成":{"docs":{},"其":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"。":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}},"针":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}},"令":{"docs":{},",":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"就":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"我":{"docs":{},"们":{"docs":{},"看":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"一":{"docs":{},"下":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}},"数":{"docs":{},"值":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},"操":{"docs":{},"作":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"中":{"docs":{},"移":{"docs":{},"除":{"docs":{},"了":{"docs":{},"该":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"组":{"docs":{},"的":{"docs":{},"低":{"docs":{},"位":{"docs":{},"开":{"docs":{},"始":{"docs":{},"依":{"docs":{},"次":{"docs":{},"按":{"docs":{},"位":{"docs":{},"相":{"docs":{},"加":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"分":{"docs":{},"配":{"docs":{},"内":{"docs":{},"存":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"只":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"来":{"docs":{},"增":{"docs":{},"加":{"docs":{},"和":{"docs":{},"减":{"docs":{},"少":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"。":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"减":{"docs":{},"少":{"docs":{},"到":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},",":{"docs":{},"接":{"docs":{},"着":{"docs":{},"就":{"docs":{},"对":{"docs":{},"新":{"docs":{},"建":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"如":{"docs":{},"下":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"数":{"docs":{},"据":{"docs":{},"值":{"docs":{},"的":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"集":{"docs":{},"合":{"docs":{},"。":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"就":{"docs":{},"详":{"docs":{},"细":{"docs":{},"分":{"docs":{},"析":{"docs":{},"一":{"docs":{},"下":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"流":{"docs":{},"程":{"docs":{},"。":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"正":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"大":{"docs":{},"家":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"源":{"docs":{},"码":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"全":{"docs":{},"部":{"docs":{},"插":{"docs":{},"入":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"则":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"旧":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"进":{"docs":{},"行":{"docs":{},"移":{"docs":{},"除":{"docs":{},",":{"docs":{},"当":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"完":{"docs":{},"列":{"docs":{},"表":{"docs":{},"还":{"docs":{},"未":{"docs":{},"找":{"docs":{},"到":{"docs":{},"则":{"docs":{},"报":{"docs":{},"错":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"就":{"docs":{},"将":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"并":{"docs":{},"且":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"关":{"docs":{},"数":{"docs":{},"据":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"布":{"docs":{},"局":{"docs":{},"为":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}},"答":{"docs":{},"案":{"docs":{},"就":{"docs":{},"是":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"类":{"docs":{},"似":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}},"型":{"docs":{},"名":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}},",":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.004329004329004329},"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"能":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"考":{"docs":{},"虑":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}},"而":{"docs":{},"具":{"docs":{},"体":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"我":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}},"范":{"docs":{},"型":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}},"通":{"docs":{},"常":{"docs":{},"只":{"docs":{},"能":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"某":{"docs":{},"一":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"上":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"每":{"docs":{},"一":{"docs":{},"种":{"docs":{},"内":{"docs":{},"建":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}},"形":{"docs":{},"如":{"docs":{},"p":{"docs":{},"y":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"维":{"docs":{},"护":{"docs":{},"对":{"docs":{},"象":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"的":{"docs":{},"存":{"docs":{},"在":{"docs":{},"与":{"docs":{},"否":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"指":{"docs":{},"令":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"的":{"docs":{},"指":{"docs":{},"令":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"查":{"docs":{},"找":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"与":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"求":{"docs":{},"索":{"docs":{},"引":{"docs":{},"下":{"docs":{},"标":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"指":{"docs":{},"令":{"docs":{},"可":{"docs":{},"知":{"docs":{},",":{"docs":{},"创":{"docs":{},"建":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"都":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"这":{"docs":{},"样":{"docs":{},"一":{"docs":{},"组":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}},"有":{"docs":{},"o":{"docs":{},"b":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"c":{"docs":{},"n":{"docs":{},"t":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}},"不":{"docs":{},"为":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"是":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"释":{"docs":{},"放":{"docs":{},"内":{"docs":{},"存":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"的":{"docs":{},"申":{"docs":{},"请":{"docs":{},"、":{"docs":{},"释":{"docs":{},"放":{"docs":{},"内":{"docs":{},"存":{"docs":{},"会":{"docs":{},"大":{"docs":{},"大":{"docs":{},"降":{"docs":{},"低":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{"objects/object/":{"ref":"objects/object/","tf":0.001443001443001443}}}}}},"%":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"l":{"docs":{},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"\\":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251}}}}}}}}},"+":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.00338409475465313},"objects/list-object/":{"ref":"objects/list-object/","tf":0.00823045267489712},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0018165304268846503},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0045691906005221935}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"@":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}},"j":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},",":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"+":{"docs":{},"+":{"docs":{},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},";":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}},"|":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0027247956403269754},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0032637075718015664}}}},"且":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"乘":{"docs":{},"法":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"数":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"小":{"docs":{},"整":{"docs":{},"数":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"被":{"docs":{},"里":{"docs":{},"面":{"docs":{},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"根":{"docs":{},"据":{"docs":{},"保":{"docs":{},"存":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"整":{"docs":{},"大":{"docs":{},"小":{"docs":{},"。":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"布":{"docs":{},"局":{"docs":{},"如":{"docs":{},"下":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}},"做":{"docs":{},"处":{"docs":{},"理":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"进":{"docs":{},"位":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"处":{"docs":{},"理":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"可":{"docs":{},"以":{"docs":{},"看":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"实":{"docs":{},"现":{"docs":{},"在":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"减":{"docs":{},"法":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"运":{"docs":{},"算":{"docs":{},"函":{"docs":{},"数":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"少":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},"引":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"分":{"docs":{},"成":{"docs":{},"位":{"docs":{},"数":{"docs":{},"较":{"docs":{},"少":{"docs":{},"的":{"docs":{},"数":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"数":{"docs":{},"都":{"docs":{},"是":{"docs":{},"原":{"docs":{},"来":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}},"加":{"docs":{},"法":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"运":{"docs":{},"算":{"docs":{},"函":{"docs":{},"数":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"上":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"1":{"docs":{},"与":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"求":{"docs":{},"余":{"docs":{},"获":{"docs":{},"取":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"索":{"docs":{},"引":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}},"又":{"docs":{},"细":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}},"反":{"docs":{},"转":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"汇":{"docs":{},"编":{"docs":{},"获":{"docs":{},"取":{"docs":{},"该":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"取":{"docs":{},"余":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"只":{"docs":{},"保":{"docs":{},"留":{"docs":{},"了":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"原":{"docs":{},"理":{"docs":{},"和":{"docs":{},"做":{"docs":{},"法":{"docs":{},"是":{"docs":{},"将":{"docs":{},"位":{"docs":{},"数":{"docs":{},"很":{"docs":{},"多":{"docs":{},"的":{"docs":{},"两":{"docs":{},"个":{"docs":{},"大":{"docs":{},"数":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}},"宏":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"异":{"docs":{},"或":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"有":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}},"根":{"docs":{},"据":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}},"索":{"docs":{},"引":{"docs":{},"返":{"docs":{},"回":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}},"经":{"docs":{},"验":{"docs":{},"在":{"docs":{},"1":{"docs":{},"/":{"2":{"docs":{},"和":{"docs":{},"2":{"docs":{},"/":{"3":{"docs":{},"之":{"docs":{},"间":{"docs":{},"效":{"docs":{},"果":{"docs":{},"最":{"docs":{},"好":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"docs":{}}}}},"docs":{}}}}}}}},"求":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"值":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"幂":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"注":{"docs":{},":":{"docs":{},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"添":{"docs":{},"加":{"docs":{},"打":{"docs":{},"印":{"docs":{},"代":{"docs":{},"码":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}},"确":{"docs":{},"保":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.001692047377326565}}}},"算":{"docs":{},"法":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}},"绝":{"docs":{},"对":{"docs":{},"值":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}},"调":{"docs":{},"用":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0025380710659898475},"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"_":{"docs":{},"p":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"最":{"docs":{},"终":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},",":{"docs":{},"将":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"大":{"docs":{},"小":{"docs":{},"加":{"docs":{},"一":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"索":{"docs":{},"引":{"docs":{},"插":{"docs":{},"入":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"该":{"docs":{},"m":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"设":{"docs":{},"置":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"比":{"docs":{},"较":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"了":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"整":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"大":{"docs":{},"小":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"右":{"docs":{},"移":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}},"左":{"docs":{},"移":{"docs":{"objects/long-object/":{"ref":"objects/long-object/","tf":0.0008460236886632825}}}}}},")":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531},"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0009082652134423251},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"e":{"docs":{},"p":{"0":{"1":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}},"docs":{}}},"k":{"docs":{},"e":{"docs":{},"y":{"1":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"docs":{}}}}},"元":{"docs":{},"素":{"docs":{},"赋":{"docs":{},"值":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"的":{"docs":{},"增":{"docs":{},"长":{"docs":{},"模":{"docs":{},"式":{"docs":{},"是":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"法":{"docs":{},"性":{"docs":{},"检":{"docs":{},"查":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"当":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"删":{"docs":{},"除":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"继":{"docs":{},"续":{"docs":{},"向":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"保":{"docs":{},"存":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"元":{"docs":{},"素":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}},"到":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},",":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"的":{"docs":{},"概":{"docs":{},"述":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}},"脚":{"docs":{},"本":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"移":{"docs":{},"除":{"docs":{},"元":{"docs":{},"素":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"示":{"docs":{},"例":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"动":{"docs":{},"弹":{"docs":{},"栈":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"获":{"docs":{},"取":{"docs":{},"元":{"docs":{},"素":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}},"的":{"docs":{},"示":{"docs":{},"例":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"s":{"docs":{},"的":{"docs":{},"首":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"地":{"docs":{},"址":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"位":{"docs":{},"置":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"元":{"docs":{},"素":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"作":{"docs":{},"为":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"集":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"大":{"docs":{},"小":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"存":{"docs":{},"取":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"最":{"docs":{},"小":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"在":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"空":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"该":{"docs":{},"值":{"docs":{},"为":{"docs":{},"0":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"s":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"方":{"docs":{},"法":{"docs":{},"集":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"位":{"docs":{},"置":{"docs":{},"元":{"docs":{},"素":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"s":{"docs":{},"o":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"传":{"docs":{},"入":{"docs":{},"值":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"新":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"索":{"docs":{},"引":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"追":{"docs":{},"加":{"docs":{},"元":{"docs":{},"素":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0027434842249657062}}}}}},"随":{"docs":{},"着":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"减":{"docs":{},"少":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"可":{"docs":{},"能":{"docs":{},"存":{"docs":{},"在":{"docs":{},"冗":{"docs":{},"余":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"增":{"docs":{},"加":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"不":{"docs":{},"够":{"docs":{},"用":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"扩":{"docs":{},"大":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"空":{"docs":{},"间":{"docs":{},"。":{"docs":{"objects/list-object/":{"ref":"objects/list-object/","tf":0.0013717421124828531}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"0":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.0036330608537693005}}},"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.04495912806539509},"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"便":{"docs":{},"利":{"docs":{},"m":{"docs":{},"a":{"docs":{},"_":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"计":{"docs":{},"算":{"docs":{},"得":{"docs":{},"出":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"数":{"docs":{},"组":{"docs":{},"指":{"docs":{},"针":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"值":{"docs":{},"与":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"字":{"docs":{},"典":{"docs":{},"也":{"docs":{},"被":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"如":{"docs":{},"果":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"的":{"docs":{},"索":{"docs":{},"引":{"docs":{},"值":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"该":{"docs":{},"值":{"docs":{},"存":{"docs":{},"入":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}},"减":{"docs":{},"1":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"没":{"docs":{},"有":{"docs":{},"减":{"docs":{},"去":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"偏":{"docs":{},"移":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"內":{"docs":{},"建":{"docs":{},"函":{"docs":{},"数":{"docs":{},"与":{"docs":{},"{":{"docs":{},"}":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},",":{"docs":{},"模":{"docs":{},"块":{"docs":{},"和":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"其":{"docs":{},"他":{"docs":{},"字":{"docs":{},"典":{"docs":{},"都":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"为":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"判":{"docs":{},"断":{"docs":{},"不":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"缓":{"docs":{},"冲":{"docs":{},"池":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"哈":{"docs":{},"希":{"docs":{},"查":{"docs":{},"找":{"docs":{},"函":{"docs":{},"数":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"已":{"docs":{},"经":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"数":{"docs":{},"量":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"总":{"docs":{},"量":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"该":{"docs":{},"函":{"docs":{},"数":{"docs":{},"就":{"docs":{},"是":{"docs":{},"生":{"docs":{},"成":{"docs":{},"并":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"典":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},"弹":{"docs":{},"出":{"docs":{},"栈":{"docs":{},"上":{"docs":{},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"态":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"找":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"值":{"docs":{},"并":{"docs":{},"讲":{"docs":{},"该":{"docs":{},"值":{"docs":{},"设":{"docs":{},"置":{"docs":{},"到":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"而":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"常":{"docs":{},"值":{"docs":{},"则":{"docs":{},"讲":{"docs":{},"该":{"docs":{},"值":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"建":{"docs":{},"并":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{},"字":{"docs":{},"典":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"置":{"docs":{},"空":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"查":{"docs":{},"找":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"位":{"docs":{},"置":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"该":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"检":{"docs":{},"查":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"索":{"docs":{},"引":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}},"为":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"是":{"docs":{},"否":{"docs":{},"大":{"docs":{},"于":{"docs":{},"最":{"docs":{},"小":{"docs":{},"s":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"是":{"docs":{},"否":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"为":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"数":{"docs":{},"量":{"docs":{},"是":{"docs":{},"否":{"docs":{},"超":{"docs":{},"过":{"docs":{},"最":{"docs":{},"大":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"在":{"docs":{},"新":{"docs":{},"建":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"通":{"docs":{},"过":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"查":{"docs":{},"找":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"并":{"docs":{},"且":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"空":{"docs":{},"如":{"docs":{},"果":{"docs":{},"任":{"docs":{},"一":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"报":{"docs":{},"错":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"比":{"docs":{},"较":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},"则":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"用":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"用":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"是":{"docs":{},"分":{"docs":{},"离":{"docs":{},"表":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"查":{"docs":{},"找":{"docs":{},"到":{"docs":{},"旧":{"docs":{},"值":{"docs":{},"并":{"docs":{},"且":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"字":{"docs":{},"典":{"docs":{},"类":{"docs":{},"型":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"2":{"docs":{},"的":{"docs":{},"倍":{"docs":{},"数":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"下":{"docs":{},"一":{"docs":{},"条":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"指":{"docs":{},"令":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"空":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"u":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"处":{"docs":{},"执":{"docs":{},"行":{"docs":{},"即":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"位":{"docs":{},"置":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"申":{"docs":{},"请":{"docs":{},"的":{"docs":{},"与":{"docs":{},"就":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"不":{"docs":{},"同":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"则":{"docs":{},"申":{"docs":{},"请":{"docs":{},"内":{"docs":{},"存":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"代":{"docs":{},"码":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"然":{"docs":{},"后":{"docs":{},"编":{"docs":{},"译":{"docs":{},"运":{"docs":{},"行":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"键":{"docs":{},"被":{"docs":{},"删":{"docs":{},"除":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"这":{"docs":{},"只":{"docs":{},"会":{"docs":{},"在":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"在":{"docs":{},"我":{"docs":{},"们":{"docs":{},"动":{"docs":{},"手":{"docs":{},"观":{"docs":{},"看":{"docs":{},"一":{"docs":{},"下":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"该":{"docs":{},"例":{"docs":{},"子":{"docs":{},"仅":{"docs":{},"供":{"docs":{},"调":{"docs":{},"试":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"调":{"docs":{},"试":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"调":{"docs":{},"用":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},",":{"docs":{},"在":{"docs":{},"本":{"docs":{},"例":{"docs":{},"中":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"方":{"docs":{},"法":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"值":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"缓":{"docs":{},"冲":{"docs":{},"池":{"docs":{},"没":{"docs":{},"有":{"docs":{},"则":{"docs":{},"申":{"docs":{},"请":{"docs":{},"新":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"并":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}},"表":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"讲":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"空":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"压":{"docs":{},"栈":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"压":{"docs":{},"栈":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"为":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"m":{"docs":{},"a":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"为":{"0":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"docs":{}}}}}}}}},"为":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"找":{"docs":{},"到":{"docs":{},"的":{"docs":{},"值":{"docs":{},"(":{"docs":{},"这":{"docs":{},"也":{"docs":{},"是":{"docs":{},"字":{"docs":{},"典":{"docs":{},"查":{"docs":{},"找":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},")":{"docs":{},"。":{"docs":{},"至":{"docs":{},"此":{"docs":{},",":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"大":{"docs":{},"致":{"docs":{},"流":{"docs":{},"程":{"docs":{},"已":{"docs":{},"经":{"docs":{},"分":{"docs":{},"析":{"docs":{},"完":{"docs":{},"毕":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"池":{"docs":{},"或":{"docs":{},"者":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"最":{"docs":{},"小":{"docs":{},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"用":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"查":{"docs":{},"找":{"docs":{},"函":{"docs":{},"数":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"该":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}},"值":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"为":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"与":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0013054830287206266}}}}}}}}}}},"新":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"旧":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"该":{"docs":{},"为":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}},"字":{"docs":{},"典":{"docs":{},"对":{"docs":{},"象":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"工":{"docs":{},"作":{"docs":{},"就":{"docs":{},"是":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"空":{"docs":{},"余":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"如":{"docs":{},"果":{"docs":{},"找":{"docs":{},"到":{"docs":{},"了":{"docs":{},"满":{"docs":{},"足":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"就":{"docs":{},"是":{"docs":{},"做":{"docs":{},"了":{"docs":{},"检":{"docs":{},"查":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"检":{"docs":{},"查":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}},"输":{"docs":{},"出":{"docs":{},"的":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"如":{"docs":{},"下":{"docs":{},";":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"所":{"docs":{},"示":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}},"。":{"docs":{},"继":{"docs":{},"续":{"docs":{},"查":{"docs":{},"看":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"返":{"docs":{},"现":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"0":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}},"首":{"docs":{},"先":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"去":{"docs":{},"查":{"docs":{},"找":{"docs":{},"待":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"的":{"docs":{},"值":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"当":{"docs":{},"前":{"docs":{},"字":{"docs":{},"典":{"docs":{},"数":{"docs":{},"据":{"docs":{},"已":{"docs":{},"经":{"docs":{},"满":{"docs":{},"了":{"docs":{},"则":{"docs":{},"会":{"docs":{},"按":{"docs":{},"照":{"docs":{},"增":{"docs":{},"长":{"docs":{},"大":{"docs":{},"小":{"docs":{},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"新":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},",":{"docs":{},"并":{"docs":{},"把":{"docs":{},"旧":{"docs":{},"数":{"docs":{},"据":{"docs":{},"设":{"docs":{},"置":{"docs":{},"到":{"docs":{},"新":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"找":{"docs":{},"到":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"时":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"先":{"docs":{},"计":{"docs":{},"算":{"docs":{},"出":{"docs":{},"需":{"docs":{},"要":{"docs":{},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"字":{"docs":{},"典":{"docs":{},"的":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"再":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"一":{"docs":{},"个":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"插":{"docs":{},"入":{"docs":{},"到":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}}}}},"d":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"值":{"docs":{},"也":{"docs":{},"相":{"docs":{},"同":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"列":{"docs":{},"表":{"docs":{"objects/dict-object/":{"ref":"objects/dict-object/","tf":0.00045413260672116256}}}}}}},"?":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"也":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"先":{"docs":{},"获":{"docs":{},"取":{"docs":{},"旧":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}},"删":{"docs":{},"除":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"右":{"docs":{},"移":{"docs":{},"5":{"docs":{},"位":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"向":{"docs":{},"字":{"docs":{},"典":{"docs":{},"中":{"docs":{},"添":{"docs":{},"加":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},";":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"并":{"docs":{},"依":{"docs":{},"次":{"docs":{},"对":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{},"操":{"docs":{},"作":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}},"最":{"docs":{},"小":{"docs":{},"的":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"数":{"docs":{},"组":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"申":{"docs":{},"请":{"docs":{},"该":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}},"索":{"docs":{},"引":{"docs":{},"值":{"docs":{},"*":{"5":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}},"docs":{}}}}},"继":{"docs":{},"续":{"docs":{},"查":{"docs":{},"看":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"计":{"docs":{},"算":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"索":{"docs":{},"引":{"docs":{},"值":{"docs":{},"继":{"docs":{},"续":{"docs":{},"寻":{"docs":{},"找":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}}}}},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"值":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}},"索":{"docs":{},"引":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}},"集":{"docs":{},"合":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},")":{"docs":{},"示":{"docs":{},"例":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}}}},"概":{"docs":{},"述":{"docs":{"objects/set-object/":{"ref":"objects/set-object/","tf":0.0006527415143603133}}}}}}},"length":3316},"corpusTokens":["!=","!pyunicode_checkexact(key))","\"","\"\"\"","\",","\".\"","\"base\",","\"cannot","\"combined\":","\"copyright\",","\"credits\"","\"help\",","\"int\",","\"int()","\"integer,","\"license\"","\"list","\"str\",","\"type\",","#","#22653)","#defin","#els","#endif","#if","#ifdef","#ifndef","%d","%d\\n\",","%ld","%ld\\n\",","&","&&","&=","&_parser,","&dk_entries(mp","&ep0[ix];","&int_info_desc)","&long_as_number,","&obase))","&old_value);","&old_value1);","&pydict_type);","&pylong_type)","&pylong_type);","&so","&table[i];","&v,","&x,","'%.200s'\",","'2'作为","'allocated'","'i","(","(!_pyarg_parsetupleandkeywordsfast(args,","(!initialized)","(!pydict_check(op))","(!pyfrozenset_check(anyset)","(!pylist_check(op))","(!pyset_check(anyset)","(!pyunicode_checkexact(key)","(!pyunicode_checkexact(key))","('1')","('2')","('e')","((base","((ix","((pyasciiobject","((pylistobject","((pyobject","((size_t)so","(*binaryfunc)(pyobject","(0)","(1)","(2)","(3)","(4)","(5)","(9","(;","(;;)","(_py_dec_reftot","(_py_decref_tmp)","(_pydict_hassplittable(mp)","(_pydict_hassplittable(mp))","(_pylong_on","(_pylong_zero","(abstract","(add)","(alloc","(and","(base","(binaryfunc)long_add,","(binaryfunc)long_mul,","(binaryfunc)long_rshift,","(binaryfunc)long_sub,","(cmp","(concret","(d)","(default,","(digit)abs(ival));","(digit)abs(ival);","(dk","(dk_indices).","(dk_indices):","(entri","(ep","(err","(freeslot","(hash","(hashfunc)","(hashfunc)long_hash,","(here","(i","(i*5","(inclusive)","(indexerr","(inquiry)long_bool,","(insertion_resize(mp)","(int","(int8_t*)(mp","(int_infotype.tp_nam","(is_oldtable_malloced)","(item","(iter","(ival","(ix","(ix1","(j=0;","(key_valu","(list_ass_slice(self,","(list_resize(self,","(long_to_decimal_string_internal(aa,","(m","(map","(minus","(mp","(n","(newitem","(newsiz","(newtabl","(none)","(not","(numfree)","(o","(obas","(old_valu","(op","(oparg","(opcode)","(pop)","(py_abs(py_size(a))","(py_type(mp)","(pydictobject","(pyindex_check(key))","(pylist_check(op)","(pylongobject","(pylongobject*","(pyobject","(pysetobject","(pystructsequence_inittype2(&int_infotype,","(python","(pyunicode_checkexact(startkey)","(remove)","(rv","(see","(set","(set_a)","(set_update_internal(so,","(sign","(size","(size_a","(size_t)hash","(size_t)hash;","(size_t)news","(size_t)py_ssize_t_max","(size_t)so","(so","(startkey","(type","(unaryfunc)long_abs,","(unaryfunc)long_invert,","(unaryfunc)long_long,","(unaryfunc)long_neg,","(union)","(update)","(v","(void)pyobject_init(v,","(w","(x","(x_add","(z",")",")ep01",")key1;","*","*)","*)(op))","*)(op);","*))","*));","*);","*)aa;","*)anyset,","*)mp);","*)mp,","*)mp;","*)null)","*)op)","*)op,","*)op;","*)so;","*)type","**)","**)pymem_realloc(self","**bytes_str)","**can**","**items;","**ma_values;","**ob_item;","**p;","**p_output,","**value_addr)","**values)","*,","*/","*_ob_next;","*_ob_prev;","*_py_decref_tmp","*a,","*a;","*aa)","*aa,","*anyset,","*args,","*b)","*bytes_writer,","*contain","*dk;","*entry;","*ep","*ep0","*ep01","*ep;","*fp,","*free_list[pylist_maxfreelist];","*freeslot;","*indic","*item","*iterable)","*key","*key)","*key,","*key;","*keys,","*kwargs)","*longobj","*m;","*ma_keys;","*map","*me_key;","*me_value;","*mp,","*mp;","*necessary*","*new_keys;","*new_keys_object(py_ssize_t","*newitem)","*newtable,","*o,","*ob_type;","*ob_type,它指向的类型对象就决定了一个对象是什么类型的。","*obas","*obase)","*obase);","*old_key;","*old_value;","*oldtable,","*op,","*op;","*pin,","*pout,","*return_valu","*scratch,","*self,","*set","*so,","*so;","*startkey","*str","*sub","*table,","*table;","*temp","*tmpkey;","*tp_as_async;","*tp_as_map","*tp_as_mapping;","*tp_as_mapping的分析与pynumbermethod","*tp_as_numb","*tp_as_number;","*tp_as_sequ","*tp_as_sequence;","*tp_name;","*type,","*v","*v)","*v,","*v;","*valu","*value)","*value_addr","*w)","*weakreflist;","*writer,","*x","*x,","*z;","+",".","...","......","./configur","/","/*","/*[clinic","/*nb_add","/*nb_add*/","/*nb_and","/*nb_divmod","/*nb_float*/","/*nb_int*/","/*nb_invert","/*nb_lshift","/*nb_multipli","/*nb_multiply*/","/*nb_neg","/*nb_or","/*nb_power","/*nb_remaind","/*nb_reserved*/","/*nb_rshift","/*nb_subtract","/*nb_subtract*/","/*nb_xor","/*tp_absolut","/*tp_bool","/*tp_posit","//","0","0)","0);","0){","0,","03","0412。","0;","0xff,","0};","1","1)","1))","1);","1,","1,2,所以会在执行字节码指令的时候,执行","1/2","10","10.0.17134.0,","1024;","1060","11","12","128","14","15","16","16,","16:17:57)","18","19:36:27","1;","1]不为零,这与普通四则运算的加法运算相同,只不过进位单元不同而已","1:github","2","2)","2).","2**(shift*i)","2,","2.","2/3","20","20000","20000,是根据代码找到相关的","2003","2017","2019","2019,","2020","21","22","23","24","25","25,","257","257)","26","28","2]","2:python","3","3)","3);","3,","3.6","3.7","3.7.0","3.7.0.tar.xz","3.7.3","3.7m","3/5","30","30,否则","31","32","34","35,","36)","37","370/","38","3]","4","4,","41","44","46,","47","4]","5","5,","50","51","54","57","58,","6","60","63","64","66","67","7","7.3.0]","70","72,","73","76","79","8","8)","8,","80","82","85","86","88,","89","9","9223372043297226753",":",":\");",":0",";","=","==",">",">=",">>",">>=",">>>",">alloc",">allocated;",">dk_indices);",">dk_indices[0],",">dk_lookup",">dk_lookup(mp,",">dk_nentri",">dk_nentries)))",">dk_nentries);",">dk_nentries++;",">dk_nentries]",">dk_nentries];",">dk_refcnt",">dk_size",">dk_size);",">dk_size;",">dk_usabl",">fill",">fill*5",">fill++;",">finger",">hash",">hash)",">hash);",">key",">key,",">key;",">ma_key",">ma_keys);",">ma_keys)[ix].me_valu",">ma_keys)[mp",">ma_keys,",">ma_us",">ma_used);",">ma_used++;",">ma_used;",">ma_valu",">ma_values)",">ma_values[ix]",">ma_values[mp",">ma_version_tag",">mask",">mask;",">me_hash",">me_key",">me_key));",">me_key,",">me_valu",">me_value;",">mp_ass_subscript(o,",">mp_ass_subscript)",">ob_digit[0]",">ob_digit[0]);",">ob_digit[i]",">ob_digit[i])",">ob_digit[i];",">ob_item",">ob_item,",">ob_item;",">ob_refcnt",">ob_refcnt++)",">ob_typ",">smalltable;",">sq_ass_item)",">tabl",">table;",">table[i];",">tp_alloc(type,",">tp_as_mapping;",">tp_as_sequ",">tp_as_sequence)",">tp_hash(object);",">use",">used)",">used);",">used*2",">used*4);",">used++;",">used;",">used>50000",">weakreflist",">“配置”中仅勾选","?","@classmethod","[","[0,","[1,","[]","[clinic","[gcc","[x]","\\","]","__eq__,","_dictkeysobject","_keywords,","_keywords[]","_longobject","_object","_parser","_py_check_refcnt(_py_decref_tmp)","_py_count_allocs_comma","_py_dealloc(_py_decref_tmp);","_py_hot_funct","_py_inc_reftot","_py_inc_tpallocs(op)","_py_newreference((pyobject","_py_newreference(op)","_py_ref_debug_comma","_pyarg_pars","_pybyteswrit","_pydict_newpresized((py_ssize_t)oparg);","_pydict_newpresized(py_ssize_t","_pylong_init(void)","_pylong_new(size_a);","_pylong_on","_pylong_zero","_pyobject_extra_init","_pyobject_gc_track(op);","_pyobject_head_extra","_pyunicode_eq(startkey,","_pyunicodewrit","_typeobject","_typeobject代码","a;","abs(ob_size)","abs_ival;","absolut","accommod","aclocal.m4","activ","active:当","actual","add","addit","alloc","allocated/2","alway","amort","anymore.","anything.","anyway","aol","api","api。例如整数对象,我们可以利用如下的","app1","app1((pylistobject","app1(pylistobject","appends()","apt","arbitrari","aren't","argument\");","array","assert","assert(","assert(_pydict_checkconsistency(mp));","assert(borrow","assert(ep","assert(is_power_of_2(size));","assert(ix","assert(key","assert(key);","assert(minus","assert(mp","assert(newt","assert(old_valu","assert(oldt","assert(pyunicode_checkexact(ep","assert(pyunicode_checkexact(key)","assert(s","assert(self","assert(startkey","assert(value);","assign","assignment\",","avoid","a、b","b","b);","b;","base","base;","bash)的交互式程序提供了行编辑和历史功能","be:","befor","behavior","bigger","bin","binari","binaryfunc","bininstal","bit","borrow","borrow;","build_map","build_set","bypass","bzip2","c","c++中的","c++来编写自定义模块扩展","cach","calc_hash","calc_hash(pyobject*","call","call_funct","call_method","can't","carri","carry;","cater","chang","char","check_binop(a,","check_small_int","check_small_int(ival)","check_small_int(ival);","checkout","class","clean","clone","cmp","cmp;","code","code:","code]*/","col","combin","common.h","comparison","comparison_error:","compatibility)","compil","config.guess","config.sub","configur","configure.ac","const","consum","contain","container[sub]","convert","copi","copyright","count","count;","count_alloc","cours","cpython2","cpython3","creat","current","d","d.pop('1')","d;","d['1']='2'","d['1']='e'","d[10]","d[1]","d[2]","d[3]","d[5]","d[7]","d[9]","data","dealloc","debian/ubuntu,执行:","debug、32","defin","del","destructor","dev","devel","di","dict","dict_ass_sub","dict_ass_sub(pydictobject","dict_lookup_func","dict_next_version();","dict_test.pi","dictionari","dictionaries)与联合字典(combin","dictkeysobject","dictobject.c","dictonaries)。详细的信息可查看有关","differ","digit","discard_found;","discard_notfound;","dispatch();","dk","dk;","dk_debug_incref","dk_decref(keys);","dk_entries(mp","dk_entries,","dk_entries.","dk_get_index(mp","dk_lookup","dk_lookup;","dk_mask(mp","dk_nentries;","dk_refcnt;","dk_set_index(mp","dk_size","dk_size;","dk_usable;","dkix_dummy(","dkix_dummy);","dkix_empti","dkix_empty(","dkix_empty)","dkix_empty;","dkix_error","dkix_error)","dkix_error.","dk,最后进行申请到的内存讲内容清空。接着就会进行","do","doc","docker","doesn't","don't","dummi","dummies,","dummy)","dummy);","dummy:先前保存了一个","dummy;","dummy,并且将","dummy;set_discard_key","d,从输出信息可知,index","e.g.,","each","elements.","empti","empty,","enabl","end","enough","ensur","enter","entri","entries*/","entries.","entries;","entry;","enum","ep","ep01++;","equal","err","err;","error;","es","es,","estimate_size(minused);","etc.","exception.","exception;","exit:","exit;","fail","fail:","fail;","fall","fast","faster","field","file","fill","fill;","fill==size,","find","finger","finger;","fit","fix","flaggo","flags)","float","format","formerli","found","found_active:","found_active;","found_null:","found_null;","found_unused:","found_unused;","found_unused_or_dummy:","found_unused_or_dummy;","free","free_list[","free_values(values);","freeslot","frequent","frozenset","function","fundament","further","gcc","gdbm","gener","get_small_int(sdigit","getattrfunc","getattrofunc","git","gitbook该文件修订时间:","github","give","give;","global","gnu","gnu”","go","goto","grammar","growth","growth.","guarante","half","handl","hash","hash)","hash);","hash,","hash1","hash1,","hash;","hashfunc","hashpos,","hash值为","hash,便于查找,set","hash,如果能够被","help","here.","hold","http://localhost:4000","https://github.com/python/cpython.git","https://www.python.org/downloads/release/python","https://www.python.org/ftp/python/3.7.0/python","i)","i);","i+1,","i+1;","i,","i;","i=0","if)","implement","includ","include/dictobject.h","include/object.h","inclusive).","increment","index","index>=0","indexerr","indexerr);","indexing,","indic","information.","init","initi","input=2dc2ba5bb2fb1f82]*/","input=81c98f418af9eb6f]*/","input]","ins1","ins1((pylistobject","ins1(pylistobject","insert","insertdict","insertdict()","insertdict(mp,","insertdict(pydictobject","insertion.","instal","instanc","instead","int","int\");","int'","int.__new__","int8_t","int_info","integ","integers.","intern","intrins","invariants:","is:","is_oldtable_malloc","is_oldtable_malloced;","issu","it,","item","item);","items;","items[i+1]","items[i];","items[where]","iterable))","iterable);","ival","ival)","ival,","ix","ix)","ix1","ix;","j;","jme_key;","k_mul","karatsuba","keep","key","key)","key))","key)))","key);","key,","key,value,每一个","key1","key1,","key;","key_valu","key_value,","key_value;","keys,","keys;","keys_free_list[","keys。当出现一个事件将字典的属性值进行改变的时候,个别字典将慢慢的转化成组合表的形式。这就保证了在大部分的应用场景下很高的内存利用效率,并保证了在各个场景下的正确性。当","keys,valu","key。接下来就详细分析一下相关流程。","key。操作字典如下所示;","kind;","known","kwargs,","larg","larger","largest","layer)","layout","len(set),和","lib","lib/python3.7/config","libbz2","libffi","libgdbm","libpython3.7m.a,该静态库用于使用","libreadline6","libsqlite3","libssl","libuuid","licens","linear","linear_prob","linux","list","list\");","list.","list[0]","list_remov","list_remove(pylistobject","list_remove函数会遍历列表,使用pyobject_richcomparebool与目标值进行比较,","list_remove函数,","list_res","list_resize(pylistobject","listobject.c","listobject.h","load_attr","load_const","load_method","load_nam","long","long_add","long_add(pylongobject","long_and,","long_as_numb","long_dealloc,","long_div,","long_divmod,","long_doc,","long_float,","long_getset,","long_long,","long_lshift,","long_methods,","long_mod,","long_mul(pylongobject","long_new","long_new(pytypeobject","long_new,","long_new_impl","long_new_impl(pytypeobject","long_new_impl(type,","long_norm","long_normalize(z);","long_or,","long_pow,","long_richcompare,","long_subtype_new(type,","long_to_decimal_string(pyobject","long_to_decimal_string,","long_to_decimal_string_internal(pyobject","long_to_decimal_string_internal中添加如下代码并重新编译安装","long_true_divide,","long_xor,","longintrepr.h","longobj","longobject.h","lookdict()","lookdict():","lookdict(mp,","lookdict);","lookdict;","lookdict_split():","lookdict_unicod","lookdict_unicode()","lookdict_unicode():","lookdict_unicode_nodummy():","lookdict_unicode_nodummy(pydictobject","lookdict_unicode_nodummy;","lookdict_unicode_nodummy;","lookup","lower","lst","lst.append(1)","lst.remove(3)","lst[0]","lst[3]","m","m4","ma_key","ma_keys,","ma_keys.","ma_used;","ma_valu","ma_version_tag;","mac","macos,执行:","maintain_tracking(mp,","make","make_new_set(&pyset_type,","make_new_set(pytypeobject","makefile.pre.in","malloc","malloc'","map","mask","mask,","mask;","math、hashlib","max_pres","max_presize;","me_hash;","me_key.","me_valu","meaning","medium","memcpy(small_copy,","memori","memoryerror.","memset(&dk","memset(dk_entries(dk),","memset(newtable,","method","mild,","minsiz","minus","minused)","minused.","misc","miss","modifi","modul","more","mp","mp_ass_subscript","multipl","n","n)","n+1)","n;","nb_floor_divid","nb_index","nb_inplace_add","nb_inplace_and","nb_inplace_floor_divid","nb_inplace_lshift","nb_inplace_matrix_multiply;","nb_inplace_multipli","nb_inplace_or","nb_inplace_pow","nb_inplace_remaind","nb_inplace_rshift","nb_inplace_subtract","nb_inplace_true_divid","nb_inplace_xor","nb_matrix_multiply;","nb_true_divid","ndigit","necessari","need","needed.","neg","negative;","neutral","never","new","new_alloc","new_allocated,","new_allocated;","new_dict","new_dict(pydictkeysobject","new_keys_object","newitem);","newmask","newmask,","newmask;","newsiz","newsize)","newsize);","newsize.","newsize;","newtabl","newtable;","node","non","note:","npm","nsmallnegint","nsmallnegints;","nsmallposint","nsmallposints];","null","null)","null))","null);","null,","null;","null_error();","null};","num","num_allocated_byt","num_allocated_bytes);","num_allocated_bytes;","number","numer","numfre","numfree];","numfreekeys];","o","o);","ob_base;","ob_digit","ob_digit),","ob_digit[0]","ob_digit[1]","ob_digit[2]","ob_digit[abs(ob_size)","ob_digit[i]","ob_digit[i])","ob_digit[i];","ob_digit[index]);","ob_item","ob_item[0],","ob_item[i],","ob_item[i];","ob_refcnt","ob_refcnt;","ob_siz","ob_size.","ob_size;","ob_size不会改变allocated。","ob_size,确保","ob_typ","obas","obase);","obase:","object","object(c_default=\"null\")","object)","object/longobject.c","objects/abstract.c","objects/clinic/longobject.c.h","objects/dict","objects/dictobject.c","objects/listobject.c","objects/longobject.c","objects/typeobject.c","objects/unicodeobject.c","offsetof(pylongobject,","old","old_key","old_valu","old_value1;","oldmask","oldtabl","oldtable)","oldtable);","oldtable,","oldtable;","on","op","op;","oparg);","oparg;","openssl","oper","order","organ","os","os。","out","output","output=e47cfe777ab0f24c","output=f087e1951a5e30d1","over","over,","over;","overalloc","overflow","overrid","p","parser","part","path","pattern","pc","pcbuild","pcbuild\\pcbiuld.sln","peek(2*i","peek(2*i);","peek(i);","pend","pending:索引>=0,键!=空,值=空(仅拆分),尚未插入到拆分表中。","pending。","perform","perturb","perturb)","perturb;","perturb_shift;","perturb设置为当前hash值","point","pointer","poorli","pop","pop()","pop_top","possibl","power","pre","prealloc","prefix=","presenc","present.","preserv","prevent","previou","print","print(1)","print(lst[3])","print(num)","printf(\"%","printf(\"\\n\");","printf(\"found","printf(\"indic","printf(\"ob_s","printf(\"siz","printf(\"valu","printfunc","printing,","proce","program","propag","proport","purg","purpose,","push(map);","push(set);","py_abs(py_size(a)),","py_abs(py_size(b));","py_atexit(show_alloc);","py_decref(container);","py_decref(item);","py_decref(key);","py_decref(map);","py_decref(old_key);","py_decref(op)","py_decref(op);","py_decref(pop());","py_decref(set);","py_decref(so);","py_decref(startkey);","py_decref(sub);","py_decref(v);","py_decref(value);","py_decref将调用该对象的tp_dealloc来释放对象所占用的内存和系统资源;","py_eq);","py_hash_t","py_incref(key);","py_incref(op)","py_incref(op)与py_decref(op)","py_incref(startkey);","py_incref(v);","py_incref(value);","py_refcnt(anyset)","py_refcnt(op)","py_return_none;","py_size(a));","py_size(op)","py_size(op))","py_size(self)","py_size(self);","py_size(v)","py_ssize_t","py_ssize_t_max","py_ssize_t_max)","py_tpflags_basetyp","py_tpflags_default","py_tpflags_long_subclass,","py_trace_ref","py_unreachable();","py_xdecref(newitem);","py_xdecref(old_value);","py_xsetref(*p,","pyasyncmethod","pybytearray/pybyt","pyconfig.h.in","pydict_delitem((pyobject","pydict_delitem,设置一个","pydict_minsize);","pydict_minsize;","pydict_setitem((pyobject","pydict_setitem(map,","pydict_setitem(pyobject","pydict_setitem;","pydictentri","pydictkeyentri","pydictkeyentry;","pydictkeysobject","pydictkeysobject;","pydictkeysobject,最后就生成一个","pydictobject","pydictobject;","pyerr_badinternalcall();","pyerr_nomemory();","pyerr_occurred())","pyerr_setobject(pyexc_indexerror,","pyerr_setstring(pyexc_indexerror,","pyerr_setstring(pyexc_overflowerror,","pyerr_setstring(pyexc_typeerror,","pyerr_setstring(pyexc_valueerror,","pyexc_indexerror);","pyintobject","pylist_append","pylist_append(pyobject","pylist_get_size(self);","pylist_getitem","pylist_getitem(pyobject","pylist_insert","pylist_insert(pyobject","pylist_maxfreelist","pylist_new","pylist_new(py_ssize_t","pylist_setitem","pylist_setitem(pyobject","pylistobject","pylistobject对象的一些操作","pylistobject缓冲池默认大小为80","pylong_fromlong","pylong_fromlong(0);","pylong_fromlong(0l);","pylong_fromlong(1);","pylong_fromlong(10);","pylong_fromlong(20000);","pylong_fromlong(long","pylong_fromlong,就不一一列举了","pylong_fromstr","pylong_fromunicodeobject,最终调用","pylong_mask;","pylong_shift","pylong_shift.","pylong_shift;","pylong_typ","pylong_type中tp_as_number.nb_add","pylongobject","pylongobject*","pylongobject*,那么它会调用","pylongobject;","pymappingmethod","pymem_calloc(size,","pymem_del(oldtable);","pymem_new(setentry,","pynumber_asssize_t(key,","pynumber_asssize_t(obase,","pynumber_long","pynumber_long(x);","pynumbermethod","pynumbermethods;","pyobject","pyobject*","pyobject;","pyobject_del,","pyobject_gc_new(pydictobject,","pyobject_genericgetattr,","pyobject_hash(key);","pyobject_hash(key1);","pyobject_head","pyobject_head_init(type)","pyobject_malloc(sizeof(pydictkeysobject)","pyobject_new(pyobject,","pyobject_print","pyobject_print(pyobject","pyobject_print(str,","pyobject_richcomparebool(startkey,","pyobject_setitem","pyobject_setitem(container,","pyobject_setitem(pyobject","pyobject_var_head","pysequence_setitem(o,","pysequencemethod","pyset_add(pyobject","pyset_add(set,","pyset_add,该函数的本质与","pyset_mins","pyset_minsize)","pyset_minsize;","pyset_minsize默认我8,mask为7","pyset_new","pyset_new(null);","pyset_new(pyobject","pysetobject","pysetobject;","python","python/ceval.c","pythoncore,然后点击“确定”(如下图所示)。","python,右键选择“生成”,以进行编译:","python,输入","python,那么就需要用到这里提供的头文件。","pytype_typ","pytype_type创建的","pytypeobject","pytypeobject;","pytypeobjet","pyunicod","pyunicode_checkexact(key)","pyunicode_fromstr","pyunicode_fromstring(","pyunicode_fromstring(\"i","pyunicode_kind","pyunicode_typ","pyunicodeobject","pyunicodeobject*,那么就会调用","pyvarobject","pyvarobject;","pyvarobject_head_init(&pytype_type,","pyvarobject也是基于pyobject扩展的。","pyvarobject,而","quick_int_allocs++;","quick_int_allocs,","quick_neg_int_allocs++;","quick_neg_int_allocs;","rais","rang","range\");","re","readlin","readme.rst","realloc()","realloc().","reason","rebuild","redhat/centos/fedora,执行:","refcount","refer","regist","releas","rem,","remov","repeat","repres","representation.","reprfunc","reserved,pow","resiz","resize.","restart:","restart;","return","return_valu","return_value;","reus","reveal","rich","right","roadmap","room","run","runtim","rv","rv;","s","s.add(1)","s.add(2)","s.add(7)","save","scanner","scheme","sdk","sdk,如下图所示:","search","searches.","second();","see","select","self","sequenc","serv","set","set,","set_a","set_a.add(3)","set_a.add(3)本质都调用了更底层","set_a.add(4)","set_a.remove(1)","set_a.union({1,5})","set_a.update({3,})","set_add_entri","set_add_entry(pysetobject","set_add_entry(so,","set_add_key","set_add_key((pysetobject","set_add_key(pysetobject","set_discard_entri","set_discard_entry(pysetobject","set_discard_entry(so,","set_discard_key","set_discard_key(pysetobject","set_discard_key(so,","set_insert_clean(newtable,","set_insert_clean(setentri","set_lookkey","set_lookkey(so,","set_lookkey该方法与插入的逻辑类似大家可自行查看","set_remove()函数上,如下示例;","set_remove(pysetobject","set_table_res","set_table_resize(pysetobject","set_test.pi","setattrfunc","setattrofunc","setentri","setentry;","setup.pi","set。作为一个无序的集合,set","set,扩充的原则就是如果当前的","sh","share","shared.","show_alloc_count","shrink","shrinking,","sign","sign;","similar","singl","size","size)","size);","size,","size;","size_a","size_a,","size_b","size_count","size_count,","size_t","size_t.","sizeof(digit),","sizeof(pydictkeyentry)","sizeof(pyheaptypeobject),","sizeof(pymemberdef),","sizeof(pyobject","sizeof(setentry)","sizeof(small_copy));","size,检查是否超过设置的大小,检查是否有缓存的字典数据可用,如果没有则申请内存重新生成一个","slot","slots,","small","small_copy;","small_copy[pyset_minsize];","small_ints;","small_ints[nsmallnegint","smaller.","smallest","smalltabl","smalltable[pyset_minsize];","space","special","speed","spill","split","splitted:","sqlite","sqlite3","stackadj(","standard","start","startkey","startkey)","state","static","stdout,","store","store_nam","store_subscr","str;","strict","string","strlen,","struct","studio","sub,","subclass","subtle:","subtract","sudo","suit","sum(for","support","sure","switch","system","t;","tabl","table.","table;","tables.","table。如果从","table,如果重置大小作为保存实例属性的结果,并且只有一个该","table,它们的键表都被缓存在类型属性中,并且允许所有该类型的实例都可以共享该","tarbal","target(build_map)","target(build_set)","target(store_subscr)","temp;","tenpow;","termin","ternaryfunc","terribl","tests.","that'","third();","those","through","time","tk","tool","top();","tp_alloc","tp_as_buff","tp_as_map","tp_as_numb","tp_as_sequ","tp_base","tp_basics","tp_basicsize,","tp_call","tp_call;","tp_clear","tp_compar","tp_dealloc","tp_dealloc;","tp_descr_get","tp_descr_set","tp_dict","tp_dictoffset","tp_doc","tp_flag","tp_free","tp_getattr","tp_getattr;","tp_getattro","tp_getattro;","tp_getset","tp_hash","tp_hash*/","tp_hash;","tp_init","tp_items","tp_itemsize;","tp_iter","tp_iternext","tp_member","tp_method","tp_name","tp_name,","tp_new","tp_print","tp_print;","tp_repr","tp_repr;","tp_reserv","tp_richcompar","tp_setattr","tp_setattr;","tp_setattro","tp_setattro;","tp_str","tp_str;","tp_travers","tp_weaklistoffset","two","two:","type","type_error(\"'%.200s'","type_error(\"sequ","typedef","uint64_t","unicod","unicode_eq(ep","unicode_hash,","unicode_hash函数","union","unique,","unix","unix/linux","unsign","unus","unused:没有插入任何一个获取的","up","updat","us","usabl","usable);","usable;","usable_fraction(max_presize))","usable_fraction(size);","used;","used>50000","uuid","v","v);","v,","v3.7.0","v;","valu","value);","value,","value.","value;","value_addr);","values;","values是否需要加入垃圾回收","value。","value,它不会删除","value,并且在此之前也没有存储任何的","variabl","vector","veri","version","version:","virgin","visual","void","w);","we'r","weak","wget","where,","where;","wiki","wimp","window","without","won't","x","x,","x:","x_add","x_add(pylongobject","x_sub","x_sub(pylongobject","x_sub)","xcode","xxx","xz","y","yacc","yum","z","zlib","zlib1g","{","{\"\",","{\"|oo:int\",","{1,2}","{20000:2}","{platform}","{}","|","||","}","},","};","©","“darwin”,在","“x86_64","└──","├──","一个","一个数的绝对值等价于下面的表达式","一个用于垃圾回收的双向链表,一个引用计数变量","一个类型对象指针ob_typ","一些对象属性","一些整数在一开始就会被初始化一直留存,当再次使用直接从小整数对象池中获取,不用频繁的申请内存。","一堆方法定义,函数和指针","上为","上可执行:","上方便的获取,执行:","上进行编译和开发","下图是对象运行时的图像表现","不为空并且","不为空的时候出现。","不为空,保存了一个键值对,activ","不会改变为一个","不同的发行版,安装方式和包名称也不尽相同。","不支持","不记录元素位置或者插入点。因此,set","与","与hash求和的mask","与操作","与普通四则运算减法相同,数不够大则向高一位借位,","与类型相关的","与该类型对象相关的操作信息(如","且","中删除一个","中大量采用了内存对象池的技术,使得对象释放的空间归还给内存池而不是直接free,后续使用可先从对象池中获取","中定义了大量的函数指针。这些函数指针可以视为类型对象中","中对应的该值,而只是将","中打印对象的接口:","中提供了几个有用的宏:","中添加内容时;","中的","中的原生字符数组转换为出","中的字符串(unicode)对象","中的所有对象都拥有一些相同的内容,而这些内容就定义在pyobject中,","中的每个东西都是一个对象,","中通常已具备","中,主要通过","中,在一个","中,如果相同则不插入,如果索引对应的值且值不同,则遍历从该索引往后9个位置的值,依次找到有空余位置的值,并将该值设置进去。如果设置该值之后使用的数量占总的申请数量超过了","中,对应的","中,此时查看该执行函数;","中,每一个对象都将自己的引用计数、类型信息保存在开始的部分中。","中;","为","为了方便对这部分内存初始化,python","为了避免频繁的申请内存空间,创建pylistobject的时候会先检查缓冲池是否有可用空间","为8","主要依靠","主要就是通过传入的","主要是检查是否","主要用于","之后,","之间,如果超过这个阈值则字典就会自动扩容,扩容的策略大家可详细查看源码。","乘法","也是基于","二进制可执行文件的源码。","亦可执行:","介绍","从","从app1代码可以看出追加元素操作大致流程如下","从ins1代码可以看出插入元素操作大致流程如下","从代码中可以看出pyvarobject比pyobject多出了一个用于存储元素个数的变量ob_size。","从源码可以看出","从该函数的执行可知,初始化的函数是从_pydict_newpres","从输出内容可知,字典的大小随之改变了,这也说明了","代表平台,比如在","以pylong_type为例,可以清晰的看到一般的类型对象和pytype_type之间的关系","以下是","会根据保存的元素自动调整大小。相关的内存布局如下;","会检查传入的数是否在小整数范围内,如果是直接返回。","会被里面切换到","会调用","但是fill数量未变","但这并不意味着最终一定会调用","位。","位数的一半。","位系统中,pylong_shift","位,您也可以根据自己的需求调整成","使用","使用个数加1","使用加1","使用总数加1","使用数加1","使用数量减1","使用的keys个数","使用缓冲池对象","便利ma_key","保存key","保存数据的数组","保存数据的数组数组指针","保存计算得出的hash值","修改","值与","值减1,此处没有减去","值,me_valu","值,因为字典也被","值,如果计算出的索引值,没有值,则直接将该值存入对应的","偏移","做处理","做进位处理,然后处理","元素赋值","元素赋值的示例","先获取旧的tabl","內建函数与{}生成的字典,模块和大部分其他字典都会创建为","其中","其中为什么初始化的时候输入","其中就调用了字典的","其中的","其中,me_hash","其中,pydictkeysobject","其中:","其他情况则需要调用pymem_realloc函数分配新的空间存储列表元素。","其公式为","其存储结构如下图","具体可以看","具体实现在","内存申请失败则返回为空","内存管理机制","内建对象","内部会用","内部各个函数之间传递的都是一种范型指针","内部调试用","再执行本节开头处的命令即可。","决定的,64","决定的,那么类型对象的类型是由谁决定的呢?","减少该对象引用","减法","减法运算函数","函数","函数list_resize就是用于调节list存储空间大小的","函数可以看出有如下几种情况","函数实现中的前","函数将值加入到","函数是一种快速乘法","函数来实现;","函数的执行流程;","函数的执行过程;","函数的指针是一个","函数调整","函数进行处理设置值;","函数;","分成位数较少的数,每个数都是原来","列表allocated的增长模式是","则什么也不做","则将转换好的字符串对象打印至我们指定的标准输出(stdout)","则直接返回,如果能被","则继续调用","则设置freeslot","则该类型对象不支持设置","则调用","则重新扩充","创建","创建pylistobject","创建一个对象比如","创建对象","创建对象有两种方式","创建整数对象","创建该类型对象分配的内存空间大小","创建该类型对象时分配的空间大小信息,即","初始化为空;","初始化代码中看到绑定的是long_hash函数","初始化数据;","初始化的时候都为0","初始化的时候,就输出如上所示内容;我们接下来继续操作;","初始化的状态。","删除元素,调用","判断不能为空","判断缓冲池是否有","到","到底长什么样。","前置条件","前言","前通常需要在系统上安装以下库:","前面我们提到了pyobject","前面提到,在","加上","加法","加法运算函数","加1与mask求余获取下一个索引值","动态进行判断,而","包含","包含以下文件(夹):","包括创建对象需要分配多少内存,对象都支持哪些操作等等。","包括已经使用的entry与空entry值的总和","包括所有曾经申请过的数量。","即可查看本书内容。","即可获取","压缩、解压相关库","压缩库","压缩解压工具","又细分为两个函数","及之后的版本可以使用微软的","双向链表","反汇编获取该脚本的字节码;","反转","发行版可能会有较多的库未安装,除了安装上一小节提及的库外,其他缺失库可根据情况自行安装:","取余","变量来维护这个对象,其他对象也与此类似","变量,这个变量维护对象的引用计数,从而最终决定该对象的创建与销毁","变长对象都拥有一个相同的内容","只保留了","可以在创建或复制整数对象等函数中找到","可以看出,创建一个整数对象的入口函数为","可以看到整数对象的数值操作较多,由于篇幅限制无法一一分析,这里只分析整数的部分操作","可以看到整数的加法运算函数","可以转变为","可完全通过界面操作,主要分为两个步骤:","可用减1","可用的entry数量","可知,删除一个","可知,该命令就是讲'1'作为","可见这个变化不是一蹴而就的,有比较艰辛的过程,大家有兴趣可以去挖掘一下","右移5位","合法性检查","向字典中添加key;","命令为:","命令去构建","命令的方式构建:","命令,或想直接使用","命令,执行如下命令进行初始化:","命令,简单执行如下命令进行初始化:","和","和执行引擎部分,是","哈希查找函数","图形用户界面开发工具","在","在python中的list可以存放任何类型的数据,查看pylistobject可以发现,list实际存放的是pyobject*","在pytypeobject的代码中,我们还可以看到非常重要的三组操作族","在下载完成后,需要注意安装环节的选项。由于","在以下代码中可以看出pylong_type中的tp_as_number项指向的是long_as_numb","在初始化的时候都会处于这种状态,并且","在左侧的解决方案目录中选择","在左侧的解决方案目录的顶端,右键选择“属性”,以打开属性界面(如下图所示)。","在开始我们的学习之旅之前,我们要先认识一个结构体pyobject,可以说","在指定目录中:","在接下来研究源码的过程中,我们可能会对某些语句的逻辑感到好奇,需要输出中间结果。","在本例的初始化过程中,由于传入了初始值","在源代码中","在类型机制中至关重要,所有用户自定义","在线版,或者根据以下步骤访问本地版。","在运行时需要的所有的内部使用对象的实现。","垃圾回收","域","基本的原理和做法是将位数很多的两个大数","多线程机制","大于","大体按照《python","大致的","如pyobject_new。创建一个整数对象的方式","如下图所示","如果key相同","如果key相同则跳转到found_active处执行","如果mp的ma_values有值","如果set改变了则重新开始查找","如果不为空则保存的是valu","如果不相同则重置fill为used的值","如果不能hash","如果不能hash则返回","如果两个表相同则删除旧tabl","如果为空则申请内存失败报错","如果为空则证明找到一个可以使用的","如果为空则跳转值found_null设置key与hash","如果为空则跳转到found_nul","如果传递给","如果使用的与曾经使用的数量相同","如果使用的相同则什么都不做","如果值不为空则插入到新的table中","如果已使用的总数大于3/5则重新调整table,如果set使用的总数超过了50000则扩展为以前的2倍否则就是四倍","如果当前hash值相等","如果找到为空则直接跳转到found_unused_or_dummy处","如果找到了该值","如果找到则跳转到found_act","如果找到当前hash为空或者key为空的则跳转到found_unused_or_dummy处执行","如果找到的hash值相同","如果找到的值与传入需要设置的值相同则跳转到found_active处执行","如果指针是一个","如果新建失败则报错","如果是unicode,通过类型转换检查两个key的内容是否相同,如果不相同则跳转到found_active处","如果是其他类型的对象则调用比较方法去比较两个key是否相同","如果是分离的","如果有则是保存的keys数据","如果有设置该类型","如果有迭代器","如果比较失败则返回","如果没有找到则获取下一个索引值","如果没有找到则返回-1","如果没有找到,则获取当前table的头部节点","如果相同","如果获取的新大小与pyset_minsize的大小相同","如果获取索引的值没有被使用则直接跳转到found_unused处执行","如果错误就报错处理","如需重新编译,请首先执行:","字典","字典对象操作","字典对象是通过","字典最大的容量","字典概述","字典的两种类型","字典的初始化流程","字典的插入与查找","字典的操作测试","字典的最佳大小容量限定在","字典示例","字典,一个","字典,该字典的行为方式与最初的字典的行为方式大致相同。","字符串","存放的是","存放的是可执行文件","存放的是帮助等文件","安全套接字层密码库,linux","安装在特定目录,则需要在一开始修改","安装项目依赖:","宏","官方网站","定义了一个数值对象该支持的操作。一个数值对象如","定义开始有一个宏pyoject_var_head,查看源码可知","定长对象与变长对象","实现了多态机制","实现简版","实际绑定的是","实际调用的就是","容器的相关数据结构","容纳其他对象的序列集合对象","对","对于","对于其他对象,可以通过与其关联的类型对象确定其类型,那么通过什么来确定一个对象是类型对象呢?","对于初学者来说这么多类型的对象怎么学?别着急,我们后续章节会解答。","对应的","对应的方法,在初始化之后对应的是","对象","对象:","对象上,","对象初探","对象对应的类型对象中定义的","对象机制的基石","对象的分类","对象的创建","对象的变化过程中,entri","对象的多态性","对象的大致的一个分类","对象的类型是由该对象指向的","对象的行为","对象的高位数字,最后使用","对象类型指针struct","对象赋值","对象都是通过","对象除了前面提到的那种分类方法外,还可以分为定长对象和变长对象这两种形式。","对象,最后返回。至此,dict","将会被编译,并安装在默认目录中。若您希望将","将传入初始化的参数传入","将保存数据的头指针指向tabl","将元素插入list尾部","将元素插入指定位置","将内容更新到so中","将数据拷贝到set_lookkey中","将申请的内存置空","将要插入的位置的元素都往后移一个位置","将该key设置为dummi","将该值赋值","小型的数据库系统","小整数初始化","小整数对象","就对应一个","就指定了它进行加法操作时的具体行为。","就是","就是保存的数据的","就是保存的数据,hash","就是哈希生成的值,me_key","就是对应的","就是对应的值。","就是根据","就是记录了","就表示该处未使用。","就进行两倍扩充否则就进行四倍扩充。","已经使用可用的总量","已经使用的entry数量","希望各位","常规操作系统中","并依次对set进行添加操作","序列对象操作","序章","建立联系的。","开始,该函数就是生成并初始化一个字典;","异或","引用计数","弹出栈上输入参数的引用","当","当删除的时候,dummi","当我们继续向","当被创建的字典是用来保存","态,当有","您可以直接访问","您的系统上需要安装好","我们不知道这个指针所指的对象是什么类型,只能通过所指对象的","或","或其它类序列的操作。","或操作","或称为","或者","或者使用","所","所以在","所以来的用于支持","所以需要选择安装该","所使用的","所依赖的必要环境)","所定义的操作,这些操作直接决定着一个对象在运行时所表现出的行为,比如","所对应的","执行下一条指令","执行如下命令运行服务端:","扩展的库","找到entry而key为空则返回notfound","找到对应的值并讲该值设置到map中","找到正常值则讲该值对应的entry设置为dummi","指令,初始化完成之后,就调用","指向类型对象的指针,决定了对象的类型","指明了该类型对象如何生成其hash值。","指针","接下来我们看","接下来我们看一下struct","提供的所有头文件,如果用户需要自己用","提高key的引用计数","插入元素","插入到","插入的概述如下,默认","插入,这就是","操作tp_hash,tp_hash可以在pytypeobject中找到,","操作库","操作,查看源码可以看到","支持","数值中移除了该","数值对象","数值对象操作","数组的低位开始依次按位相加,carri","整数对象","整数对象的数值操作","整数对象,那么它的类型对象","整数的存储结构","整数相乘","整数相加","新建并初始化一个set","新建并初始化一个字典","新申请内存","新申请的内存置空","方式","方法删除一个","方法如下;","方法就是将生成的方法,插入到字典中去;","方法来讲对应的","方法添加元素,调用","方法,此时就是调用","方法;","方法;此时我们分析一下,dict","时,list_resize只会改变","时,me_key","时,会分配内存进行初始化,然后","是一个变长对象","是一个软件库,它为使用命令行界面(如","是动态链接(libpython3.7m.so),则需要在一开始修改configur","是变长对象","是否可用","是否有缓存,如果有缓存就选择缓存中的dk","是否能够被","是怎么与","是无序且不重复的集合,是可变的,通常用来从列表中删除重复项以及计算数学运算,如交集、并集、差分和对称差分等集合操作。set","是由","是静态链接(libpython3.7m.a)。如果希望编译的","更多关于在","更多内容","更多标准操作","最小的拷贝数组","有","本次示例脚本如下:","本项目致力于对","来保存数据值的;","来创建一个新的字典,接着就对新建的字典","来合并集合。接下来就详细分析一下相关的操作流程。","来增加和减少对一个对象的引用计数。当一个对象的引用计数减少到","来实现数据的,详情如下;","来更新集合,通过","查找","查找一个可用的hash位置","查找该值","标准库","标准类方法集","根据","根据索引返回对应的元素","根据经验在1/2和2/3之间效果最好","检查freeslot是否为空如果为空则跳转到found_unused处执行即找到了dummy位置","检查key是否为dummi","检查key是否是索引","检查mp","检查size是否大于最小s","检查传入的key是否hash为","检查传入的数量是否超过最大值","检查在新建的过程中是否通过参数传值","检查如果不为dummy并且key不为空的情况下","检查如果不是unicode则直接调用lookdict方法查找","检查新申请的与就table不同","检查是否为dummi","检查是否为unicode,并比较如果不相同则跳转到found_act","检查是否为空如果任一为空则报错","检查是否可用","检查是否可用hash如果可用则调用set_discard_entry方法","检查是否报错","检查是否是分离表,如果没查找到旧值并且","检查是否是字典类型","检查是否是2的倍数","检查是否需要执行下一条字节码指令","模块加载机制","正是通过","此后我们一直添加值进","此外,默认情况下的编译设置是","此时基本的流程就是通过传入的","此时就会调用","此时就是查找该值,如果找到该值并将该值设置为","此时继续查看","此时,从栈中取出相关参数,并将这些值传入","比如,我们希望在解释器交互界面中打印整数值的时候输出一段字符串,则我们可以修改如下函数:","求bool值","求幂","没有缓存可使用的字典则申请内存生成一个","注:这里的","测试代码","添加打印代码","源代码下载","源代码可以在","源代码就从这里开始(本书将采用","源代码的组织","源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据","源文件","源文件:include/dict","源文件:include/dictobject.h","源文件:include/listobject.c","源文件:include/listobject.h","源文件:include/longintrepr.h","源文件:include/longobject.h","源文件:include/object.h","源文件:include/setobject.h","源文件:objects/abstract.c","源文件:objects/clinic/longobject.c.h","源文件:objects/dictobject.c","源文件:objects/listobject.c","源文件:objects/longobject.c","源文件:objects/longobject.h","源文件:objects/object.c","源文件:objects/setobject.c","源文件:objects/typeobject.c","源文件:objects/unicodeobject.c","源文件:python/ceval.c","源码","源码剖析》中的目录结构进行编写。依次介绍","源码剖析》,编写","源码包。","源码基本信息、内建对象和虚拟机。","源码根目录,打开","源码根目录,执行以下命令:","源码的头文件","然后编译运行;","爱好者能参与其中,一起探索","版本的代码。","版的","状态,当一个键被删除的时候,这只会在","环境下编译","环境准备","环境准备(准备","现在我们动手观看一下具体的操作实例,首先声明,该例子仅供调试使用,目前调试的字典的","生成hash调用key对应的tp_hash方法","生成hash调用key对应的tp_hash方法,在本例中传入的是str类型,则调用str类型的tp_hash方法","用于把","由","由于我们只是研究","申请该元素的内存","的","的__dict__属性时,该字典才会创建为一个","的世界一切皆对象,不论是整数,还是字符串,甚至连类型、函数等都是一种对象。","的代码如下","的位置不能被重新使用,一旦发生碰撞,探针序列就无法知道这对键值对曾是活跃的键值对。","的值插入到新表中;","的值的存储是通过结构","的值,然后判断是否","的关联对象","的内容见官方指南","的内建对象,包括整数、list、dict","的创建与初始化","的创建工作已经完成。","的删除","的删除操作主要集中在","的反汇编工具获取字节码;","的大小必须是2的倍数","的字典中,一个键值对的对应保存就是","的字典就是实现了一个","的字典类型中包含了两种,分离字典(split","的定义中包含许多信息,主要分类以下几类:","的定义如下;","的实例,字典会立马再变为一个","的对象机制就是基于pyobject拓展开来的,所以我们先看看pyobject","的工程文件,研究","的执行效率。因此","的执行流程可知,字典的初始化过程就是初始化相关数据结构。","的执行流程;","的描述pep","的插入","的插入过程执行完毕。","的操作基本如上所述。","的操作系统中","的数据结构如下;","的数量,从此处可知,fill","的整数对象","的方法集。此时就调用了","的方法集,并调用了该方法集的","的核心部分,可以选择不编译标准库和外部依赖,在“配置属性”","的检查,此时如果可用","的源码分析,深度参考陈儒大大的《python","的版本。","的版本为","的状态会在不同的状态间转换。基本上在如下四种状态中转换:unused、active、dummi","的示例图如下,注:pylong_shift","的第三行有这么一句话","的算法主要是用于两个大数的乘法,极大提高了运算效率,相较于普通乘法降低了复杂度,并在其中运用了递归的思想。","的索引值,","的虚拟机执行函数如下;","的虚拟机执行函数;","的身影,以下只列出了","的键值对,但是这个键值对被删除了并且一个活跃的键值对还没有填入该位置,dummi","目录","目录下则是存放一些对速度没有太严格要求的模块,比如","目录结构","目录:包含了","目录:包含了所有","目录:包含了所有用","直接讲value设置到entry上面","直接设置ma_values对应的ix到values中","直接访问","直接通过","相关数据结构的内存布局为;","相同则调用list_ass_slice进行移除,当遍历完列表还未找到则报错","相同并且需要重新","相同的就将","相同,大家可以自行查阅源码","相同,如果相同则全部插入,如果不同,则遍历旧","确保","示例","示例脚本如下:","移动弹栈","移除元素","移除元素示例","章节","第一个值为key","等。同时,该目录还包括了","等。它们都是那些对速度要求非常严格的模块。而相比而言,lib","答案就是","算法的实现","类似","类型名","类型名,","类型对象","类型并且不能","类型数据,set","类型来保存;","类型的类型","索引值*5","绝对值","继续查看","缓冲池没有则申请新的对象并初始化","编写的小型数据库","编译","编译、安装","编译安装后进入","编译工具","编译结束后,生成的文件存放在pcbuild\\win32目录下(如下图所示),打开python_d即可打开新生成的","编译结果","考虑以下的","而具体赋值绑定我们可以在","自带的所有标准库,且都是用","自身实现的结构中引用了多次,所以我们就设置了一个特殊值来跟踪我们想要的字典;当","若您不能使用","若您可使用","范型","获取keys的首个元素地址","获取so","获取下一个位置","获取下一个元素","获取传入值的hash值","获取作为队列的操作集","获取元素","获取元素的示例","获取大小","获取存取的地址","获取当前entri","获取当前key","获取新table的地址","获取新的mask","获取最小的值,在新建一个空的字典的时候该值为0","获取生成的最终的值","获取类型的tp_as_mapping方法集","获取索引对应的值","获取该位置元素值","获取该值","虚拟机","虚拟机一般表达式","虚拟机函数机制","虚拟机在运行时内部使用的对象","虚拟机控制流","虚拟机框架","行为我们加入的代码,其中:","行;","表。","表来实现。对应的","解决方案,而后进行一些设置:","解释器。","解释器中的","解释器输入如下代码","计算下一个索引值继续寻找","计算完成后添加值","计算索引","讲key对应的value设置为空","讲set压栈","讲不为空并且不为","讲生成的map压栈","设置hash值为","设置key与hash值","设置ma_used为0","设置为","设置为找到的值(这也是字典查找的核心逻辑)。至此,字典的插入的大致流程已经分析完毕。","设置到从缓冲池或者新生成一个","设置大小","设置字典的最小值","设置引用计数","设置新的size","设置旧的mask","设置是否可用","设置查找函数","设置该key对应的valu","设置该值","访问","该为valu","该为字典对象","该函数主要就是做了检查","该函数主要就是检查传入的","该函数的主要工作就是查找,字典中是否有空余的值,或者如果找到了满足","语句即可看到我们希望的结果:","语言的词法和语法分析器,与","语言的语法自动生成","语言编写的。","语言编写的模块,比如","语言进行扩展。{platform}","调整list大小","调整list存储空间","调用","调用_pylong_frombytes,最终调用","调用key本身的方法比较","调用list_resize,将list大小加一","调用了","调用查找方法","调用索引插入","调用该mp_ass_subscript方法","调用该方法设置值","跨平台的开源的","较为简单,主要分为两个步骤:","输出的字节码如下所示;","输出的字节码如下;","运行于","运行环境初始化","运行的核心所在。","运行编译后的","返回","返回。继续查看","返回初始化完成的set","返回返现","返回0","这两个宏","这两种类型,","这些宏在各种内建类型对象的初始化中被大量使用。","这就需要借助","这是一个非常重要的结构体,它不仅仅决定了一个对象的类型,还包含大量的元信息,","这样处理之后,简化为做三次乘法,并附带少量的加法操作和移位操作。","这样的函数指针)","这类","这里","进入","进入源码目录,我们可以看到该目录下主要","进行了赋值操作与更新操作,最后调用了","进行编译)。","进行编译,选择社区版就足够了。","追加元素","通常只能作用于某一种类型的对象上,对于每一种内建对象","通常形如pyobject_xxx这样的形式。可以应用在任何","通过","通过传入的hash与mask求索引下标","通过字节码指令可知,首先调用了","通过字节码的指令","通过引用计数来管理维护对象在内存中的存在与否","通过查找","通过该字节码指令可知,创建","逻辑右移","逻辑左移","部分,即对","都不为","都提供了这样一组","都是","都有ob_refcnt","释放内存空间。因为频繁的申请、释放内存会大大降低","重新插入该列表该值","重新改变大小,它会立马改变为一个","重新进行编译,在","重置table指向新t","随着list元素的减少,list的存储空间可能存在冗余,这个时候就需要缩小list的存储空间。","随着list元素的增加,list的存储空间可能会不够用,这个时候就需要扩大list的存储空间。","集合","集合(set)示例","集合概述","需要用到","非常类似。","首先会调用相关的查找方法,去查找待搜索的值是否已经存在字典中,如果当前字典数据已经满了则会按照增长大小的函数生成一个新的字典,并把旧数据设置到新的字典中,当找到的字典匹配时则返回。","首先,先计算出需要生成的字典的大小,然后再初始化一个","首先,讲如下代码插入到","魔法背后的奥秘!","默认初始化为8个元素,通过table指向","默认情况下,编译的","默认的小整数范围是","(会自带npm)。",",下拉至页面最下方,可选择下载",",通过描述可知,python","d","hash值也相同","key列表"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"前言","keywords":"","body":"介绍\n本项目致力于对 Python 3.7 的源码分析,深度参考陈儒大大的《Python 源码剖析》,编写 Python 3 的版本。\n希望各位 Python 爱好者能参与其中,一起探索 Python 魔法背后的奥秘!\n使用\n您可以直接访问 在线版,或者根据以下步骤访问本地版。\n前置条件\n您的系统上需要安装好 node (会自带npm)。\n使用 make 或者使用 npm 命令去构建\n使用 make 命令的方式构建:\n若您可使用 make 命令,简单执行如下命令进行初始化:\nmake init\n\n执行如下命令运行服务端:\nmake run\n\n使用 npm 命令的方式构建:\n若您不能使用 make 命令,或想直接使用 npm 命令,执行如下命令进行初始化:\n安装项目依赖:\nnpm install\n\n执行如下命令运行服务端:\nnpm run serve\n\n访问\n直接访问 http://localhost:4000 即可查看本书内容。\nRoadmap\n大体按照《Python 源码剖析》中的目录结构进行编写。依次介绍 Python 源码基本信息、内建对象和虚拟机。\n\n[x] 章节\n[x] 序章\n[x] 前言\n[x] Python 源代码的组织\n[x] Windows 环境下编译 Python\n[x] UNIX/Linux 环境下编译 Python\n[x] 修改 Python 源码\n\n\n[ ] Python 内建对象\n[x] Python 对象初探\n[x] Python 整数对象\n[ ] Python 字符串 对象\n[x] Python List 对象\n[x] Python Dict 对象\n[x] Python Set 对象\n[ ] 实现简版 Python\n\n\n[ ] Python 虚拟机\n[ ] Python 编译结果\n[ ] Python 虚拟机框架\n[ ] 虚拟机一般表达式\n[ ] Python 虚拟机控制流\n[ ] Python 虚拟机函数机制\n[ ] Python 运行环境初始化\n[ ] Python 模块加载机制\n[ ] Python 多线程机制\n[ ] Python 内存管理机制\n\n\n\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"preface/code-organization/":{"url":"preface/code-organization/","title":"Python 源代码的组织","keywords":"","body":"Python 源代码的组织\n源代码下载\n方式 1:GitHub\nPython 源代码可以在 GitHub 上方便的获取,执行:\ngit clone https://github.com/python/cpython.git\ngit checkout v3.7.0\n\n即可获取 Python 3.7.0 版本的代码。\n方式 2:Python 官方网站\n访问 https://www.python.org/downloads/release/python-370/ ,下拉至页面最下方,可选择下载 tarball 源码包。\n亦可执行:\nwget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz\n\n即可获取 Python 3.7.0 版本的代码。\n目录结构\n进入源码目录,我们可以看到该目录下主要 包含以下文件(夹):\n.\n├── Doc\n├── Grammar\n├── Include\n├── LICENSE\n├── Lib\n├── Mac\n├── Makefile.pre.in\n├── Misc\n├── Modules\n├── Objects\n├── PC\n├── PCbuild\n├── Parser\n├── Programs\n├── Python\n├── README.rst\n├── Tools\n├── aclocal.m4\n├── config.guess\n├── config.sub\n├── configure\n├── configure.ac\n├── install-sh\n├── m4\n├── pyconfig.h.in\n└── setup.py\n\n其中:\nInclude 目录:包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。\nLib 目录:包含了 Python 自带的所有标准库,且都是用 Python 语言编写的。\nModules 目录:包含了所有用 C 语言编写的模块,比如 math、hashlib 等。它们都是那些对速度要求非常严格的模块。而相比而言,Lib 目录下则是存放一些对速度没有太严格要求的模块,比如 os。\nParser 目录:包含了 Python 解释器中的 Scanner 和 Parser 部分,即对 Python 源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。\nObjects 目录:包含了所有 Python 的内建对象,包括整数、list、dict 等。同时,该目录还包括了 Python 在运行时需要的所有的内部使用对象的实现。\nPython 目录:包含了 Python 解释器中的 Compiler 和执行引擎部分,是 Python 运行的核心所在。\nPCbuild 目录:包含了 Visual Studio 2003 的工程文件,研究 Python 源代码就从这里开始(本书将采用 Visual Studio 2017 对 Python 进行编译)。\nPrograms 目录:包含了 Python 二进制可执行文件的源码。\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"preface/windows-build/":{"url":"preface/windows-build/","title":"Windows 环境下编译 Python","keywords":"","body":"Windows 环境下编译 Python\n在 Windows 环境下编译 Python 可完全通过界面操作,主要分为两个步骤:\n\n环境准备\n编译\n\n环境准备\n在 Python 3.6 及之后的版本可以使用微软的\nVisual Studio 2017 进行编译,选择社区版就足够了。\n在下载完成后,需要注意安装环节的选项。由于 Python 3.7 所使用的 Windows SDK 的版本为 10.0.17134.0,\n所以需要选择安装该 SDK,如下图所示:\n\n编译\n进入 Python 源码根目录,打开 PCbuild\\pcbiuld.sln 解决方案,而后进行一些设置:\n在左侧的解决方案目录的顶端,右键选择“属性”,以打开属性界面(如下图所示)。\n\n由于我们只是研究 Python 的核心部分,可以选择不编译标准库和外部依赖,在“配置属性”->“配置”中仅勾选\npython 和 pythoncore,然后点击“确定”(如下图所示)。\n此外,默认情况下的编译设置是 Debug、32 位,您也可以根据自己的需求调整成 Release 或 64 位。\n\n在左侧的解决方案目录中选择 python,右键选择“生成”,以进行编译:\n\n编译结束后,生成的文件存放在PCbuild\\win32目录下(如下图所示),打开python_d即可打开新生成的 Python 3.7 解释器。\n\n更多内容\n更多关于在 Windows 上进行编译和开发 Python 的内容见官方指南\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"preface/unix-linux-build/":{"url":"preface/unix-linux-build/","title":"UNIX/Linux 环境下编译 Python","keywords":"","body":"UNIX/Linux 环境下编译 Python\n在 UNIX/Linux 环境下编译 Python 较为简单,主要分为两个步骤:\n\n环境准备(准备 Python 所依赖的必要环境)\n编译、安装\n\n环境准备\n常规操作系统中\n编译 Python 前通常需要在系统上安装以下库:\n\ngcc // 编译工具\nzlib // 压缩、解压相关库\nlibffi // Python 所以来的用于支持 C 扩展的库\nopenssl // 安全套接字层密码库,Linux 中通常已具备\n\n不同的发行版,安装方式和包名称也不尽相同。\n对于 Debian/Ubuntu,执行:\nsudo apt install -y zlib1g zlib1g-dev libffi-dev openssl libssl-dev\n\n对于 RedHat/CentOS/Fedora,执行:\nyum install -y zlib zlib-devel libffi-devel openssl openssl-devel\n\n对于 macOS,执行:\nxcode-select --install\n\n运行于 Docker 的操作系统中\nDocker 版的 Linux 发行版可能会有较多的库未安装,除了安装上一小节提及的库外,其他缺失库可根据情况自行安装:\n\nbzip2 // 压缩库\nreadline // GNU Readline 是一个软件库,它为使用命令行界面(如 Bash)的交互式程序提供了行编辑和历史功能\nsqlite // 由 C 编写的小型数据库\nlibuuid // 跨平台的开源的 uuid 操作库\ngdbm // 小型的数据库系统\nxz // 压缩解压工具\ntk-devel // 图形用户界面开发工具\n\n对于 Debian/Ubuntu,执行:\nsudo apt-get install bzip2 libbz2-dev sqlite3 libsqlite3-dev libreadline6 libreadline6-dev libgdbm-dev uuid-dev tk-dev\n\n对于 RedHat/CentOS/Fedora,执行:\nyum install bzip2 bzip2-devel readline-devel sqlite-devel libuuid-devel gdbm-devel xz-devel tk-devel\n\n编译、安装\n进入 Python 源码根目录,执行以下命令:\n./configure\nmake\nmake install\n\nPython 将会被编译,并安装在默认目录中。若您希望将 Python 安装在特定目录,则需要在一开始修改 configure 命令为:\n./configure --prefix=\n\n在指定目录中:\n\nbin 目录 存放的是可执行文件\ninclude 目录 存放的是 Python 源码的头文件\nlib 目录 存放的是 Python 标准库\nlib/python3.7/config-3.7m-{platform} 目录 存放的是 libpython3.7m.a,该静态库用于使用 C 语言进行扩展。{platform} 代表平台,比如在 Mac OS 上为 “darwin”,在 Linux 上为 “x86_64-linux-gnu”\n\n\nshare 目录 存放的是帮助等文件\n\n默认情况下,编译的 Python 是静态链接(libpython3.7m.a)。如果希望编译的 Python 是动态链接(libpython3.7m.so),则需要在一开始修改configure 命令为:\n./configure --enable-shared\n\n如需重新编译,请首先执行:\nmake clean\n\n再执行本节开头处的命令即可。\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"preface/modify-code/":{"url":"preface/modify-code/","title":"修改 Python 源码","keywords":"","body":"修改 Python 源码\n在源代码中 Print\n在接下来研究源码的过程中,我们可能会对某些语句的逻辑感到好奇,需要输出中间结果。\n这就需要借助 Python C API 中打印对象的接口:\n源文件:Objects/object.c\nint\nPyObject_Print(PyObject *op, FILE *fp, int flags)\n\n比如,我们希望在解释器交互界面中打印整数值的时候输出一段字符串,则我们可以修改如下函数:\n源文件:Objects/longobject.c\nstatic PyObject *\nlong_to_decimal_string(PyObject *aa)\n{\n PyObject *str = PyUnicode_FromString(\"I am always before int\");\n PyObject_Print(str, stdout, 0);\n printf(\"\\n\");\n\n PyObject *v;\n if (long_to_decimal_string_internal(aa, &v, NULL, NULL, NULL) == -1)\n return NULL;\n return v;\n}\n\n函数实现中的前 3 行为我们加入的代码,其中:\n\nPyUnicode_FromString 用于把 C 中的原生字符数组转换为出 Python 中的字符串(Unicode)对象\nPyObject_Print 则将转换好的字符串对象打印至我们指定的标准输出(stdout)\n\n对 Python 重新进行编译,在 Unix 上可执行:\nmake && make bininstall\n\n运行编译后的 Python,输入 print 语句即可看到我们希望的结果:\n>>> print(1)\n'I am always before int'\n1\n\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"objects/object/":{"url":"objects/object/","title":"Python 对象初探","keywords":"","body":"Python 对象初探\n在 Python 的世界一切皆对象,不论是整数,还是字符串,甚至连类型、函数等都是一种对象。\n对象的分类\n以下是 Python 对象的大致的一个分类\n\nFundamental 对象: 类型对象\nNumeric 对象: 数值对象\nSequence 对象: 容纳其他对象的序列集合对象\nMapping 对象: 类似 C++中的 map 的关联对象\nInternal 对象: Python 虚拟机在运行时内部使用的对象\n\n\n对象机制的基石 PyObject\n对于初学者来说这么多类型的对象怎么学?别着急,我们后续章节会解答。\n在开始我们的学习之旅之前,我们要先认识一个结构体PyObject,可以说 Python 的对象机制就是基于PyObject拓展开来的,所以我们先看看PyObject 到底长什么样。\n源文件:Include/object.h\n// Include/object.h\n#define _PyObject_HEAD_EXTRA \\\n struct _object *_ob_next; \\\n struct _object *_ob_prev;\n\ntypedef struct _object {\n _PyObject_HEAD_EXTRA // 双向链表 垃圾回收 需要用到\n Py_ssize_t ob_refcnt; // 引用计数\n struct _typeobject *ob_type; // 指向类型对象的指针,决定了对象的类型\n} PyObject;\n\nPython 中的所有对象都拥有一些相同的内容,而这些内容就定义在PyObject中,\nPyObject 包含 一个用于垃圾回收的双向链表,一个引用计数变量 ob_refcnt 和 一个类型对象指针ob_type\n\n定长对象与变长对象\nPython 对象除了前面提到的那种分类方法外,还可以分为定长对象和变长对象这两种形式。\n变长对象都拥有一个相同的内容 PyVarObject,而 PyVarObject也是基于PyObject扩展的。\n从代码中可以看出PyVarObject比PyObject多出了一个用于存储元素个数的变量ob_size。\n源文件:Include/object.h\n// Include/object.h\ntypedef struct _object {\n _PyObject_HEAD_EXTRA\n Py_ssize_t ob_refcnt;\n struct _typeobject *ob_type;\n} PyObject;\n\ntypedef struct {\n PyObject ob_base;\n Py_ssize_t ob_size; /* Number of items in variable part */\n} PyVarObject;\n\n\n类型对象\n前面我们提到了PyObject 的 对象类型指针struct _typeobject *ob_type,它指向的类型对象就决定了一个对象是什么类型的。\n这是一个非常重要的结构体,它不仅仅决定了一个对象的类型,还包含大量的元信息,\n包括创建对象需要分配多少内存,对象都支持哪些操作等等。\n接下来我们看一下struct _typeobject代码\n在 PyTypeObject 的定义中包含许多信息,主要分类以下几类:\n\n类型名, tp_name, 主要用于 Python 内部调试用\n创建该类型对象时分配的空间大小信息,即 tp_basicsize 和 tp_itemsize\n与该类型对象相关的操作信息(如 tp_print 这样的函数指针)\n一些对象属性\n\n源文件:Include/object.h\n// Include/object.h\ntypedef struct _typeobject {\n PyObject_VAR_HEAD\n const char *tp_name; /* For printing, in format \".\" */ // 类型名\n Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */\n // 创建该类型对象分配的内存空间大小\n\n // 一堆方法定义,函数和指针\n /* Methods to implement standard operations */\n destructor tp_dealloc;\n printfunc tp_print;\n getattrfunc tp_getattr;\n setattrfunc tp_setattr;\n PyAsyncMethods *tp_as_async; /* formerly known as tp_compare (Python 2)\n or tp_reserved (Python 3) */\n reprfunc tp_repr;\n\n /* Method suites for standard classes */\n // 标准类方法集\n PyNumberMethods *tp_as_number; // 数值对象操作\n PySequenceMethods *tp_as_sequence; // 序列对象操作\n PyMappingMethods *tp_as_mapping; // 字典对象操作\n\n // 更多标准操作\n /* More standard operations (here for binary compatibility) */\n hashfunc tp_hash;\n ternaryfunc tp_call;\n reprfunc tp_str;\n getattrofunc tp_getattro;\n setattrofunc tp_setattro;\n\n ......\n\n} PyTypeObject;\n\n类型的类型\n在 PyTypeObjet 定义开始有一个宏PyOject_VAR_HEAD,查看源码可知 PyTypeObjet 是一个变长对象\n源文件:Include/object.h\n// Include/object.h\n#define PyObject_VAR_HEAD PyVarObject ob_base;\n\n对象的类型是由该对象指向的 类型对象 决定的,那么类型对象的类型是由谁决定的呢?\n对于其他对象,可以通过与其关联的类型对象确定其类型,那么通过什么来确定一个对象是类型对象呢?\n答案就是 PyType_Type\n源文件:Objects/typeobject.c\n// Objects/typeobject.c\nPyTypeObject PyType_Type = {\n PyVarObject_HEAD_INIT(&PyType_Type, 0)\n \"type\", /* tp_name */\n sizeof(PyHeapTypeObject), /* tp_basicsize */\n sizeof(PyMemberDef), /* tp_itemsize */\n\n ......\n};\n\nPyType_Type 在类型机制中至关重要,所有用户自定义 class 所\n对应的 PyTypeObject 对象都是通过 PyType_Type创建的\n接下来我们看 PyLong_Type 是怎么与 PyType_Type 建立联系的。\n前面提到,在 Python 中,每一个对象都将自己的引用计数、类型信息保存在开始的部分中。\n为了方便对这部分内存初始化,Python 中提供了几个有用的宏:\n源文件:Include/object.h\n// Include/object.h\n#ifdef Py_TRACE_REFS\n #define _PyObject_EXTRA_INIT 0, 0,\n#else\n #define _PyObject_EXTRA_INIT\n#endif\n\n#define PyObject_HEAD_INIT(type) \\\n { _PyObject_EXTRA_INIT \\\n 1, type },\n\n这些宏在各种内建类型对象的初始化中被大量使用。\n以PyLong_Type为例,可以清晰的看到一般的类型对象和PyType_Type之间的关系\n源文件:Objects/longobject.c\n// Objects/longobject.c\n\nPyTypeObject PyLong_Type = {\n PyVarObject_HEAD_INIT(&PyType_Type, 0)\n \"int\", /* tp_name */\n offsetof(PyLongObject, ob_digit), /* tp_basicsize */\n sizeof(digit), /* tp_itemsize */\n\n ......\n};\n\n下图是对象运行时的图像表现\n\n对象的创建\nPython 创建对象有两种方式\n范型 API 或称为 AOL (Abstract Object Layer)\n这类 API 通常形如PyObject_XXX这样的形式。可以应用在任何 Python 对象上,\n如PyObject_New。创建一个整数对象的方式\nPyObject* longobj = PyObject_New(Pyobject, &PyLong_Type);\n\n与类型相关的 API 或称为 COL (Concrete Object Layer)\n这类 API 通常只能作用于某一种类型的对象上,对于每一种内建对象\nPython 都提供了这样一组 API。例如整数对象,我们可以利用如下的 API 创建\nPyObject *longObj = PyLong_FromLong(10);\n\n对象的行为\n在 PyTypeObject 中定义了大量的函数指针。这些函数指针可以视为类型对象中\n所定义的操作,这些操作直接决定着一个对象在运行时所表现出的行为,比如 PyTypeObject 中的 tp_hash 指明了该类型对象如何生成其hash值。\n在PyTypeObject的代码中,我们还可以看到非常重要的三组操作族\n\nPyNumberMethods *tp_as_number\nPySequenceMethods *tp_as_sequence\nPyMappingMethods *tp_as_mapping\n\nPyNumberMethods 的代码如下\n源文件:Include/object.h\n// Include/object.h\ntypedef PyObject * (*binaryfunc)(PyObject *, PyObject *);\n\ntypedef struct {\n binaryfunc nb_matrix_multiply;\n binaryfunc nb_inplace_matrix_multiply;\n\n ......\n} PyNumberMethods;\n\nPyNumberMethods 定义了一个数值对象该支持的操作。一个数值对象如 整数对象,那么它的类型对象 PyLong_Type中tp_as_number.nb_add\n就指定了它进行加法操作时的具体行为。\n在以下代码中可以看出PyLong_Type中的tp_as_number项指向的是long_as_number\n源文件:Objects/longobject.h\n// Objects/longobject.c\nstatic PyNumberMethods long_as_number = {\n (binaryfunc)long_add, /*nb_add*/\n (binaryfunc)long_sub, /*nb_subtract*/\n (binaryfunc)long_mul, /*nb_multiply*/\n\n ......\n};\n\nPyTypeObject PyLong_Type = {\n PyVarObject_HEAD_INIT(&PyType_Type, 0)\n \"int\", /* tp_name */\n offsetof(PyLongObject, ob_digit), /* tp_basicsize */\n sizeof(digit), /* tp_itemsize */\n long_dealloc, /* tp_dealloc */\n 0, /* tp_print */\n 0, /* tp_getattr */\n 0, /* tp_setattr */\n 0, /* tp_reserved */\n long_to_decimal_string, /* tp_repr */\n &long_as_number, /* tp_as_number */\n 0, /* tp_as_sequence */\n 0, /* tp_as_mapping */\n\n ......\n};\n\nPySequenceMethods *tp_as_sequence 和 PyMappingMethods *tp_as_mapping的分析与PyNumberMethods *tp_as_number 相同,大家可以自行查阅源码\n对象的多态性\nPython 创建一个对象比如 PyLongObject 时,会分配内存进行初始化,然后\nPython 内部会用 PyObject* 变量来维护这个对象,其他对象也与此类似\n所以在 Python 内部各个函数之间传递的都是一种范型指针 PyObject*\n我们不知道这个指针所指的对象是什么类型,只能通过所指对象的 ob_type 域\n动态进行判断,而 Python 正是通过 ob_type 实现了多态机制\n考虑以下的 calc_hash 函数\nPy_hash_t\ncalc_hash(PyObject* object)\n{\n Py_hash_t hash = object->ob_type->tp_hash(object);\n return hash;\n}\n\n如果传递给 calc_hash 函数的指针是一个 PyLongObject*,那么它会调用 PyLongObject 对象对应的类型对象中定义的 hash 操作tp_hash,tp_hash可以在PyTypeObject中找到,\n而具体赋值绑定我们可以在 PyLong_Type 初始化代码中看到绑定的是long_hash函数\n源文件:Objects/longobject.c\n// Objects/longobject.c\nPyTypeObject PyLong_Type = {\n PyVarObject_HEAD_INIT(&PyType_Type, 0)\n \"int\", /* tp_name */\n ...\n\n (hashfunc)long_hash, /* tp_hash */\n\n ...\n};\n\n如果指针是一个 PyUnicodeObject*,那么就会调用 PyUnicodeObject 对象对应的类型对象中定义的 hash 操作,查看源码可以看到 实际绑定的是 unicode_hash函数\n源文件:Objects/unicodeobject.c\n// Objects/unicodeobject.c\nPyTypeObject PyUnicode_Type = {\n PyVarObject_HEAD_INIT(&PyType_Type, 0)\n \"str\", /* tp_name */\n\n ...\n\n (hashfunc) unicode_hash, /* tp_hash*/\n\n ...\n};\n\n引用计数\nPython 通过引用计数来管理维护对象在内存中的存在与否\nPython 中的每个东西都是一个对象, 都有ob_refcnt 变量,这个变量维护对象的引用计数,从而最终决定该对象的创建与销毁\n在 Python 中,主要通过 Py_INCREF(op)与Py_DECREF(op) 这两个宏\n来增加和减少对一个对象的引用计数。当一个对象的引用计数减少到 0 之后,\nPy_DECREF将调用该对象的tp_dealloc来释放对象所占用的内存和系统资源;\n但这并不意味着最终一定会调用 free 释放内存空间。因为频繁的申请、释放内存会大大降低 Python 的执行效率。因此 Python 中大量采用了内存对象池的技术,使得对象释放的空间归还给内存池而不是直接free,后续使用可先从对象池中获取\n源文件:Include/object.h\n// Include/object.h\n#define _Py_NewReference(op) ( \\\n _Py_INC_TPALLOCS(op) _Py_COUNT_ALLOCS_COMMA \\\n _Py_INC_REFTOTAL _Py_REF_DEBUG_COMMA \\\n Py_REFCNT(op) = 1)\n\n#define Py_INCREF(op) ( \\\n _Py_INC_REFTOTAL _Py_REF_DEBUG_COMMA \\\n ((PyObject *)(op))->ob_refcnt++)\n\n#define Py_DECREF(op) \\\n do { \\\n PyObject *_py_decref_tmp = (PyObject *)(op); \\\n if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \\\n --(_py_decref_tmp)->ob_refcnt != 0) \\\n _Py_CHECK_REFCNT(_py_decref_tmp) \\\n else \\\n _Py_Dealloc(_py_decref_tmp); \\\n } while (0)\n\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"objects/long-object/":{"url":"objects/long-object/","title":"Python 整数对象","keywords":"","body":"Python 整数对象\nCPython2 的整数对象 有 PyIntObject 和 PyLongObject 这两种类型,\nCPython3 只保留了 PyLongObject\n在 源文件:Objects/longobject.c\n的第三行有这么一句话 XXX The functional organization of this file is terrible\n可见这个变化不是一蹴而就的,有比较艰辛的过程,大家有兴趣可以去挖掘一下\nPyLongObject\n源文件:Include/longobject.h\n// longobject.h\n\ntypedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */\n\n源文件:Include/longintrepr.h\n// longintrepr.h\n/* Long integer representation.\n The absolute value of a number is equal to\n 一个数的绝对值等价于下面的表达式\n SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i)\n\n Negative numbers are represented with ob_size \n从源码可以看出 PyLongObject 是变长对象\n类型对象 PyLong_Type\n源文件:Objects/longobject.c\n// Objects/longobject.c\n\nPyTypeObject PyLong_Type = {\n PyVarObject_HEAD_INIT(&PyType_Type, 0)\n \"int\", /* tp_name */\n offsetof(PyLongObject, ob_digit), /* tp_basicsize */\n sizeof(digit), /* tp_itemsize */\n long_dealloc, /* tp_dealloc */\n 0, /* tp_print */\n 0, /* tp_getattr */\n 0, /* tp_setattr */\n 0, /* tp_reserved */\n long_to_decimal_string, /* tp_repr */\n &long_as_number, /* tp_as_number */\n 0, /* tp_as_sequence */\n 0, /* tp_as_mapping */\n (hashfunc)long_hash, /* tp_hash */\n 0, /* tp_call */\n long_to_decimal_string, /* tp_str */\n PyObject_GenericGetAttr, /* tp_getattro */\n 0, /* tp_setattro */\n 0, /* tp_as_buffer */\n Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE |\n Py_TPFLAGS_LONG_SUBCLASS, /* tp_flags */\n long_doc, /* tp_doc */\n 0, /* tp_traverse */\n 0, /* tp_clear */\n long_richcompare, /* tp_richcompare */\n 0, /* tp_weaklistoffset */\n 0, /* tp_iter */\n 0, /* tp_iternext */\n long_methods, /* tp_methods */\n 0, /* tp_members */\n long_getset, /* tp_getset */\n 0, /* tp_base */\n 0, /* tp_dict */\n 0, /* tp_descr_get */\n 0, /* tp_descr_set */\n 0, /* tp_dictoffset */\n 0, /* tp_init */\n 0, /* tp_alloc */\n long_new, /* tp_new */\n PyObject_Del, /* tp_free */\n};\n\n创建整数对象\n从 PyLong_Type 可以看出,创建一个整数对象的入口函数为 long_new\n源文件:Objects/clinic/longobject.c.h\n// Objects/clinic/longobject.c.h\n/*[clinic input]\npreserve\n[clinic start generated code]*/\n\nstatic PyObject *\nlong_new_impl(PyTypeObject *type, PyObject *x, PyObject *obase);\n\nstatic PyObject *\nlong_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)\n{\n PyObject *return_value = NULL;\n static const char * const _keywords[] = {\"\", \"base\", NULL};\n static _PyArg_Parser _parser = {\"|OO:int\", _keywords, 0};\n PyObject *x = NULL;\n PyObject *obase = NULL;\n\n if (!_PyArg_ParseTupleAndKeywordsFast(args, kwargs, &_parser,\n &x, &obase)) {\n goto exit;\n }\n return_value = long_new_impl(type, x, obase);\n\nexit:\n return return_value;\n}\n\n具体实现在 long_new_impl 源文件:Objects/longobject.c\n// Objects/longobject.c\n\n/*[clinic input]\n@classmethod\nint.__new__ as long_new\n x: object(c_default=\"NULL\") = 0\n /\n base as obase: object(c_default=\"NULL\") = 10\n[clinic start generated code]*/\n\nstatic PyObject *\nlong_new_impl(PyTypeObject *type, PyObject *x, PyObject *obase)\n/*[clinic end generated code: output=e47cfe777ab0f24c input=81c98f418af9eb6f]*/\n{\n Py_ssize_t base;\n\n if (type != &PyLong_Type)\n return long_subtype_new(type, x, obase); /* Wimp out */\n if (x == NULL) {\n if (obase != NULL) {\n PyErr_SetString(PyExc_TypeError,\n \"int() missing string argument\");\n return NULL;\n }\n return PyLong_FromLong(0L);\n }\n if (obase == NULL)\n return PyNumber_Long(x);\n\n base = PyNumber_AsSsize_t(obase, NULL);\n if (base == -1 && PyErr_Occurred())\n return NULL;\n if ((base != 0 && base 36) {\n PyErr_SetString(PyExc_ValueError,\n \"int() base must be >= 2 and \n从 long_new_impl 函数可以看出有如下几种情况\n\nx == NULL 且 obase != NULL 调用 PyLong_FromLong\nobase 为 NULL 调用 PyNumber_Long\nx 和 obase 都不为 NULL\nPyUnicode 调用 PyLong_FromUnicodeObject,最终调用 PyLong_FromString\nPyByteArray/PyBytes 调用_PyLong_FromBytes,最终调用 PyLong_FromString\n\n\n\n小整数对象\n一些整数在一开始就会被初始化一直留存,当再次使用直接从小整数对象池中获取,不用频繁的申请内存。\n默认的小整数范围是 [-5, 257) 源文件:Objects/longobject.c\n// Objects/longobject.c\n\n#ifndef NSMALLPOSINTS\n#define NSMALLPOSINTS 257\n#endif\n#ifndef NSMALLNEGINTS\n#define NSMALLNEGINTS 5\n#endif\n\n#if NSMALLNEGINTS + NSMALLPOSINTS > 0\n/* Small integers are preallocated in this array so that they\n can be shared.\n The integers that are preallocated are those in the range\n -NSMALLNEGINTS (inclusive) to NSMALLPOSINTS (not inclusive). */\nstatic PyLongObject small_ints[NSMALLNEGINTS + NSMALLPOSINTS];\n#ifdef COUNT_ALLOCS\nPy_ssize_t quick_int_allocs, quick_neg_int_allocs;\n#endif\n\nstatic PyObject *\nget_small_int(sdigit ival)\n{\n PyObject *v;\n assert(-NSMALLNEGINTS = 0)\n quick_int_allocs++;\n else\n quick_neg_int_allocs++;\n#endif\n return v;\n}\n#define CHECK_SMALL_INT(ival) \\\n do if (-NSMALLNEGINTS \n宏 CHECK_SMALL_INT 会检查传入的数是否在小整数范围内,如果是直接返回。\n可以在创建或复制整数对象等函数中找到 CHECK_SMALL_INT 的身影,以下只列出了\nPyLong_FromLong,就不一一列举了\n源文件:Objects/longobject.c\n// Object/longobject.c\n\nPyObject *\nPyLong_FromLong(long ival)\n{\n PyLongObject *v;\n unsigned long abs_ival;\n unsigned long t; /* unsigned so >> doesn't propagate sign bit */\n int ndigits = 0;\n int sign;\n\n CHECK_SMALL_INT(ival);\n\n ...\n}\n\n小整数初始化\n源文件:Objects/longobject.c\n// Objects/longobject.c\n\nint\n_PyLong_Init(void)\n{\n#if NSMALLNEGINTS + NSMALLPOSINTS > 0\n int ival, size;\n PyLongObject *v = small_ints;\n\n for (ival = -NSMALLNEGINTS; ival ob_digit[0] == (digit)abs(ival));\n }\n else {\n (void)PyObject_INIT(v, &PyLong_Type);\n }\n Py_SIZE(v) = size;\n v->ob_digit[0] = (digit)abs(ival);\n }\n#endif\n _PyLong_Zero = PyLong_FromLong(0);\n if (_PyLong_Zero == NULL)\n return 0;\n _PyLong_One = PyLong_FromLong(1);\n if (_PyLong_One == NULL)\n return 0;\n\n /* initialize int_info */\n if (Int_InfoType.tp_name == NULL) {\n if (PyStructSequence_InitType2(&Int_InfoType, &int_info_desc) \n整数的存储结构\n源文件:Objects/longobject.c\n在 long_to_decimal_string_internal中添加如下代码并重新编译安装\n// Objects/longobject.c\nstatic int\nlong_to_decimal_string_internal(PyObject *aa,\n PyObject **p_output,\n _PyUnicodeWriter *writer,\n _PyBytesWriter *bytes_writer,\n char **bytes_str)\n{\n PyLongObject *scratch, *a;\n PyObject *str = NULL;\n Py_ssize_t size, strlen, size_a, i, j;\n digit *pout, *pin, rem, tenpow;\n int negative;\n int d;\n enum PyUnicode_Kind kind;\n\n a = (PyLongObject *)aa;\n\n // 添加打印代码\n printf(\"ob_size = %d\\n\", Py_SIZE(a));\n for (int index = 0; index ob_digit[index]);\n }\n\n ...\n}\n\n编译安装后进入 python 解释器输入如下代码\nnum = 9223372043297226753\nprint(num)\n\n# output\n>>> ob_size = 3\n>>> ob_digit[0] = 1\n>>> ob_digit[1] = 6\n>>> ob_digit[2] = 8\n>>> 9223372043297226753\n\n如下图所示\n\n注:这里的 30 是由 PyLong_SHIFT 决定的,64 位系统中,PyLong_SHIFT 为 30,否则 PyLong_SHIFT 为 15\n整数对象的数值操作\n可以看到整数对象的数值操作较多,由于篇幅限制无法一一分析,这里只分析整数的部分操作\n源文件:Objects/longobject.c\n// Objects/longobject.c\n\nstatic PyNumberMethods long_as_number = {\n (binaryfunc)long_add, /*nb_add 加法 */\n (binaryfunc)long_sub, /*nb_subtract 减法 */\n (binaryfunc)long_mul, /*nb_multiply 乘法 */\n long_mod, /*nb_remainder 取余 */\n long_divmod, /*nb_divmod */\n long_pow, /*nb_power 求幂 */\n (unaryfunc)long_neg, /*nb_negative */\n (unaryfunc)long_long, /*tp_positive */\n (unaryfunc)long_abs, /*tp_absolute 绝对值 */\n (inquiry)long_bool, /*tp_bool 求bool值 */\n (unaryfunc)long_invert, /*nb_invert 反转 */\n long_lshift, /*nb_lshift 逻辑左移 */\n (binaryfunc)long_rshift, /*nb_rshift 逻辑右移 */\n long_and, /*nb_and 与操作 */\n long_xor, /*nb_xor 异或 */\n long_or, /*nb_or 或操作 */\n long_long, /*nb_int*/\n 0, /*nb_reserved*/\n long_float, /*nb_float*/\n 0, /* nb_inplace_add */\n 0, /* nb_inplace_subtract */\n 0, /* nb_inplace_multiply */\n 0, /* nb_inplace_remainder */\n 0, /* nb_inplace_power */\n 0, /* nb_inplace_lshift */\n 0, /* nb_inplace_rshift */\n 0, /* nb_inplace_and */\n 0, /* nb_inplace_xor */\n 0, /* nb_inplace_or */\n long_div, /* nb_floor_divide */\n long_true_divide, /* nb_true_divide */\n 0, /* nb_inplace_floor_divide */\n 0, /* nb_inplace_true_divide */\n long_long, /* nb_index */\n};\n\n整数相加\n源文件:Objects/longobject.c\n// Objects/longobject.c\n\nstatic PyObject *\nlong_add(PyLongObject *a, PyLongObject *b)\n{\n PyLongObject *z;\n\n CHECK_BINOP(a, b);\n\n if (Py_ABS(Py_SIZE(a)) \n可以看到整数的加法运算函数 long_add 根据 a、b 的 ob_size 又细分为两个函数 (x_add 和 x_sub) 做处理\n源文件:Objects/longobject.c\n// Objects/longobject.c\n\n/* Add the absolute values of two integers. */\nstatic PyLongObject *\nx_add(PyLongObject *a, PyLongObject *b)\n{\n Py_ssize_t size_a = Py_ABS(Py_SIZE(a)), size_b = Py_ABS(Py_SIZE(b));\n PyLongObject *z;\n Py_ssize_t i;\n digit carry = 0;\n\n /* Ensure a is the larger of the two: */\n // 确保 a 大于 b\n if (size_a ob_digit[i] + b->ob_digit[i];\n z->ob_digit[i] = carry & PyLong_MASK;\n carry >>= PyLong_SHIFT;\n }\n for (; i ob_digit[i];\n z->ob_digit[i] = carry & PyLong_MASK;\n carry >>= PyLong_SHIFT;\n }\n z->ob_digit[i] = carry;\n return long_normalize(z);\n}\n\n加法运算函数 x_add 从 ob_digit 数组的低位开始依次按位相加,carry 做进位处理,然后处理 a 对象的高位数字,最后使用 long_normalize 函数调整 ob_size,确保 ob_digit[abs(ob_size)-1]不为零,这与普通四则运算的加法运算相同,只不过进位单元不同而已\n\n源文件:Objects/longobject.c\n// Objects/longobject.c\n\n/* Subtract the absolute values of two integers. */\n\nstatic PyLongObject *\nx_sub(PyLongObject *a, PyLongObject *b)\n{\n Py_ssize_t size_a = Py_ABS(Py_SIZE(a)), size_b = Py_ABS(Py_SIZE(b));\n PyLongObject *z;\n Py_ssize_t i;\n int sign = 1;\n digit borrow = 0;\n\n /* Ensure a is the larger of the two: */\n // 确保 a 大于 b\n if (size_a = 0 && a->ob_digit[i] == b->ob_digit[i])\n ;\n if (i ob_digit[i] ob_digit[i]) {\n sign = -1;\n { PyLongObject *temp = a; a = b; b = temp; }\n }\n size_a = size_b = i+1;\n }\n z = _PyLong_New(size_a);\n if (z == NULL)\n return NULL;\n for (i = 0; i PyLong_SHIFT. */\n borrow = a->ob_digit[i] - b->ob_digit[i] - borrow;\n z->ob_digit[i] = borrow & PyLong_MASK;\n borrow >>= PyLong_SHIFT;\n borrow &= 1; /* Keep only one sign bit */\n }\n for (; i ob_digit[i] - borrow;\n z->ob_digit[i] = borrow & PyLong_MASK;\n borrow >>= PyLong_SHIFT;\n borrow &= 1; /* Keep only one sign bit */\n }\n assert(borrow == 0);\n if (sign \n与普通四则运算减法相同,数不够大则向高一位借位,\n减法运算函数 x_sub 的示例图如下,注:PyLong_SHIFT 为 30\n\n整数相乘\n源文件:Objects/longobject.c\n// Objects/longobject.c\nstatic PyObject *\nlong_mul(PyLongObject *a, PyLongObject *b)\n{\n PyLongObject *z;\n\n CHECK_BINOP(a, b);\n\n /* fast path for single-digit multiplication */\n if (Py_ABS(Py_SIZE(a)) \nk_mul 函数是一种快速乘法 源文件\n\nKaratsuba 的算法主要是用于两个大数的乘法,极大提高了运算效率,相较于普通乘法降低了复杂度,并在其中运用了递归的思想。\n基本的原理和做法是将位数很多的两个大数 x 和 y 分成位数较少的数,每个数都是原来 x 和 y 位数的一半。\n这样处理之后,简化为做三次乘法,并附带少量的加法操作和移位操作。\n\n具体可以看 wiki Karatsuba 算法的实现\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"objects/list-object/":{"url":"objects/list-object/","title":"Python List 对象","keywords":"","body":"Python List 对象\n在Python中的list可以存放任何类型的数据,查看PyListObject可以发现,list实际存放的是PyObject* 指针\nPyListObject\n源文件:Include/listobject.h\n// listobject.h\n\ntypedef struct {\n PyObject_VAR_HEAD\n /* Vector of pointers to list elements. list[0] is ob_item[0], etc. */\n PyObject **ob_item;\n\n /* ob_item contains space for 'allocated' elements. The number\n * currently in use is ob_size.\n * Invariants:\n * 0 \n示例\nlst = []\nlst.append(1)\n\n其存储结构如下图\n\nPyListObject对象的一些操作\n\n创建PyListObject PyList_New\n对象赋值 PyList_SetItem\n获取元素 PyList_GetItem\n插入元素 PyList_Insert\n追加元素 PyList_Append\n移除元素 list_remove\n调整list大小 list_resize\n\nPyList_New 创建对象\n为了避免频繁的申请内存空间,创建PyListObject的时候会先检查缓冲池是否有可用空间\n源文件:Objects/listobject.c\n// listobject.c\n\nPyObject *\nPyList_New(Py_ssize_t size)\n{\n PyListObject *op;\n#ifdef SHOW_ALLOC_COUNT\n static int initialized = 0;\n if (!initialized) {\n Py_AtExit(show_alloc);\n initialized = 1;\n }\n#endif\n\n // size 合法性检查\n if (size ob_item = NULL;\n else {\n op->ob_item = (PyObject **) PyMem_Calloc(size, sizeof(PyObject *));\n if (op->ob_item == NULL) {\n Py_DECREF(op);\n return PyErr_NoMemory();\n }\n }\n Py_SIZE(op) = size;\n op->allocated = size;\n _PyObject_GC_TRACK(op);\n return (PyObject *) op;\n}\n\nPyListObject缓冲池默认大小为80 源文件:Include/listobject.c\n// listobject.c\n\n/* Empty list reuse scheme to save calls to malloc and free */\n#ifndef PyList_MAXFREELIST\n#define PyList_MAXFREELIST 80\n#endif\nstatic PyListObject *free_list[PyList_MAXFREELIST];\nstatic int numfree = 0;\n\nPyList_SetItem 元素赋值\n源文件:Objects/listobject.c\n// listobject.c\n\nint\nPyList_SetItem(PyObject *op, Py_ssize_t i,\n PyObject *newitem)\n{\n PyObject **p;\n if (!PyList_Check(op)) {\n Py_XDECREF(newitem);\n PyErr_BadInternalCall();\n return -1;\n }\n if (i = Py_SIZE(op)) {\n Py_XDECREF(newitem);\n PyErr_SetString(PyExc_IndexError,\n \"list assignment index out of range\");\n return -1;\n }\n p = ((PyListObject *)op) -> ob_item + i;\n Py_XSETREF(*p, newitem);\n return 0;\n}\n\n元素赋值的示例\nlst = [0, 1, 2]\nlst[0] = 3\n# 这里 lst[0] = 3 会调用 PyList_SetItem 函数\n\nPyList_GetItem 获取元素\n源文件:Objects/listobject.c\n// Objects/listobject.c\n\nPyObject *\nPyList_GetItem(PyObject *op, Py_ssize_t i)\n{\n if (!PyList_Check(op)) {\n PyErr_BadInternalCall();\n return NULL;\n }\n if (i = Py_SIZE(op)) {\n if (indexerr == NULL) {\n indexerr = PyUnicode_FromString(\n \"list index out of range\");\n if (indexerr == NULL)\n return NULL;\n }\n PyErr_SetObject(PyExc_IndexError, indexerr);\n return NULL;\n }\n return ((PyListObject *)op) -> ob_item[i];\n}\n\n获取元素的示例\nlst = [1, 2, 3, 4]\nprint(lst[3])\n# lst[3] 实际调用的就是 PyList_GetItem\n# 根据索引返回对应的元素\n\nPyList_Append 追加元素\nPyList_Append 调用 app1\nint\nPyList_Append(PyObject *op, PyObject *newitem)\n{\n if (PyList_Check(op) && (newitem != NULL))\n return app1((PyListObject *)op, newitem);\n PyErr_BadInternalCall();\n return -1;\n}\n\n源文件:Objects/listobject.c\n// Objects/listobject.c\n\nstatic int\napp1(PyListObject *self, PyObject *v)\n{\n Py_ssize_t n = PyList_GET_SIZE(self);\n\n assert (v != NULL);\n if (n == PY_SSIZE_T_MAX) {\n PyErr_SetString(PyExc_OverflowError,\n \"cannot add more objects to list\");\n return -1;\n }\n\n if (list_resize(self, n+1) \n从app1代码可以看出追加元素操作大致流程如下\n\n调用list_resize,将list大小加一\n将元素插入list尾部\n\nPyList_Insert 插入元素\nPyList_Insert 调用 ins1\nint\nPyList_Insert(PyObject *op, Py_ssize_t where, PyObject *newitem)\n{\n if (!PyList_Check(op)) {\n PyErr_BadInternalCall();\n return -1;\n }\n return ins1((PyListObject *)op, where, newitem);\n}\n\n源文件:Objects/listobject.c\n// Objects/listobject.c\n\nstatic int\nins1(PyListObject *self, Py_ssize_t where, PyObject *v)\n{\n Py_ssize_t i, n = Py_SIZE(self);\n PyObject **items;\n if (v == NULL) {\n PyErr_BadInternalCall();\n return -1;\n }\n if (n == PY_SSIZE_T_MAX) {\n PyErr_SetString(PyExc_OverflowError,\n \"cannot add more objects to list\");\n return -1;\n }\n\n if (list_resize(self, n+1) n)\n where = n;\n items = self->ob_item;\n for (i = n; --i >= where; )\n items[i+1] = items[i];\n Py_INCREF(v);\n items[where] = v;\n return 0;\n}\n\n从ins1代码可以看出插入元素操作大致流程如下\n\n调用list_resize,将list大小加一\n将要插入的位置的元素都往后移一个位置\n将元素插入指定位置\n\nlist_remove 移除元素\n源文件:Objects/listobject.c\n// listobject.c\n\nstatic PyObject *\nlist_remove(PyListObject *self, PyObject *value)\n/*[clinic end generated code: output=f087e1951a5e30d1 input=2dc2ba5bb2fb1f82]*/\n{\n Py_ssize_t i;\n\n for (i = 0; i ob_item[i], value, Py_EQ);\n if (cmp > 0) {\n if (list_ass_slice(self, i, i+1,\n (PyObject *)NULL) == 0)\n Py_RETURN_NONE;\n return NULL;\n }\n else if (cmp \n移除元素示例\nlst = [0, 2, 4, 3]\nlst.remove(3)\n\"\"\"\nlst.remove(3) 会调用 list_remove函数,\nlist_remove函数会遍历列表,使用PyObject_RichCompareBool与目标值进行比较,\n相同则调用list_ass_slice进行移除,当遍历完列表还未找到则报错\n\"\"\"\n\nlist_resize 调整list存储空间\n随着list元素的增加,list的存储空间可能会不够用,这个时候就需要扩大list的存储空间。\n随着list元素的减少,list的存储空间可能存在冗余,这个时候就需要缩小list的存储空间。\n函数list_resize就是用于调节list存储空间大小的\n源文件:Objects/listobject.c\n// listobject.c\n\nstatic int\nlist_resize(PyListObject *self, Py_ssize_t newsize)\n{\n PyObject **items;\n size_t new_allocated, num_allocated_bytes;\n Py_ssize_t allocated = self->allocated;\n\n /* Bypass realloc() when a previous overallocation is large enough\n to accommodate the newsize. If the newsize falls lower than half\n the allocated size, then proceed with the realloc() to shrink the list.\n */\n if (allocated >= newsize && newsize >= (allocated >> 1)) {\n assert(self->ob_item != NULL || newsize == 0);\n Py_SIZE(self) = newsize;\n return 0;\n }\n\n /* This over-allocates proportional to the list size, making room\n * for additional growth. The over-allocation is mild, but is\n * enough to give linear-time amortized behavior over a long\n * sequence of appends() in the presence of a poorly-performing\n * system realloc().\n * The growth pattern is: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...\n * Note: new_allocated won't overflow because the largest possible value\n * is PY_SSIZE_T_MAX * (9 / 8) + 6 which always fits in a size_t.\n */\n new_allocated = (size_t)newsize + (newsize >> 3) + (newsize (size_t)PY_SSIZE_T_MAX / sizeof(PyObject *)) {\n PyErr_NoMemory();\n return -1;\n }\n\n if (newsize == 0)\n new_allocated = 0;\n num_allocated_bytes = new_allocated * sizeof(PyObject *);\n items = (PyObject **)PyMem_Realloc(self->ob_item, num_allocated_bytes);\n if (items == NULL) {\n PyErr_NoMemory();\n return -1;\n }\n self->ob_item = items;\n Py_SIZE(self) = newsize;\n self->allocated = new_allocated;\n return 0;\n}\n\n当 allocated/2 时,list_resize只会改变 ob_size不会改变allocated。\n其他情况则需要调用PyMem_Realloc函数分配新的空间存储列表元素。\n列表allocated的增长模式是 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...\n其公式为 new_allocated = (size_t)newsize + (newsize >> 3) + (newsize \nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"objects/dict-object/":{"url":"objects/dict-object/","title":"Python Dict 对象","keywords":"","body":"Python 字典\nDictionary object implementation using a hash table ,通过描述可知,python 的字典就是实现了一个 hash 表。\nPython 字典概述\n在 python 的字典中,一个键值对的对应保存就是 PyDictEntry 类型来保存;\n源文件:Include/dict-common.h\n// Objects/dict-common.h\ntypedef struct {\n /* Cached hash code of me_key. */\n Py_hash_t me_hash;\n PyObject *me_key;\n PyObject *me_value; /* This field is only meaningful for combined tables */\n} PyDictKeyEntry;\n\n其中,me_hash 就是哈希生成的值,me_key 就是对应的 key 值,me_value 就是对应的值。\n在 python 中,在一个 PyDictObject 对象的变化过程中,entry 的状态会在不同的状态间转换。基本上在如下四种状态中转换:Unused、Active、Dummy 和 Pending。\n\nUnused:没有插入任何一个获取的 key 与 value,并且在此之前也没有存储任何的 key,value,每一个 entry 在初始化的时候都会处于这种状态,并且 Unused 会被里面切换到 Active 态,当有 key 插入,这就是 entry 初始化的状态。\nActive:当 index>=0 时,me_key 不为空并且 me_value 不为空,保存了一个键值对,Active 可以转变为 Dummy 或者 Pending 状态,当一个键被删除的时候,这只会在 me_value 不为空的时候出现。\nDummy:先前保存了一个 Active 的键值对,但是这个键值对被删除了并且一个活跃的键值对还没有填入该位置,Dummy 可以转变为 Active 当删除的时候,Dummy 的位置不能被重新使用,一旦发生碰撞,探针序列就无法知道这对键值对曾是活跃的键值对。\nPending:索引>=0,键!=空,值=空(仅拆分),尚未插入到拆分表中。\n\n字典的两种类型\npython 的字典类型中包含了两种,分离字典(split-table dictionaries)与联合字典(combined-table dictonaries)。详细的信息可查看有关 dict 的描述pep-0412。\nsplit-table dictionaries\n当被创建的字典是用来保存 object 的__dict__属性时,该字典才会创建为一个 split-table,它们的键表都被缓存在类型属性中,并且允许所有该类型的实例都可以共享该 keys。当出现一个事件将字典的属性值进行改变的时候,个别字典将慢慢的转化成组合表的形式。这就保证了在大部分的应用场景下很高的内存利用效率,并保证了在各个场景下的正确性。当 split-dict 重新改变大小,它会立马改变为一个 combined-table,如果重置大小作为保存实例属性的结果,并且只有一个该 object 的实例,字典会立马再变为一个 split-table。如果从 split-table 中删除一个 key, value,它不会删除 keys tables 中对应的该值,而只是将 values 数值中移除了该 value。\ncombined-table dictionaries\n直接通过 dict 內建函数与{}生成的字典,模块和大部分其他字典都会创建为 combined-table 字典,一个 combined-table 不会改变为一个 split-table 字典,该字典的行为方式与最初的字典的行为方式大致相同。\n容器的相关数据结构\n字典对象是通过 PyDictObject 来实现数据的,详情如下;\n源文件:Include/dictobject.h\n// Include/dictobject.h\ntypedef struct _dictkeysobject PyDictKeysObject;\n\n/* The ma_values pointer is NULL for a combined table\n * or points to an array of PyObject* for a split table\n */\ntypedef struct {\n PyObject_HEAD\n\n /* Number of items in the dictionary */\n Py_ssize_t ma_used;  // 使用的keys个数\n\n /* Dictionary version: globally unique, value change each time\n the dictionary is modified */\n uint64_t ma_version_tag;\n\n PyDictKeysObject *ma_keys;     // 如果有则是保存的keys数据\n\n /* If ma_values is NULL, the table is \"combined\": keys and values\n are stored in ma_keys.\n\n If ma_values is not NULL, the table is splitted:\n keys are stored in ma_keys and values are stored in ma_values */\n PyObject **ma_values;  // 如果不为空则保存的是values\n} PyDictObject;\n\n其中,PyDictKeysObject 的定义如下;\n源文件:Include/dict-common.h\n// Objects/dict-common.h\n/* See dictobject.c for actual layout of DictKeysObject */\nstruct _dictkeysobject {\n Py_ssize_t dk_refcnt;                  // 引用计数\n\n /* Size of the hash table (dk_indices). It must be a power of 2. */\n Py_ssize_t dk_size;                   // hash table 的大小必须是2的倍数\n\n /* Function to lookup in the hash table (dk_indices):\n\n - lookdict(): general-purpose, and may return DKIX_ERROR if (and\n only if) a comparison raises an exception.\n\n - lookdict_unicode(): specialized to Unicode string keys, comparison of\n which can never raise an exception; that function can never return\n DKIX_ERROR.\n\n - lookdict_unicode_nodummy(): similar to lookdict_unicode() but further\n specialized for Unicode string keys that cannot be the value.\n\n - lookdict_split(): Version of lookdict() for split tables. */\n dict_lookup_func dk_lookup; // 哈希查找函数\n\n /* Number of usable entries in dk_entries. */\n Py_ssize_t dk_usable; // 可用的entry数量\n\n /* Number of used entries in dk_entries. */ \n Py_ssize_t dk_nentries;          // 已经使用的entry数量\n\n /* Actual hash table of dk_size entries. It holds indices in dk_entries,\n or DKIX_EMPTY(-1) or DKIX_DUMMY(-2).\n\n Indices must be: 0 \n相关数据结构的内存布局为;\n\nPython 字典示例\n本次示例脚本如下:\nd = {}\nd['1']='2'\nd['1']='e'\nd.pop('1')\n\n通过 Python 的反汇编工具获取字节码;\npython -m dis dict_test.py\n\n输出的字节码如下;\n 2 0 BUILD_MAP 0\n 2 STORE_NAME 0 (d)\n\n 3 4 LOAD_CONST 0 ('2')\n 6 LOAD_NAME 0 (d)\n 8 LOAD_CONST 1 ('1')\n 10 STORE_SUBSCR\n\n 4 12 LOAD_CONST 2 ('e')\n 14 LOAD_NAME 0 (d)\n 16 LOAD_CONST 1 ('1')\n 18 STORE_SUBSCR\n\n 5 20 LOAD_NAME 0 (d)\n 22 LOAD_METHOD 1 (pop)\n 24 LOAD_CONST 1 ('1')\n 26 CALL_METHOD 1\n 28 POP_TOP\n 30 LOAD_CONST 3 (None)\n 32 RETURN_VALUE\n\n通过字节码指令可知,首先调用了 BUILD_MAP 来创建一个新的字典,接着就对新建的字典 d 进行了赋值操作与更新操作,最后调用了 pop 方法删除一个 key。接下来就详细分析一下相关流程。\n字典的初始化流程\n通过查找 BUILD_MAP 的虚拟机执行函数;\n源文件:Python/ceval.c\n// Python/ceval.c\nswitch (opcode) {\n ...\n\n TARGET(BUILD_MAP) {\n Py_ssize_t i;\n PyObject *map = _PyDict_NewPresized((Py_ssize_t)oparg); // 新建并初始化一个字典\n if (map == NULL)\n goto error;  // 如果新建失败则报错\n for (i = oparg; i > 0; i--) {   // 检查在新建的过程中是否通过参数传值\n int err;\n PyObject *key = PEEK(2*i);\n PyObject *value = PEEK(2*i - 1);\n err = PyDict_SetItem(map, key, value);      // 找到对应的值并讲该值设置到map中\n if (err != 0) {                        // 检查是否报错\n Py_DECREF(map);\n goto error;                        // 如果错误就报错处理\n }\n }\n\n while (oparg--) {\n Py_DECREF(POP());                       // 弹出栈上输入参数的引用\n Py_DECREF(POP());\n }\n PUSH(map);                              // 讲生成的map压栈\n DISPATCH();                             // 检查是否需要执行下一条字节码指令\n }\n}\n\n从该函数的执行可知,初始化的函数是从_PyDict_NewPresized 开始,该函数就是生成并初始化一个字典;\n源文件:Objects/dictobject.c\n// Objects/dictobject.c\n\nPyObject *\n_PyDict_NewPresized(Py_ssize_t minused)\n{\n const Py_ssize_t max_presize = 128 * 1024;  // 字典最大的容量\n Py_ssize_t newsize;\n PyDictKeysObject *new_keys;\n\n /* There are no strict guarantee that returned dict can contain minused\n * items without resize. So we create medium size dict instead of very\n * large dict or MemoryError.\n */\n if (minused > USABLE_FRACTION(max_presize)) { // 检查传入的数量是否超过最大值\n newsize = max_presize;\n }\n else {\n Py_ssize_t minsize = ESTIMATE_SIZE(minused); // 获取最小的值,在新建一个空的字典的时候该值为0\n newsize = PyDict_MINSIZE; // 设置字典的最小值 为8\n while (newsize \n首先,先计算出需要生成的字典的大小,然后再初始化一个 PyDictKeysObject,最后就生成一个 PyDictObject 返回。继续查看 new_keys_object 的执行流程;\n源文件:Objects/dictobject.c\n// Objects/dictobject.c\n\nstatic PyDictKeysObject *new_keys_object(Py_ssize_t size)\n{\n PyDictKeysObject *dk;\n Py_ssize_t es, usable;\n\n assert(size >= PyDict_MINSIZE); // 检查size是否大于最小size\n assert(IS_POWER_OF_2(size)); // 检查是否是2的倍数\n\n usable = USABLE_FRACTION(size); // 检查是否可用  根据经验在1/2和2/3之间效果最好\n if (size 4\n else if (size 0) {      // 是否有缓存,如果有缓存就选择缓存中的dk\n dk = keys_free_list[--numfreekeys];\n }\n else {\n dk = PyObject_MALLOC(sizeof(PyDictKeysObject)\n + es * size\n + sizeof(PyDictKeyEntry) * usable); // 没有缓存可使用的字典则申请内存生成一个\n if (dk == NULL) {\n PyErr_NoMemory();\n return NULL;\n }\n }\n DK_DEBUG_INCREF dk->dk_refcnt = 1; // 设置引用计数\n dk->dk_size = size; // 设置大小\n dk->dk_usable = usable; // 设置是否可用\n dk->dk_lookup = lookdict_unicode_nodummy; // 设置查找函数\n dk->dk_nentries = 0;\n memset(&dk->dk_indices[0], 0xff, es * size); // 将申请的内存置空\n memset(DK_ENTRIES(dk), 0, sizeof(PyDictKeyEntry) * usable);\n return dk;\n}\n\n主要就是通过传入的 size,检查是否超过设置的大小,检查是否有缓存的字典数据可用,如果没有则申请内存重新生成一个 dk,最后进行申请到的内存讲内容清空。接着就会进行 new_dict 初始化数据;\n源文件:Objects/dictobject.c\n// Objects/dictobject.c\n\n/* Consumes a reference to the keys object */\nstatic PyObject *\nnew_dict(PyDictKeysObject *keys, PyObject **values)\n{\n PyDictObject *mp;\n assert(keys != NULL);\n if (numfree) {                            // 判断缓冲池是否有\n mp = free_list[--numfree];\n assert (mp != NULL);\n assert (Py_TYPE(mp) == &PyDict_Type); \n _Py_NewReference((PyObject *)mp);              // 使用缓冲池对象    \n }\n else {\n mp = PyObject_GC_New(PyDictObject, &PyDict_Type);    // 缓冲池没有则申请新的对象并初始化\n if (mp == NULL) {\n DK_DECREF(keys);\n free_values(values);\n return NULL;\n }\n }\n mp->ma_keys = keys;\n mp->ma_values = values;\n mp->ma_used = 0;                           // 设置ma_used为0\n mp->ma_version_tag = DICT_NEXT_VERSION();\n assert(_PyDict_CheckConsistency(mp));\n return (PyObject *)mp;\n}\n\nnew_dict 就是根据 keys,values 设置到从缓冲池或者新生成一个 dict 对象,最后返回。至此,dict 的创建工作已经完成。\n字典的插入与查找\n通过字节码的指令 STORE_SUBSCR 可知,该命令就是讲'1'作为 key, '2'作为 value 插入到 d 中,此时查看该执行函数;\n源文件:Python/ceval.c\n// Python/ceval.c\nswitch (opcode) {\n ...\n\n TARGET(STORE_SUBSCR) {\n PyObject *sub = TOP(); // 第一个值为key\n PyObject *container = SECOND(); // 该为字典对象\n PyObject *v = THIRD(); // 该为value\n int err;\n STACKADJ(-3);\n /* container[sub] = v */\n err = PyObject_SetItem(container, sub, v); // 调用该方法设置值\n Py_DECREF(v);\n Py_DECREF(container);\n Py_DECREF(sub);\n if (err != 0)\n goto error;\n DISPATCH();\n }\n}\n\n此时,从栈中取出相关参数,并将这些值传入 PyObject_SetItem 函数进行处理设置值;\n源文件:Objects/abstract.c\n// Objects/abstract.c\nint\nPyObject_SetItem(PyObject *o, PyObject *key, PyObject *value)\n{\n PyMappingMethods *m;\n\n if (o == NULL || key == NULL || value == NULL) {           // 检查是否为空如果任一为空则报错\n null_error();\n return -1;\n }\n m = o->ob_type->tp_as_mapping;                      // 获取类型的tp_as_mapping方法集     \n if (m && m->mp_ass_subscript)                       // 如果有设置该类型\n return m->mp_ass_subscript(o, key, value); // 调用该mp_ass_subscript方法\n\n if (o->ob_type->tp_as_sequence) { // 获取作为队列的操作集\n if (PyIndex_Check(key)) {                       // 检查key是否是索引\n Py_ssize_t key_value;\n key_value = PyNumber_AsSsize_t(key, PyExc_IndexError); \n if (key_value == -1 && PyErr_Occurred())\n return -1;\n return PySequence_SetItem(o, key_value, value);       // 调用索引插入\n }\n else if (o->ob_type->tp_as_sequence->sq_ass_item) {\n type_error(\"sequence index must be \"\n \"integer, not '%.200s'\", key);\n return -1;\n }\n }\n\n type_error(\"'%.200s' object does not support item assignment\", o);   // 则该类型对象不支持设置\n return -1;\n}\n\n其中就调用了字典的 tp_as_mapping 的方法集,并调用了该方法集的 mp_ass_subscript 方法;此时我们分析一下,dict 的 tp_as_mapping 的方法集。此时就调用了 tp_as_mapping 的 mp_ass_subscript 方法,此时就是调用 dict 的 dict_ass_sub 方法;\n源文件:Objects/dictobject.c\n// Objects/dictobject.c\nstatic int\ndict_ass_sub(PyDictObject *mp, PyObject *v, PyObject *w)\n{\n if (w == NULL)\n return PyDict_DelItem((PyObject *)mp, v);\n else\n return PyDict_SetItem((PyObject *)mp, v, w);\n}\n\n可知,删除一个 key 就是 PyDict_DelItem,设置一个 key 就是 PyDict_SetItem;\n源文件:Objects/dictobject.c\n// Objects/dictobject.c\nint\nPyDict_SetItem(PyObject *op, PyObject *key, PyObject *value)\n{\n PyDictObject *mp;\n Py_hash_t hash;\n if (!PyDict_Check(op)) {            // 检查是否是字典类型\n PyErr_BadInternalCall();\n return -1;\n }\n assert(key);\n assert(value);\n mp = (PyDictObject *)op;\n if (!PyUnicode_CheckExact(key) ||\n (hash = ((PyASCIIObject *) key)->hash) == -1)  // 检查传入的key是否hash为-1\n {\n hash = PyObject_Hash(key); // 生成hash调用key对应的tp_hash方法,在本例中传入的是str类型,则调用str类型的tp_hash方法\n if (hash == -1)\n return -1;\n }\n\n /* insertdict() handles any resizing that might be necessary */\n return insertdict(mp, key, hash, value); // 生成hash调用key对应的tp_hash方法\n}\n\ninsertdict 方法就是将生成的方法,插入到字典中去;\n源文件:Objects/dictobject.c\n// Objects/dictobject.c\nstatic int\ninsertdict(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject *value)\n{\n PyObject *old_value;\n PyDictKeyEntry *ep;\n\n Py_INCREF(key);\n Py_INCREF(value);\n if (mp->ma_values != NULL && !PyUnicode_CheckExact(key)) {\n if (insertion_resize(mp) ma_keys->dk_lookup(mp, key, hash, &old_value);     // 调用查找方法\n if (ix == DKIX_ERROR)\n goto Fail;\n\n assert(PyUnicode_CheckExact(key) || mp->ma_keys->dk_lookup == lookdict);\n MAINTAIN_TRACKING(mp, key, value); // 检查mp key values是否需要加入垃圾回收\n\n /* When insertion order is different from shared key, we can't share\n * the key anymore. Convert this instance to combine table.\n */\n if (_PyDict_HasSplitTable(mp) &&\n ((ix >= 0 && old_value == NULL && mp->ma_used != ix) ||\n (ix == DKIX_EMPTY && mp->ma_used != mp->ma_keys->dk_nentries))) {  // 检查是否是分离表,如果没查找到旧值并且\n if (insertion_resize(mp) ma_keys->dk_usable ma_keys, hash);         // 查找一个可用的hash位置\n ep = &DK_ENTRIES(mp->ma_keys)[mp->ma_keys->dk_nentries];         // 获取存取的地址\n dk_set_index(mp->ma_keys, hashpos, mp->ma_keys->dk_nentries);      // 设置该值\n ep->me_key = key;                                 // 保存key\n ep->me_hash = hash; // 保存计算得出的hash值\n if (mp->ma_values) {                               // 如果mp的ma_values有值\n assert (mp->ma_values[mp->ma_keys->dk_nentries] == NULL);\n mp->ma_values[mp->ma_keys->dk_nentries] = value;           // 设置该key对应的value\n }\n else {\n ep->me_value = value; // 直接讲value设置到entry上面\n }\n mp->ma_used++;                                   // 使用个数加1\n mp->ma_version_tag = DICT_NEXT_VERSION();  \n mp->ma_keys->dk_usable--;                            // 可用减1\n mp->ma_keys->dk_nentries++;\n assert(mp->ma_keys->dk_usable >= 0);\n assert(_PyDict_CheckConsistency(mp));\n return 0;\n }\n\n if (_PyDict_HasSplitTable(mp)) { // 如果是分离的\n mp->ma_values[ix] = value; // 直接设置ma_values对应的ix到values中\n if (old_value == NULL) {\n /* pending state */\n assert(ix == mp->ma_used);\n mp->ma_used++;                               // 使用加1\n }\n }\n else {\n assert(old_value != NULL);\n DK_ENTRIES(mp->ma_keys)[ix].me_value = value;\n }\n\n mp->ma_version_tag = DICT_NEXT_VERSION();\n Py_XDECREF(old_value); /* which **CAN** re-enter (see issue #22653) */\n assert(_PyDict_CheckConsistency(mp));\n Py_DECREF(key);\n return 0;\n\nFail:\n Py_DECREF(value);\n Py_DECREF(key);\n return -1;\n}\n\n首先会调用相关的查找方法,去查找待搜索的值是否已经存在字典中,如果当前字典数据已经满了则会按照增长大小的函数生成一个新的字典,并把旧数据设置到新的字典中,当找到的字典匹配时则返回。\n其中 dk_lookup 对应的方法,在初始化之后对应的是 lookdict_unicode_nodummy;\n源文件:Objects/dictobject.c\n// Objects/dictobject.c\n\n/* Faster version of lookdict_unicode when it is known that no keys\n * will be present. */\nstatic Py_ssize_t _Py_HOT_FUNCTION\nlookdict_unicode_nodummy(PyDictObject *mp, PyObject *key,\n Py_hash_t hash, PyObject **value_addr)\n{\n assert(mp->ma_values == NULL);\n /* Make sure this function doesn't have to handle non-unicode keys,\n including subclasses of str; e.g., one reason to subclass\n unicodes is to override __eq__, and for speed we don't cater to\n that here. */\n if (!PyUnicode_CheckExact(key)) {                     // 检查如果不是unicode则直接调用lookdict方法查找\n mp->ma_keys->dk_lookup = lookdict;\n return lookdict(mp, key, hash, value_addr);\n }\n\n PyDictKeyEntry *ep0 = DK_ENTRIES(mp->ma_keys);             // 获取keys的首个元素地址\n size_t mask = DK_MASK(mp->ma_keys);                    // 获取大小\n size_t perturb = (size_t)hash;\n size_t i = (size_t)hash & mask;                       // 获取生成的最终的值                 \n\n for (;;) {\n Py_ssize_t ix = dk_get_index(mp->ma_keys, i); // 便利ma_keys key列表\n assert (ix != DKIX_DUMMY);                     // 判断不能为空\n if (ix == DKIX_EMPTY) { // 如果为空则证明找到一个可以使用的\n *value_addr = NULL;                       // 讲key对应的value设置为空\n return DKIX_EMPTY;                        // 返回\n }\n PyDictKeyEntry *ep = &ep0[ix];             // 获取该位置元素值\n assert(ep->me_key != NULL);\n assert(PyUnicode_CheckExact(ep->me_key));\n if (ep->me_key == key ||\n (ep->me_hash == hash && unicode_eq(ep->me_key, key))) {  // 如果key相同 hash值也相同\n *value_addr = ep->me_value;                    // 将该值赋值\n return ix;\n }\n perturb >>= PERTURB_SHIFT;                      // 偏移\n i = mask & (i*5 + perturb + 1);                   // 获取下一个位置\n }\n Py_UNREACHABLE();\n}\n\n该函数的主要工作就是查找,字典中是否有空余的值,或者如果找到了满足 hash 值与 key 相同的就将 value 设置为找到的值(这也是字典查找的核心逻辑)。至此,字典的插入的大致流程已经分析完毕。\nPython 字典的操作测试\n现在我们动手观看一下具体的操作实例,首先声明,该例子仅供调试使用,目前调试的字典的 key 与 value 都是 float 类型并且不能 del 或者 pop 其中的 key。操作字典如下所示;\nd = {20000:2}\nd[1] = 2\nd[3] = 2\n\n首先,讲如下代码插入到 dictobject.c 的 1060 行;\n// 测试代码\nPyObject* key1 = PyLong_FromLong(20000);\nPy_hash_t hash1 = PyObject_Hash(key1);\nPyObject* old_value1;\nPy_ssize_t ix1 = mp->ma_keys->dk_lookup(mp, key1, hash1, &old_value1);\nif (ix1 == 0){\n PyLongObject* give;\n give = (PyLongObject* )key1;\n printf(\"found value : %ld\\n\", give->ob_digit[0]);\n PyDictKeyEntry *ep01 = DK_ENTRIES(mp->ma_keys);\n int i, count;\n count = mp->ma_used;\n int size_count, j;\n size_count = mp->ma_keys->dk_size;\n printf(\"%s \", mp->ma_keys->dk_indices);\n int8_t *indices = (int8_t*)(mp->ma_keys->dk_indices);\n printf(\"indices index values :\");\n for (j=0; jme_key;\n printf(\"size : %d \", mp->ma_keys->dk_size);\n printf(\"found value while  key : %ld \", give->ob_digit[0]);\n give = (PyLongObject* )ep01->me_value;\n printf(\"value : %ld\\n\", give->ob_digit[0]);\n ep01++;\n }\n}\n\n然后编译运行;\nPython 3.7.3 (default, May 22 2019, 16:17:57)\n[GCC 7.3.0] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> d = {20000:2}\nfound value : 20000\n indices index values :0 -1 -1 -1 -1 -1 -1 -1\nsize : 8 found value while  key : 20000 value : 2\n\n其中为什么初始化的时候输入 20000,是根据代码找到相关的 key 值,因为字典也被 python 自身实现的结构中引用了多次,所以我们就设置了一个特殊值来跟踪我们想要的字典;当 d 初始化的时候,就输出如上所示内容;我们接下来继续操作;\n>>> d = {20000:2}\nfound value : 20000\n indices index values :0 -1 -1 -1 -1 -1 -1 -1\nsize : 8 found value while  key : 20000 value : 2\n>>> d[2] = 3\nfound value : 20000\n indices index values :0 -1 1 -1 -1 -1 -1 -1\nsize : 8 found value while  key : 20000 value : 2\nsize : 8 found value while  key : 2 value : 3\n>>> d[3] = 4\nfound value : 20000\n indices index values :0 -1 1 2 -1 -1 -1 -1\nsize : 8 found value while  key : 20000 value : 2\nsize : 8 found value while  key : 2 value : 3\nsize : 8 found value while  key : 3 value : 4\n>>> d[5] = 6\nfound value : 20000\n indices index values :0 -1 1 2 -1 3 -1 -1\nsize : 8 found value while  key : 20000 value : 2\nsize : 8 found value while  key : 2 value : 3\nsize : 8 found value while  key : 3 value : 4\nsize : 8 found value while  key : 5 value : 6\n>>> d[7] = 8\nfound value : 20000\n indices index values :0 -1 1 2 -1 3 -1 4\nsize : 8 found value while  key : 20000 value : 2\nsize : 8 found value while  key : 2 value : 3\nsize : 8 found value while  key : 3 value : 4\nsize : 8 found value while  key : 5 value : 6\nsize : 8 found value while  key : 7 value : 8\n\n此后我们一直添加值进 d,从输出信息可知,index 就是记录了 PyDictKeyEntry 的索引值,-1 就表示该处未使用。\n当我们继续向 d 中添加内容时;\n>>> d[9] = 10\nfound value : 20000\n indices index values :0 -1 1 2 -1 3 -1 4 -1 5 -1 -1 -1 -1 -1 -1\nsize : 16 found value while  key : 20000 value : 2\nsize : 16 found value while  key : 2 value : 3\nsize : 16 found value while  key : 3 value : 4\nsize : 16 found value while  key : 5 value : 6\nsize : 16 found value while  key : 7 value : 8\nsize : 16 found value while  key : 9 value : 10\n>>> d[10] = 11\nfound value : 20000\n indices index values :0 -1 1 2 -1 3 -1 4 -1 5 6 -1 -1 -1 -1 -1\nsize : 16 found value while  key : 20000 value : 2\nsize : 16 found value while  key : 2 value : 3\nsize : 16 found value while  key : 3 value : 4\nsize : 16 found value while  key : 5 value : 6\nsize : 16 found value while  key : 7 value : 8\nsize : 16 found value while  key : 9 value : 10\nsize : 16 found value while  key : 10 value : 11\n\n从输出内容可知,字典的大小随之改变了,这也说明了 python 字典的最佳大小容量限定在 1/2 到 2/3 之间,如果超过这个阈值则字典就会自动扩容,扩容的策略大家可详细查看源码。\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"objects/set-object/":{"url":"objects/set-object/","title":"Python Set 对象","keywords":"","body":"python 集合\nset 是无序且不重复的集合,是可变的,通常用来从列表中删除重复项以及计算数学运算,如交集、并集、差分和对称差分等集合操作。set 支持 x in set, len(set),和 for x in set。作为一个无序的集合,set 不记录元素位置或者插入点。因此,sets 不支持 indexing, 或其它类序列的操作。\npython 集合概述\n在 set 中,对应的 set 的值的存储是通过结构 setentry 来保存数据值的;\n源文件:include/setobject.h\ntypedef struct {\n PyObject *key;\n Py_hash_t hash; /* Cached hash code of the key */\n} setentry;\n\nkey 就是保存的数据,hash 就是保存的数据的 hash,便于查找,set 也是基于 hash 表来实现。对应的 setentry 所对应的 set 的数据结构如下;\n源文件:include/setobject.h\ntypedef struct {\n PyObject_HEAD\n\n Py_ssize_t fill; /* Number active and dummy entries*/ // 包括已经使用的entry与空entry值的总和\n Py_ssize_t used; /* Number active entries */ // 已经使用可用的总量\n\n /* The table contains mask + 1 slots, and that's a power of 2.\n * We store the mask instead of the size because the mask is more\n * frequently needed.\n */\n Py_ssize_t mask;                                // 与hash求和的mask\n\n /* The table points to a fixed-size smalltable for small tables\n * or to additional malloc'ed memory for bigger tables.\n * The table pointer is never NULL which saves us from repeated\n * runtime null-tests.\n */\n setentry *table; // 保存数据的数组数组指针\n Py_hash_t hash; /* Only used by frozenset objects */\n Py_ssize_t finger; /* Search finger for pop() */\n\n setentry smalltable[PySet_MINSIZE]; // 保存数据的数组 默认初始化为8个元素,通过table指向\n PyObject *weakreflist; /* List of weak references */\n} PySetObject;\n\n一个 set 就对应一个 PySetObject 类型数据,set 会根据保存的元素自动调整大小。相关的内存布局如下;\n\npython 集合(set)示例\n示例脚本如下:\nset_a = {1,2} \nset_a.add(3)\nset_a.add(4)\nset_a.remove(1)\nset_a.update({3,})\nset_a.union({1,5})\n\n通过 python 反汇编获取该脚本的字节码;\npython -m dis set_test.py\n输出的字节码如下所示;\n 1 0 LOAD_CONST 0 (1)\n 3 LOAD_CONST 1 (2)\n 6 BUILD_SET 2\n 9 STORE_NAME 0 (set_a)\n\n 2 12 LOAD_NAME 0 (set_a)\n 15 LOAD_ATTR 1 (add)\n 18 LOAD_CONST 2 (3)\n 21 CALL_FUNCTION 1\n 24 POP_TOP\n\n 3 25 LOAD_NAME 0 (set_a)\n 28 LOAD_ATTR 1 (add)\n 31 LOAD_CONST 3 (4)\n 34 CALL_FUNCTION 1\n 37 POP_TOP\n\n 4 38 LOAD_NAME 0 (set_a)\n 41 LOAD_ATTR 2 (remove)\n 44 LOAD_CONST 0 (1)\n 47 CALL_FUNCTION 1\n 50 POP_TOP\n\n 5 51 LOAD_NAME 0 (set_a)\n 54 LOAD_ATTR 3 (update)\n 57 LOAD_CONST 2 (3)\n 60 BUILD_SET 1\n 63 CALL_FUNCTION 1\n 66 POP_TOP\n\n 6 67 LOAD_NAME 0 (set_a)\n 70 LOAD_ATTR 4 (union)\n 73 LOAD_CONST 0 (1)\n 76 LOAD_CONST 4 (5)\n 79 BUILD_SET 2\n 82 CALL_FUNCTION 1\n 85 POP_TOP\n 86 LOAD_CONST 5 (None)\n 89 RETURN_VALUE\n\n通过该字节码指令可知,创建 set 调用了 BUILD_SET 指令,初始化完成之后,就调用 set 的 add 方法添加元素,调用 remove 删除元素,调用 update 来更新集合,通过 union 来合并集合。接下来就详细分析一下相关的操作流程。\nset 的创建与初始化\n查找 BUILD_SET 的虚拟机执行函数如下;\n源文件:Python/ceval.c\n// Python/ceval.c\n\n TARGET(BUILD_SET) {\n PyObject *set = PySet_New(NULL); // 新建并初始化一个set\n int err = 0;\n int i;\n if (set == NULL)\n goto error;\n for (i = oparg; i > 0; i--) { // 将传入初始化的参数传入\n PyObject *item = PEEK(i);\n if (err == 0)\n err = PySet_Add(set, item); // 并依次对set进行添加操作\n Py_DECREF(item);\n }\n STACKADJ(-oparg);                // 移动弹栈\n if (err != 0) {\n Py_DECREF(set);\n goto error;\n }\n PUSH(set);                     // 讲set压栈\n DISPATCH();                    // 执行下一条指令\n }\n\n此时继续查看 PySet_New 函数的执行流程;\n源文件:Objects/setobject.c\nPyObject *\nPySet_New(PyObject *iterable)\n{\n return make_new_set(&PySet_Type, iterable);\n}\n\n...\n\n\nstatic PyObject *\nmake_new_set(PyTypeObject *type, PyObject *iterable)\n{\n PySetObject *so;\n\n so = (PySetObject *)type->tp_alloc(type, 0); // 申请该元素的内存\n if (so == NULL) // 内存申请失败则返回为空\n return NULL;\n\n so->fill = 0; // 初始化的时候都为0\n so->used = 0;\n so->mask = PySet_MINSIZE - 1; // PySet_MINSIZE默认我8,mask为7\n so->table = so->smalltable; // 将保存数据的头指针指向table\n so->hash = -1; // 设置hash值为-1\n so->finger = 0;\n so->weakreflist = NULL;\n\n if (iterable != NULL) { // 如果有迭代器\n if (set_update_internal(so, iterable)) { // 将内容更新到so中\n Py_DECREF(so);\n return NULL;\n }\n }\n\n return (PyObject *)so; // 返回初始化完成的set\n}\n\n从 PySet_New 的执行流程可知,字典的初始化过程就是初始化相关数据结构。\nset 的插入\n在本例的初始化过程中,由于传入了初始值 1,2,所以会在执行字节码指令的时候,执行 PySet_Add,该函数的本质与 set_a.add(3)本质都调用了更底层 set_add_key 函数;\n源文件:Objects/setobject.c\n\nint\nPySet_Add(PyObject *anyset, PyObject *key)\n{\n if (!PySet_Check(anyset) &&\n (!PyFrozenSet_Check(anyset) || Py_REFCNT(anyset) != 1)) {\n PyErr_BadInternalCall();\n return -1;\n }\n return set_add_key((PySetObject *)anyset, key); // 向字典中添加key;\n}\n\n继续查看 set_add_key 函数的执行过程;\n源文件:Objects/setobject.c\nstatic int\nset_add_key(PySetObject *so, PyObject *key)\n{\n Py_hash_t hash;\n\n if (!PyUnicode_CheckExact(key) ||\n (hash = ((PyASCIIObject *) key)->hash) == -1) {\n hash = PyObject_Hash(key); // 获取传入值的hash值\n if (hash == -1) // 如果不能hash则返回-1\n return -1;\n }\n return set_add_entry(so, key, hash); // 计算完成后添加值\n}\n\n该函数主要就是检查传入的 key 是否能够被 hash,如果能够被 hash 则直接返回,如果能被 hash 则继续调用 set_add_entry 函数将值加入到 set 中;\n源文件:Objects/setobject.c\n\nstatic int\nset_add_entry(PySetObject *so, PyObject *key, Py_hash_t hash)\n{\n setentry *table;\n setentry *freeslot;\n setentry *entry;\n size_t perturb;\n size_t mask;\n size_t i; /* Unsigned for defined overflow behavior */\n size_t j;\n int cmp;\n\n /* Pre-increment is necessary to prevent arbitrary code in the rich\n comparison from deallocating the key just before the insertion. */\n Py_INCREF(key); // 提高key的引用计数\n\n restart:\n\n mask = so->mask;  // 获取so->mask\n i = (size_t)hash & mask;  // 通过传入的hash与mask求索引下标\n\n entry = &so->table[i];    // 获取索引对应的值\n if (entry->key == NULL) // 如果获取索引的值没有被使用则直接跳转到found_unused处执行\n goto found_unused;\n\n freeslot = NULL;\n perturb = hash;    // perturb设置为当前hash值\n \n while (1) {\n if (entry->hash == hash) { // 如果当前hash值相等\n PyObject *startkey = entry->key;                      // 获取当前key\n /* startkey cannot be a dummy because the dummy hash field is -1 */\n assert(startkey != dummy); // 检查key是否为dummy\n if (startkey == key) // 如果找到的值与传入需要设置的值相同则跳转到found_active处执行\n goto found_active;\n if (PyUnicode_CheckExact(startkey)\n && PyUnicode_CheckExact(key)\n && _PyUnicode_EQ(startkey, key)) // 如果是unicode,通过类型转换检查两个key的内容是否相同,如果不相同则跳转到found_active处\n goto found_active;\n table = so->table; // 如果没有找到,则获取当前table的头部节点\n Py_INCREF(startkey);\n cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);          // 如果是其他类型的对象则调用比较方法去比较两个key是否相同\n Py_DECREF(startkey);\n if (cmp > 0) /* likely */ // 如果找到则跳转到found_active\n goto found_active;\n if (cmp table || entry->key != startkey) // 如果set改变了则重新开始查找\n goto restart;\n mask = so->mask; /* help avoid a register spill */   \n }\n else if (entry->hash == -1)\n freeslot = entry;    // 如果不能hash 则设置freeslot\n\n if (i + LINEAR_PROBES hash == 0 && entry->key == NULL)              // 如果找到当前hash为空或者key为空的则跳转到found_unused_or_dummy处执行\n goto found_unused_or_dummy;\n if (entry->hash == hash) {   // 如果找到的hash值相同\n PyObject *startkey = entry->key; // 获取该值\n assert(startkey != dummy); // 检查是否为dummy\n if (startkey == key) // 如果key相同则跳转到found_active处执行\n goto found_active;\n if (PyUnicode_CheckExact(startkey)\n && PyUnicode_CheckExact(key)\n && _PyUnicode_EQ(startkey, key)) // 检查是否为unicode,并比较如果不相同则跳转到found_active\n goto found_active;\n table = so->table; // 调用key本身的方法比较\n Py_INCREF(startkey);\n cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);\n Py_DECREF(startkey);\n if (cmp > 0)\n goto found_active;\n if (cmp table || entry->key != startkey)\n goto restart;\n mask = so->mask;\n }\n else if (entry->hash == -1)\n freeslot = entry;\n }\n }\n\n perturb >>= PERTURB_SHIFT; // 如果没有找到则获取下一个索引值\n i = (i * 5 + 1 + perturb) & mask; // 右移5位 加上 索引值*5 加1与mask求余获取下一个索引值\n\n entry = &so->table[i]; // 获取下一个元素\n if (entry->key == NULL)               // 如果找到为空则直接跳转到found_unused_or_dummy处\n goto found_unused_or_dummy;\n }\n\n found_unused_or_dummy:\n if (freeslot == NULL)                                  // 检查freeslot是否为空如果为空则跳转到found_unused处执行即找到了dummy位置\n goto found_unused;\n so->used++;                       // 使用数加1\n freeslot->key = key;                                   // 设置key与hash值\n freeslot->hash = hash;\n return 0;\n\n found_unused:\n so->fill++;                                        // 使用总数加1\n so->used++;                                        // 使用总数加1 \n entry->key = key;                                     // 设置key与hash值\n entry->hash = hash;\n if ((size_t)so->fill*5 used>50000 ? so->used*2 : so->used*4);    // 如果已使用的总数大于3/5则重新调整table,如果set使用的总数超过了50000则扩展为以前的2倍否则就是四倍\n\n found_active:\n Py_DECREF(key);                                      // 如果找到了该值 则什么也不做\n return 0;\n\n comparison_error:\n Py_DECREF(key);                                      // 如果比较失败则返回-1\n return -1;\n}\n\n此时基本的流程就是通过传入的 hash 值,如果计算出的索引值,没有值,则直接将该值存入对应的 entry 中,如果相同则不插入,如果索引对应的值且值不同,则遍历从该索引往后9个位置的值,依次找到有空余位置的值,并将该值设置进去。如果设置该值之后使用的数量占总的申请数量超过了 3/5 则重新扩充 set,扩充的原则就是如果当前的 set->used>50000 就进行两倍扩充否则就进行四倍扩充。\n插入的概述如下,默认 s 初始化为空;\ns.add(1) // index = 1 & 7 = 1\n\n\ns.add(2) // index = 2 & 7 = 2\n\n\ns.add(7) // index = 9 & 7 = 1\n\n\n大致的 set 的插入过程执行完毕。\nset 的删除\nset 的删除操作主要集中在 set_remove()函数上,如下示例;\n源文件:Objects/setobject.c\n\nstatic PyObject *\nset_remove(PySetObject *so, PyObject *key)\n{\n PyObject *tmpkey;\n int rv;\n\n rv = set_discard_key(so, key); // 将该key设置为dummy\n if (rv \n此时就会调用 set_discard_key 方法来讲对应的 entry 设置为 dummy;set_discard_key 方法如下;\n源文件:Objects/setobject.c\n\nstatic int\nset_discard_key(PySetObject *so, PyObject *key)\n{\n Py_hash_t hash;\n\n if (!PyUnicode_CheckExact(key) ||\n (hash = ((PyASCIIObject *) key)->hash) == -1) {\n hash = PyObject_Hash(key);  // 检查是否可用hash如果可用则调用set_discard_entry方法\n if (hash == -1)\n return -1;\n }\n return set_discard_entry(so, key, hash);\n}\n\n该函数主要就是做了检查 key 是否可用 hash 的检查,此时如果可用 hash 则调用 set_discard_entry 方法;\n源文件:Objects/setobject.c\n\nstatic int\nset_discard_entry(PySetObject *so, PyObject *key, Py_hash_t hash)\n{\n setentry *entry;\n PyObject *old_key;\n\n entry = set_lookkey(so, key, hash);      // 查找该值 set_lookkey该方法与插入的逻辑类似大家可自行查看\n if (entry == NULL)                 // 如果没有找到则返回-1\n return -1;\n if (entry->key == NULL)\n return DISCARD_NOTFOUND;           // 找到entry而key为空则返回notfound\n old_key = entry->key; // 找到正常值则讲该值对应的entry设置为dummy\n entry->key = dummy;\n entry->hash = -1; // hash值为-1\n so->used--; // 使用数量减1 但是fill数量未变\n Py_DECREF(old_key);                 // 减少该对象引用\n return DISCARD_FOUND;                // 返回返现\n}\n\n此时就是查找该值,如果找到该值并将该值设置为 dummy,并且将 used 值减1,此处没有减去 fill 的数量,从此处可知,fill 包括所有曾经申请过的数量。\nset 的 resize\nset 的 resize 主要依靠 set_table_reseize 函数来实现;\n源文件:Objects/setobject.c\nstatic int\nset_table_resize(PySetObject *so, Py_ssize_t minused)\n{\n setentry *oldtable, *newtable, *entry;\n Py_ssize_t oldmask = so->mask; // 设置旧的mask\n size_t newmask;\n int is_oldtable_malloced;\n setentry small_copy[PySet_MINSIZE]; // 最小的拷贝数组\n\n assert(minused >= 0);\n\n /* Find the smallest table size > minused. */\n /* XXX speed-up with intrinsics */\n size_t newsize = PySet_MINSIZE;\n while (newsize table;                   // 先获取旧的table\n assert(oldtable != NULL);\n is_oldtable_malloced = oldtable != so->smalltable;\n\n if (newsize == PySet_MINSIZE) {                  // 如果获取的新大小与PySet_MINSIZE的大小相同\n /* A large table is shrinking, or we can't get any smaller. */\n newtable = so->smalltable;                  // 获取新table的地址\n if (newtable == oldtable) {                 // 如果相同\n if (so->fill == so->used) {              // 如果使用的相同则什么都不做\n /* No dummies, so no point doing anything. */\n return 0;\n }\n /* We're not going to resize it, but rebuild the\n table anyway to purge old dummy entries.\n Subtle: This is *necessary* if fill==size,\n as set_lookkey needs at least one virgin slot to\n terminate failing searches. If fill fill > so->used);\n memcpy(small_copy, oldtable, sizeof(small_copy)); // 将数据拷贝到set_lookkey中\n oldtable = small_copy;                  \n }\n }\n else {\n newtable = PyMem_NEW(setentry, newsize); // 新申请内存\n if (newtable == NULL) {                     // 如果为空则申请内存失败报错\n PyErr_NoMemory();\n return -1;\n }\n }\n\n /* Make the set empty, using the new table. */\n assert(newtable != oldtable); // 检查新申请的与就table不同\n memset(newtable, 0, sizeof(setentry) * newsize);        // 新申请的内存置空\n so->mask = newsize - 1; // 设置新的size\n so->table = newtable; // 重置table指向新table\n\n /* Copy the data over; this is refcount-neutral for active entries;\n dummy entries aren't copied over, of course */\n newmask = (size_t)so->mask; // 获取新的mask\n if (so->fill == so->used) { // 如果使用的与曾经使用的数量相同\n for (entry = oldtable; entry key != NULL) {\n set_insert_clean(newtable, newmask, entry->key, entry->hash);  // 如果值不为空则插入到新的table中\n }\n }\n } else {\n so->fill = so->used;                        // 如果不相同则重置fill为used的值\n for (entry = oldtable; entry key != NULL && entry->key != dummy) {     // 检查如果不为dummy并且key不为空的情况下\n set_insert_clean(newtable, newmask, entry->key, entry->hash);  // 重新插入该列表该值\n }\n }\n }\n\n if (is_oldtable_malloced)                       // 如果两个表相同则删除旧table\n PyMem_DEL(oldtable);\n return 0; // 返回0\n}\n\n主要是检查是否 table 相同并且需要重新 resize 的值,然后判断是否 fill 与 used 相同,如果相同则全部插入,如果不同,则遍历旧 table 讲不为空并且不为 dummy 的值插入到新表中;\n源文件:Objects/setobject.c\nstatic void\nset_insert_clean(setentry *table, size_t mask, PyObject *key, Py_hash_t hash)\n{\n setentry *entry;\n size_t perturb = hash;\n size_t i = (size_t)hash & mask;         // 计算索引\n size_t j;\n\n while (1) {\n entry = &table[i]; // 获取当前entry\n if (entry->key == NULL) // 如果为空则跳转值found_null设置key与hash\n goto found_null;\n if (i + LINEAR_PROBES key == NULL) // 如果为空则跳转到found_null\n goto found_null;\n }\n }\n perturb >>= PERTURB_SHIFT; // 计算下一个索引值继续寻找\n i = (i * 5 + 1 + perturb) & mask;\n }\n found_null:\n entry->key = key;\n entry->hash = hash;\n}\n\nset 的 resize 的操作基本如上所述。\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"},"objects/simple-interpreter/":{"url":"objects/simple-interpreter/","title":"实现简版 Python","keywords":"","body":"Python 字符串 对象\nCopyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间:\n2020-03-23 19:36:27\n"}}} \ No newline at end of file diff --git a/search_plus_index.json b/search_plus_index.json new file mode 100644 index 0000000..0b712ce --- /dev/null +++ b/search_plus_index.json @@ -0,0 +1 @@ +{"./":{"url":"./","title":"前言","keywords":"","body":"介绍 本项目致力于对 Python 3.7 的源码分析,深度参考陈儒大大的《Python 源码剖析》,编写 Python 3 的版本。 希望各位 Python 爱好者能参与其中,一起探索 Python 魔法背后的奥秘! 使用 您可以直接访问 在线版,或者根据以下步骤访问本地版。 前置条件 您的系统上需要安装好 node (会自带npm)。 使用 make 或者使用 npm 命令去构建 使用 make 命令的方式构建: 若您可使用 make 命令,简单执行如下命令进行初始化: make init 执行如下命令运行服务端: make run 使用 npm 命令的方式构建: 若您不能使用 make 命令,或想直接使用 npm 命令,执行如下命令进行初始化: 安装项目依赖: npm install 执行如下命令运行服务端: npm run serve 访问 直接访问 http://localhost:4000 即可查看本书内容。 Roadmap 大体按照《Python 源码剖析》中的目录结构进行编写。依次介绍 Python 源码基本信息、内建对象和虚拟机。 [x] 章节 [x] 序章 [x] 前言 [x] Python 源代码的组织 [x] Windows 环境下编译 Python [x] UNIX/Linux 环境下编译 Python [x] 修改 Python 源码 [ ] Python 内建对象 [x] Python 对象初探 [x] Python 整数对象 [ ] Python 字符串 对象 [x] Python List 对象 [x] Python Dict 对象 [x] Python Set 对象 [ ] 实现简版 Python [ ] Python 虚拟机 [ ] Python 编译结果 [ ] Python 虚拟机框架 [ ] 虚拟机一般表达式 [ ] Python 虚拟机控制流 [ ] Python 虚拟机函数机制 [ ] Python 运行环境初始化 [ ] Python 模块加载机制 [ ] Python 多线程机制 [ ] Python 内存管理机制 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"preface/code-organization/":{"url":"preface/code-organization/","title":"Python 源代码的组织","keywords":"","body":"Python 源代码的组织 源代码下载 方式 1:GitHub Python 源代码可以在 GitHub 上方便的获取,执行: git clone https://github.com/python/cpython.git git checkout v3.7.0 即可获取 Python 3.7.0 版本的代码。 方式 2:Python 官方网站 访问 https://www.python.org/downloads/release/python-370/ ,下拉至页面最下方,可选择下载 tarball 源码包。 亦可执行: wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz 即可获取 Python 3.7.0 版本的代码。 目录结构 进入源码目录,我们可以看到该目录下主要 包含以下文件(夹): . ├── Doc ├── Grammar ├── Include ├── LICENSE ├── Lib ├── Mac ├── Makefile.pre.in ├── Misc ├── Modules ├── Objects ├── PC ├── PCbuild ├── Parser ├── Programs ├── Python ├── README.rst ├── Tools ├── aclocal.m4 ├── config.guess ├── config.sub ├── configure ├── configure.ac ├── install-sh ├── m4 ├── pyconfig.h.in └── setup.py 其中: Include 目录:包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。 Lib 目录:包含了 Python 自带的所有标准库,且都是用 Python 语言编写的。 Modules 目录:包含了所有用 C 语言编写的模块,比如 math、hashlib 等。它们都是那些对速度要求非常严格的模块。而相比而言,Lib 目录下则是存放一些对速度没有太严格要求的模块,比如 os。 Parser 目录:包含了 Python 解释器中的 Scanner 和 Parser 部分,即对 Python 源代码进行词法分析和语法分析的部分。除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。 Objects 目录:包含了所有 Python 的内建对象,包括整数、list、dict 等。同时,该目录还包括了 Python 在运行时需要的所有的内部使用对象的实现。 Python 目录:包含了 Python 解释器中的 Compiler 和执行引擎部分,是 Python 运行的核心所在。 PCbuild 目录:包含了 Visual Studio 2003 的工程文件,研究 Python 源代码就从这里开始(本书将采用 Visual Studio 2017 对 Python 进行编译)。 Programs 目录:包含了 Python 二进制可执行文件的源码。 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"preface/windows-build/":{"url":"preface/windows-build/","title":"Windows 环境下编译 Python","keywords":"","body":"Windows 环境下编译 Python 在 Windows 环境下编译 Python 可完全通过界面操作,主要分为两个步骤: 环境准备 编译 环境准备 在 Python 3.6 及之后的版本可以使用微软的 Visual Studio 2017 进行编译,选择社区版就足够了。 在下载完成后,需要注意安装环节的选项。由于 Python 3.7 所使用的 Windows SDK 的版本为 10.0.17134.0, 所以需要选择安装该 SDK,如下图所示: 编译 进入 Python 源码根目录,打开 PCbuild\\pcbiuld.sln 解决方案,而后进行一些设置: 在左侧的解决方案目录的顶端,右键选择“属性”,以打开属性界面(如下图所示)。 由于我们只是研究 Python 的核心部分,可以选择不编译标准库和外部依赖,在“配置属性”->“配置”中仅勾选 python 和 pythoncore,然后点击“确定”(如下图所示)。 此外,默认情况下的编译设置是 Debug、32 位,您也可以根据自己的需求调整成 Release 或 64 位。 在左侧的解决方案目录中选择 python,右键选择“生成”,以进行编译: 编译结束后,生成的文件存放在PCbuild\\win32目录下(如下图所示),打开python_d即可打开新生成的 Python 3.7 解释器。 更多内容 更多关于在 Windows 上进行编译和开发 Python 的内容见官方指南 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"preface/unix-linux-build/":{"url":"preface/unix-linux-build/","title":"UNIX/Linux 环境下编译 Python","keywords":"","body":"UNIX/Linux 环境下编译 Python 在 UNIX/Linux 环境下编译 Python 较为简单,主要分为两个步骤: 环境准备(准备 Python 所依赖的必要环境) 编译、安装 环境准备 常规操作系统中 编译 Python 前通常需要在系统上安装以下库: gcc // 编译工具 zlib // 压缩、解压相关库 libffi // Python 所以来的用于支持 C 扩展的库 openssl // 安全套接字层密码库,Linux 中通常已具备 不同的发行版,安装方式和包名称也不尽相同。 对于 Debian/Ubuntu,执行: sudo apt install -y zlib1g zlib1g-dev libffi-dev openssl libssl-dev 对于 RedHat/CentOS/Fedora,执行: yum install -y zlib zlib-devel libffi-devel openssl openssl-devel 对于 macOS,执行: xcode-select --install 运行于 Docker 的操作系统中 Docker 版的 Linux 发行版可能会有较多的库未安装,除了安装上一小节提及的库外,其他缺失库可根据情况自行安装: bzip2 // 压缩库 readline // GNU Readline 是一个软件库,它为使用命令行界面(如 Bash)的交互式程序提供了行编辑和历史功能 sqlite // 由 C 编写的小型数据库 libuuid // 跨平台的开源的 uuid 操作库 gdbm // 小型的数据库系统 xz // 压缩解压工具 tk-devel // 图形用户界面开发工具 对于 Debian/Ubuntu,执行: sudo apt-get install bzip2 libbz2-dev sqlite3 libsqlite3-dev libreadline6 libreadline6-dev libgdbm-dev uuid-dev tk-dev 对于 RedHat/CentOS/Fedora,执行: yum install bzip2 bzip2-devel readline-devel sqlite-devel libuuid-devel gdbm-devel xz-devel tk-devel 编译、安装 进入 Python 源码根目录,执行以下命令: ./configure make make install Python 将会被编译,并安装在默认目录中。若您希望将 Python 安装在特定目录,则需要在一开始修改 configure 命令为: ./configure --prefix= 在指定目录中: bin 目录 存放的是可执行文件 include 目录 存放的是 Python 源码的头文件 lib 目录 存放的是 Python 标准库 lib/python3.7/config-3.7m-{platform} 目录 存放的是 libpython3.7m.a,该静态库用于使用 C 语言进行扩展。{platform} 代表平台,比如在 Mac OS 上为 “darwin”,在 Linux 上为 “x86_64-linux-gnu” share 目录 存放的是帮助等文件 默认情况下,编译的 Python 是静态链接(libpython3.7m.a)。如果希望编译的 Python 是动态链接(libpython3.7m.so),则需要在一开始修改configure 命令为: ./configure --enable-shared 如需重新编译,请首先执行: make clean 再执行本节开头处的命令即可。 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"preface/modify-code/":{"url":"preface/modify-code/","title":"修改 Python 源码","keywords":"","body":"修改 Python 源码 在源代码中 Print 在接下来研究源码的过程中,我们可能会对某些语句的逻辑感到好奇,需要输出中间结果。 这就需要借助 Python C API 中打印对象的接口: 源文件:Objects/object.c int PyObject_Print(PyObject *op, FILE *fp, int flags) 比如,我们希望在解释器交互界面中打印整数值的时候输出一段字符串,则我们可以修改如下函数: 源文件:Objects/longobject.c static PyObject * long_to_decimal_string(PyObject *aa) { PyObject *str = PyUnicode_FromString(\"I am always before int\"); PyObject_Print(str, stdout, 0); printf(\"\\n\"); PyObject *v; if (long_to_decimal_string_internal(aa, &v, NULL, NULL, NULL) == -1) return NULL; return v; } 函数实现中的前 3 行为我们加入的代码,其中: PyUnicode_FromString 用于把 C 中的原生字符数组转换为出 Python 中的字符串(Unicode)对象 PyObject_Print 则将转换好的字符串对象打印至我们指定的标准输出(stdout) 对 Python 重新进行编译,在 Unix 上可执行: make && make bininstall 运行编译后的 Python,输入 print 语句即可看到我们希望的结果: >>> print(1) 'I am always before int' 1 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"objects/object/":{"url":"objects/object/","title":"Python 对象初探","keywords":"","body":"Python 对象初探 在 Python 的世界一切皆对象,不论是整数,还是字符串,甚至连类型、函数等都是一种对象。 对象的分类 以下是 Python 对象的大致的一个分类 Fundamental 对象: 类型对象 Numeric 对象: 数值对象 Sequence 对象: 容纳其他对象的序列集合对象 Mapping 对象: 类似 C++中的 map 的关联对象 Internal 对象: Python 虚拟机在运行时内部使用的对象 对象机制的基石 PyObject 对于初学者来说这么多类型的对象怎么学?别着急,我们后续章节会解答。 在开始我们的学习之旅之前,我们要先认识一个结构体PyObject,可以说 Python 的对象机制就是基于PyObject拓展开来的,所以我们先看看PyObject 到底长什么样。 源文件:Include/object.h // Include/object.h #define _PyObject_HEAD_EXTRA \\ struct _object *_ob_next; \\ struct _object *_ob_prev; typedef struct _object { _PyObject_HEAD_EXTRA // 双向链表 垃圾回收 需要用到 Py_ssize_t ob_refcnt; // 引用计数 struct _typeobject *ob_type; // 指向类型对象的指针,决定了对象的类型 } PyObject; Python 中的所有对象都拥有一些相同的内容,而这些内容就定义在PyObject中, PyObject 包含 一个用于垃圾回收的双向链表,一个引用计数变量 ob_refcnt 和 一个类型对象指针ob_type 定长对象与变长对象 Python 对象除了前面提到的那种分类方法外,还可以分为定长对象和变长对象这两种形式。 变长对象都拥有一个相同的内容 PyVarObject,而 PyVarObject也是基于PyObject扩展的。 从代码中可以看出PyVarObject比PyObject多出了一个用于存储元素个数的变量ob_size。 源文件:Include/object.h // Include/object.h typedef struct _object { _PyObject_HEAD_EXTRA Py_ssize_t ob_refcnt; struct _typeobject *ob_type; } PyObject; typedef struct { PyObject ob_base; Py_ssize_t ob_size; /* Number of items in variable part */ } PyVarObject; 类型对象 前面我们提到了PyObject 的 对象类型指针struct _typeobject *ob_type,它指向的类型对象就决定了一个对象是什么类型的。 这是一个非常重要的结构体,它不仅仅决定了一个对象的类型,还包含大量的元信息, 包括创建对象需要分配多少内存,对象都支持哪些操作等等。 接下来我们看一下struct _typeobject代码 在 PyTypeObject 的定义中包含许多信息,主要分类以下几类: 类型名, tp_name, 主要用于 Python 内部调试用 创建该类型对象时分配的空间大小信息,即 tp_basicsize 和 tp_itemsize 与该类型对象相关的操作信息(如 tp_print 这样的函数指针) 一些对象属性 源文件:Include/object.h // Include/object.h typedef struct _typeobject { PyObject_VAR_HEAD const char *tp_name; /* For printing, in format \".\" */ // 类型名 Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */ // 创建该类型对象分配的内存空间大小 // 一堆方法定义,函数和指针 /* Methods to implement standard operations */ destructor tp_dealloc; printfunc tp_print; getattrfunc tp_getattr; setattrfunc tp_setattr; PyAsyncMethods *tp_as_async; /* formerly known as tp_compare (Python 2) or tp_reserved (Python 3) */ reprfunc tp_repr; /* Method suites for standard classes */ // 标准类方法集 PyNumberMethods *tp_as_number; // 数值对象操作 PySequenceMethods *tp_as_sequence; // 序列对象操作 PyMappingMethods *tp_as_mapping; // 字典对象操作 // 更多标准操作 /* More standard operations (here for binary compatibility) */ hashfunc tp_hash; ternaryfunc tp_call; reprfunc tp_str; getattrofunc tp_getattro; setattrofunc tp_setattro; ...... } PyTypeObject; 类型的类型 在 PyTypeObjet 定义开始有一个宏PyOject_VAR_HEAD,查看源码可知 PyTypeObjet 是一个变长对象 源文件:Include/object.h // Include/object.h #define PyObject_VAR_HEAD PyVarObject ob_base; 对象的类型是由该对象指向的 类型对象 决定的,那么类型对象的类型是由谁决定的呢? 对于其他对象,可以通过与其关联的类型对象确定其类型,那么通过什么来确定一个对象是类型对象呢? 答案就是 PyType_Type 源文件:Objects/typeobject.c // Objects/typeobject.c PyTypeObject PyType_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) \"type\", /* tp_name */ sizeof(PyHeapTypeObject), /* tp_basicsize */ sizeof(PyMemberDef), /* tp_itemsize */ ...... }; PyType_Type 在类型机制中至关重要,所有用户自定义 class 所 对应的 PyTypeObject 对象都是通过 PyType_Type创建的 接下来我们看 PyLong_Type 是怎么与 PyType_Type 建立联系的。 前面提到,在 Python 中,每一个对象都将自己的引用计数、类型信息保存在开始的部分中。 为了方便对这部分内存初始化,Python 中提供了几个有用的宏: 源文件:Include/object.h // Include/object.h #ifdef Py_TRACE_REFS #define _PyObject_EXTRA_INIT 0, 0, #else #define _PyObject_EXTRA_INIT #endif #define PyObject_HEAD_INIT(type) \\ { _PyObject_EXTRA_INIT \\ 1, type }, 这些宏在各种内建类型对象的初始化中被大量使用。 以PyLong_Type为例,可以清晰的看到一般的类型对象和PyType_Type之间的关系 源文件:Objects/longobject.c // Objects/longobject.c PyTypeObject PyLong_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) \"int\", /* tp_name */ offsetof(PyLongObject, ob_digit), /* tp_basicsize */ sizeof(digit), /* tp_itemsize */ ...... }; 下图是对象运行时的图像表现 对象的创建 Python 创建对象有两种方式 范型 API 或称为 AOL (Abstract Object Layer) 这类 API 通常形如PyObject_XXX这样的形式。可以应用在任何 Python 对象上, 如PyObject_New。创建一个整数对象的方式 PyObject* longobj = PyObject_New(Pyobject, &PyLong_Type); 与类型相关的 API 或称为 COL (Concrete Object Layer) 这类 API 通常只能作用于某一种类型的对象上,对于每一种内建对象 Python 都提供了这样一组 API。例如整数对象,我们可以利用如下的 API 创建 PyObject *longObj = PyLong_FromLong(10); 对象的行为 在 PyTypeObject 中定义了大量的函数指针。这些函数指针可以视为类型对象中 所定义的操作,这些操作直接决定着一个对象在运行时所表现出的行为,比如 PyTypeObject 中的 tp_hash 指明了该类型对象如何生成其hash值。 在PyTypeObject的代码中,我们还可以看到非常重要的三组操作族 PyNumberMethods *tp_as_number PySequenceMethods *tp_as_sequence PyMappingMethods *tp_as_mapping PyNumberMethods 的代码如下 源文件:Include/object.h // Include/object.h typedef PyObject * (*binaryfunc)(PyObject *, PyObject *); typedef struct { binaryfunc nb_matrix_multiply; binaryfunc nb_inplace_matrix_multiply; ...... } PyNumberMethods; PyNumberMethods 定义了一个数值对象该支持的操作。一个数值对象如 整数对象,那么它的类型对象 PyLong_Type中tp_as_number.nb_add 就指定了它进行加法操作时的具体行为。 在以下代码中可以看出PyLong_Type中的tp_as_number项指向的是long_as_number 源文件:Objects/longobject.h // Objects/longobject.c static PyNumberMethods long_as_number = { (binaryfunc)long_add, /*nb_add*/ (binaryfunc)long_sub, /*nb_subtract*/ (binaryfunc)long_mul, /*nb_multiply*/ ...... }; PyTypeObject PyLong_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) \"int\", /* tp_name */ offsetof(PyLongObject, ob_digit), /* tp_basicsize */ sizeof(digit), /* tp_itemsize */ long_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_reserved */ long_to_decimal_string, /* tp_repr */ &long_as_number, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ ...... }; PySequenceMethods *tp_as_sequence 和 PyMappingMethods *tp_as_mapping的分析与PyNumberMethods *tp_as_number 相同,大家可以自行查阅源码 对象的多态性 Python 创建一个对象比如 PyLongObject 时,会分配内存进行初始化,然后 Python 内部会用 PyObject* 变量来维护这个对象,其他对象也与此类似 所以在 Python 内部各个函数之间传递的都是一种范型指针 PyObject* 我们不知道这个指针所指的对象是什么类型,只能通过所指对象的 ob_type 域 动态进行判断,而 Python 正是通过 ob_type 实现了多态机制 考虑以下的 calc_hash 函数 Py_hash_t calc_hash(PyObject* object) { Py_hash_t hash = object->ob_type->tp_hash(object); return hash; } 如果传递给 calc_hash 函数的指针是一个 PyLongObject*,那么它会调用 PyLongObject 对象对应的类型对象中定义的 hash 操作tp_hash,tp_hash可以在PyTypeObject中找到, 而具体赋值绑定我们可以在 PyLong_Type 初始化代码中看到绑定的是long_hash函数 源文件:Objects/longobject.c // Objects/longobject.c PyTypeObject PyLong_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) \"int\", /* tp_name */ ... (hashfunc)long_hash, /* tp_hash */ ... }; 如果指针是一个 PyUnicodeObject*,那么就会调用 PyUnicodeObject 对象对应的类型对象中定义的 hash 操作,查看源码可以看到 实际绑定的是 unicode_hash函数 源文件:Objects/unicodeobject.c // Objects/unicodeobject.c PyTypeObject PyUnicode_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) \"str\", /* tp_name */ ... (hashfunc) unicode_hash, /* tp_hash*/ ... }; 引用计数 Python 通过引用计数来管理维护对象在内存中的存在与否 Python 中的每个东西都是一个对象, 都有ob_refcnt 变量,这个变量维护对象的引用计数,从而最终决定该对象的创建与销毁 在 Python 中,主要通过 Py_INCREF(op)与Py_DECREF(op) 这两个宏 来增加和减少对一个对象的引用计数。当一个对象的引用计数减少到 0 之后, Py_DECREF将调用该对象的tp_dealloc来释放对象所占用的内存和系统资源; 但这并不意味着最终一定会调用 free 释放内存空间。因为频繁的申请、释放内存会大大降低 Python 的执行效率。因此 Python 中大量采用了内存对象池的技术,使得对象释放的空间归还给内存池而不是直接free,后续使用可先从对象池中获取 源文件:Include/object.h // Include/object.h #define _Py_NewReference(op) ( \\ _Py_INC_TPALLOCS(op) _Py_COUNT_ALLOCS_COMMA \\ _Py_INC_REFTOTAL _Py_REF_DEBUG_COMMA \\ Py_REFCNT(op) = 1) #define Py_INCREF(op) ( \\ _Py_INC_REFTOTAL _Py_REF_DEBUG_COMMA \\ ((PyObject *)(op))->ob_refcnt++) #define Py_DECREF(op) \\ do { \\ PyObject *_py_decref_tmp = (PyObject *)(op); \\ if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \\ --(_py_decref_tmp)->ob_refcnt != 0) \\ _Py_CHECK_REFCNT(_py_decref_tmp) \\ else \\ _Py_Dealloc(_py_decref_tmp); \\ } while (0) Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"objects/long-object/":{"url":"objects/long-object/","title":"Python 整数对象","keywords":"","body":"Python 整数对象 CPython2 的整数对象 有 PyIntObject 和 PyLongObject 这两种类型, CPython3 只保留了 PyLongObject 在 源文件:Objects/longobject.c 的第三行有这么一句话 XXX The functional organization of this file is terrible 可见这个变化不是一蹴而就的,有比较艰辛的过程,大家有兴趣可以去挖掘一下 PyLongObject 源文件:Include/longobject.h // longobject.h typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */ 源文件:Include/longintrepr.h // longintrepr.h /* Long integer representation. The absolute value of a number is equal to 一个数的绝对值等价于下面的表达式 SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i) Negative numbers are represented with ob_size 从源码可以看出 PyLongObject 是变长对象 类型对象 PyLong_Type 源文件:Objects/longobject.c // Objects/longobject.c PyTypeObject PyLong_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) \"int\", /* tp_name */ offsetof(PyLongObject, ob_digit), /* tp_basicsize */ sizeof(digit), /* tp_itemsize */ long_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_reserved */ long_to_decimal_string, /* tp_repr */ &long_as_number, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ (hashfunc)long_hash, /* tp_hash */ 0, /* tp_call */ long_to_decimal_string, /* tp_str */ PyObject_GenericGetAttr, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_LONG_SUBCLASS, /* tp_flags */ long_doc, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ long_richcompare, /* tp_richcompare */ 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ long_methods, /* tp_methods */ 0, /* tp_members */ long_getset, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ 0, /* tp_init */ 0, /* tp_alloc */ long_new, /* tp_new */ PyObject_Del, /* tp_free */ }; 创建整数对象 从 PyLong_Type 可以看出,创建一个整数对象的入口函数为 long_new 源文件:Objects/clinic/longobject.c.h // Objects/clinic/longobject.c.h /*[clinic input] preserve [clinic start generated code]*/ static PyObject * long_new_impl(PyTypeObject *type, PyObject *x, PyObject *obase); static PyObject * long_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { PyObject *return_value = NULL; static const char * const _keywords[] = {\"\", \"base\", NULL}; static _PyArg_Parser _parser = {\"|OO:int\", _keywords, 0}; PyObject *x = NULL; PyObject *obase = NULL; if (!_PyArg_ParseTupleAndKeywordsFast(args, kwargs, &_parser, &x, &obase)) { goto exit; } return_value = long_new_impl(type, x, obase); exit: return return_value; } 具体实现在 long_new_impl 源文件:Objects/longobject.c // Objects/longobject.c /*[clinic input] @classmethod int.__new__ as long_new x: object(c_default=\"NULL\") = 0 / base as obase: object(c_default=\"NULL\") = 10 [clinic start generated code]*/ static PyObject * long_new_impl(PyTypeObject *type, PyObject *x, PyObject *obase) /*[clinic end generated code: output=e47cfe777ab0f24c input=81c98f418af9eb6f]*/ { Py_ssize_t base; if (type != &PyLong_Type) return long_subtype_new(type, x, obase); /* Wimp out */ if (x == NULL) { if (obase != NULL) { PyErr_SetString(PyExc_TypeError, \"int() missing string argument\"); return NULL; } return PyLong_FromLong(0L); } if (obase == NULL) return PyNumber_Long(x); base = PyNumber_AsSsize_t(obase, NULL); if (base == -1 && PyErr_Occurred()) return NULL; if ((base != 0 && base 36) { PyErr_SetString(PyExc_ValueError, \"int() base must be >= 2 and 从 long_new_impl 函数可以看出有如下几种情况 x == NULL 且 obase != NULL 调用 PyLong_FromLong obase 为 NULL 调用 PyNumber_Long x 和 obase 都不为 NULL PyUnicode 调用 PyLong_FromUnicodeObject,最终调用 PyLong_FromString PyByteArray/PyBytes 调用_PyLong_FromBytes,最终调用 PyLong_FromString 小整数对象 一些整数在一开始就会被初始化一直留存,当再次使用直接从小整数对象池中获取,不用频繁的申请内存。 默认的小整数范围是 [-5, 257) 源文件:Objects/longobject.c // Objects/longobject.c #ifndef NSMALLPOSINTS #define NSMALLPOSINTS 257 #endif #ifndef NSMALLNEGINTS #define NSMALLNEGINTS 5 #endif #if NSMALLNEGINTS + NSMALLPOSINTS > 0 /* Small integers are preallocated in this array so that they can be shared. The integers that are preallocated are those in the range -NSMALLNEGINTS (inclusive) to NSMALLPOSINTS (not inclusive). */ static PyLongObject small_ints[NSMALLNEGINTS + NSMALLPOSINTS]; #ifdef COUNT_ALLOCS Py_ssize_t quick_int_allocs, quick_neg_int_allocs; #endif static PyObject * get_small_int(sdigit ival) { PyObject *v; assert(-NSMALLNEGINTS = 0) quick_int_allocs++; else quick_neg_int_allocs++; #endif return v; } #define CHECK_SMALL_INT(ival) \\ do if (-NSMALLNEGINTS 宏 CHECK_SMALL_INT 会检查传入的数是否在小整数范围内,如果是直接返回。 可以在创建或复制整数对象等函数中找到 CHECK_SMALL_INT 的身影,以下只列出了 PyLong_FromLong,就不一一列举了 源文件:Objects/longobject.c // Object/longobject.c PyObject * PyLong_FromLong(long ival) { PyLongObject *v; unsigned long abs_ival; unsigned long t; /* unsigned so >> doesn't propagate sign bit */ int ndigits = 0; int sign; CHECK_SMALL_INT(ival); ... } 小整数初始化 源文件:Objects/longobject.c // Objects/longobject.c int _PyLong_Init(void) { #if NSMALLNEGINTS + NSMALLPOSINTS > 0 int ival, size; PyLongObject *v = small_ints; for (ival = -NSMALLNEGINTS; ival ob_digit[0] == (digit)abs(ival)); } else { (void)PyObject_INIT(v, &PyLong_Type); } Py_SIZE(v) = size; v->ob_digit[0] = (digit)abs(ival); } #endif _PyLong_Zero = PyLong_FromLong(0); if (_PyLong_Zero == NULL) return 0; _PyLong_One = PyLong_FromLong(1); if (_PyLong_One == NULL) return 0; /* initialize int_info */ if (Int_InfoType.tp_name == NULL) { if (PyStructSequence_InitType2(&Int_InfoType, &int_info_desc) 整数的存储结构 源文件:Objects/longobject.c 在 long_to_decimal_string_internal中添加如下代码并重新编译安装 // Objects/longobject.c static int long_to_decimal_string_internal(PyObject *aa, PyObject **p_output, _PyUnicodeWriter *writer, _PyBytesWriter *bytes_writer, char **bytes_str) { PyLongObject *scratch, *a; PyObject *str = NULL; Py_ssize_t size, strlen, size_a, i, j; digit *pout, *pin, rem, tenpow; int negative; int d; enum PyUnicode_Kind kind; a = (PyLongObject *)aa; // 添加打印代码 printf(\"ob_size = %d\\n\", Py_SIZE(a)); for (int index = 0; index ob_digit[index]); } ... } 编译安装后进入 python 解释器输入如下代码 num = 9223372043297226753 print(num) # output >>> ob_size = 3 >>> ob_digit[0] = 1 >>> ob_digit[1] = 6 >>> ob_digit[2] = 8 >>> 9223372043297226753 如下图所示 注:这里的 30 是由 PyLong_SHIFT 决定的,64 位系统中,PyLong_SHIFT 为 30,否则 PyLong_SHIFT 为 15 整数对象的数值操作 可以看到整数对象的数值操作较多,由于篇幅限制无法一一分析,这里只分析整数的部分操作 源文件:Objects/longobject.c // Objects/longobject.c static PyNumberMethods long_as_number = { (binaryfunc)long_add, /*nb_add 加法 */ (binaryfunc)long_sub, /*nb_subtract 减法 */ (binaryfunc)long_mul, /*nb_multiply 乘法 */ long_mod, /*nb_remainder 取余 */ long_divmod, /*nb_divmod */ long_pow, /*nb_power 求幂 */ (unaryfunc)long_neg, /*nb_negative */ (unaryfunc)long_long, /*tp_positive */ (unaryfunc)long_abs, /*tp_absolute 绝对值 */ (inquiry)long_bool, /*tp_bool 求bool值 */ (unaryfunc)long_invert, /*nb_invert 反转 */ long_lshift, /*nb_lshift 逻辑左移 */ (binaryfunc)long_rshift, /*nb_rshift 逻辑右移 */ long_and, /*nb_and 与操作 */ long_xor, /*nb_xor 异或 */ long_or, /*nb_or 或操作 */ long_long, /*nb_int*/ 0, /*nb_reserved*/ long_float, /*nb_float*/ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ 0, /* nb_inplace_multiply */ 0, /* nb_inplace_remainder */ 0, /* nb_inplace_power */ 0, /* nb_inplace_lshift */ 0, /* nb_inplace_rshift */ 0, /* nb_inplace_and */ 0, /* nb_inplace_xor */ 0, /* nb_inplace_or */ long_div, /* nb_floor_divide */ long_true_divide, /* nb_true_divide */ 0, /* nb_inplace_floor_divide */ 0, /* nb_inplace_true_divide */ long_long, /* nb_index */ }; 整数相加 源文件:Objects/longobject.c // Objects/longobject.c static PyObject * long_add(PyLongObject *a, PyLongObject *b) { PyLongObject *z; CHECK_BINOP(a, b); if (Py_ABS(Py_SIZE(a)) 可以看到整数的加法运算函数 long_add 根据 a、b 的 ob_size 又细分为两个函数 (x_add 和 x_sub) 做处理 源文件:Objects/longobject.c // Objects/longobject.c /* Add the absolute values of two integers. */ static PyLongObject * x_add(PyLongObject *a, PyLongObject *b) { Py_ssize_t size_a = Py_ABS(Py_SIZE(a)), size_b = Py_ABS(Py_SIZE(b)); PyLongObject *z; Py_ssize_t i; digit carry = 0; /* Ensure a is the larger of the two: */ // 确保 a 大于 b if (size_a ob_digit[i] + b->ob_digit[i]; z->ob_digit[i] = carry & PyLong_MASK; carry >>= PyLong_SHIFT; } for (; i ob_digit[i]; z->ob_digit[i] = carry & PyLong_MASK; carry >>= PyLong_SHIFT; } z->ob_digit[i] = carry; return long_normalize(z); } 加法运算函数 x_add 从 ob_digit 数组的低位开始依次按位相加,carry 做进位处理,然后处理 a 对象的高位数字,最后使用 long_normalize 函数调整 ob_size,确保 ob_digit[abs(ob_size)-1]不为零,这与普通四则运算的加法运算相同,只不过进位单元不同而已 源文件:Objects/longobject.c // Objects/longobject.c /* Subtract the absolute values of two integers. */ static PyLongObject * x_sub(PyLongObject *a, PyLongObject *b) { Py_ssize_t size_a = Py_ABS(Py_SIZE(a)), size_b = Py_ABS(Py_SIZE(b)); PyLongObject *z; Py_ssize_t i; int sign = 1; digit borrow = 0; /* Ensure a is the larger of the two: */ // 确保 a 大于 b if (size_a = 0 && a->ob_digit[i] == b->ob_digit[i]) ; if (i ob_digit[i] ob_digit[i]) { sign = -1; { PyLongObject *temp = a; a = b; b = temp; } } size_a = size_b = i+1; } z = _PyLong_New(size_a); if (z == NULL) return NULL; for (i = 0; i PyLong_SHIFT. */ borrow = a->ob_digit[i] - b->ob_digit[i] - borrow; z->ob_digit[i] = borrow & PyLong_MASK; borrow >>= PyLong_SHIFT; borrow &= 1; /* Keep only one sign bit */ } for (; i ob_digit[i] - borrow; z->ob_digit[i] = borrow & PyLong_MASK; borrow >>= PyLong_SHIFT; borrow &= 1; /* Keep only one sign bit */ } assert(borrow == 0); if (sign 与普通四则运算减法相同,数不够大则向高一位借位, 减法运算函数 x_sub 的示例图如下,注:PyLong_SHIFT 为 30 整数相乘 源文件:Objects/longobject.c // Objects/longobject.c static PyObject * long_mul(PyLongObject *a, PyLongObject *b) { PyLongObject *z; CHECK_BINOP(a, b); /* fast path for single-digit multiplication */ if (Py_ABS(Py_SIZE(a)) k_mul 函数是一种快速乘法 源文件 Karatsuba 的算法主要是用于两个大数的乘法,极大提高了运算效率,相较于普通乘法降低了复杂度,并在其中运用了递归的思想。 基本的原理和做法是将位数很多的两个大数 x 和 y 分成位数较少的数,每个数都是原来 x 和 y 位数的一半。 这样处理之后,简化为做三次乘法,并附带少量的加法操作和移位操作。 具体可以看 wiki Karatsuba 算法的实现 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"objects/list-object/":{"url":"objects/list-object/","title":"Python List 对象","keywords":"","body":"Python List 对象 在Python中的list可以存放任何类型的数据,查看PyListObject可以发现,list实际存放的是PyObject* 指针 PyListObject 源文件:Include/listobject.h // listobject.h typedef struct { PyObject_VAR_HEAD /* Vector of pointers to list elements. list[0] is ob_item[0], etc. */ PyObject **ob_item; /* ob_item contains space for 'allocated' elements. The number * currently in use is ob_size. * Invariants: * 0 示例 lst = [] lst.append(1) 其存储结构如下图 PyListObject对象的一些操作 创建PyListObject PyList_New 对象赋值 PyList_SetItem 获取元素 PyList_GetItem 插入元素 PyList_Insert 追加元素 PyList_Append 移除元素 list_remove 调整list大小 list_resize PyList_New 创建对象 为了避免频繁的申请内存空间,创建PyListObject的时候会先检查缓冲池是否有可用空间 源文件:Objects/listobject.c // listobject.c PyObject * PyList_New(Py_ssize_t size) { PyListObject *op; #ifdef SHOW_ALLOC_COUNT static int initialized = 0; if (!initialized) { Py_AtExit(show_alloc); initialized = 1; } #endif // size 合法性检查 if (size ob_item = NULL; else { op->ob_item = (PyObject **) PyMem_Calloc(size, sizeof(PyObject *)); if (op->ob_item == NULL) { Py_DECREF(op); return PyErr_NoMemory(); } } Py_SIZE(op) = size; op->allocated = size; _PyObject_GC_TRACK(op); return (PyObject *) op; } PyListObject缓冲池默认大小为80 源文件:Include/listobject.c // listobject.c /* Empty list reuse scheme to save calls to malloc and free */ #ifndef PyList_MAXFREELIST #define PyList_MAXFREELIST 80 #endif static PyListObject *free_list[PyList_MAXFREELIST]; static int numfree = 0; PyList_SetItem 元素赋值 源文件:Objects/listobject.c // listobject.c int PyList_SetItem(PyObject *op, Py_ssize_t i, PyObject *newitem) { PyObject **p; if (!PyList_Check(op)) { Py_XDECREF(newitem); PyErr_BadInternalCall(); return -1; } if (i = Py_SIZE(op)) { Py_XDECREF(newitem); PyErr_SetString(PyExc_IndexError, \"list assignment index out of range\"); return -1; } p = ((PyListObject *)op) -> ob_item + i; Py_XSETREF(*p, newitem); return 0; } 元素赋值的示例 lst = [0, 1, 2] lst[0] = 3 # 这里 lst[0] = 3 会调用 PyList_SetItem 函数 PyList_GetItem 获取元素 源文件:Objects/listobject.c // Objects/listobject.c PyObject * PyList_GetItem(PyObject *op, Py_ssize_t i) { if (!PyList_Check(op)) { PyErr_BadInternalCall(); return NULL; } if (i = Py_SIZE(op)) { if (indexerr == NULL) { indexerr = PyUnicode_FromString( \"list index out of range\"); if (indexerr == NULL) return NULL; } PyErr_SetObject(PyExc_IndexError, indexerr); return NULL; } return ((PyListObject *)op) -> ob_item[i]; } 获取元素的示例 lst = [1, 2, 3, 4] print(lst[3]) # lst[3] 实际调用的就是 PyList_GetItem # 根据索引返回对应的元素 PyList_Append 追加元素 PyList_Append 调用 app1 int PyList_Append(PyObject *op, PyObject *newitem) { if (PyList_Check(op) && (newitem != NULL)) return app1((PyListObject *)op, newitem); PyErr_BadInternalCall(); return -1; } 源文件:Objects/listobject.c // Objects/listobject.c static int app1(PyListObject *self, PyObject *v) { Py_ssize_t n = PyList_GET_SIZE(self); assert (v != NULL); if (n == PY_SSIZE_T_MAX) { PyErr_SetString(PyExc_OverflowError, \"cannot add more objects to list\"); return -1; } if (list_resize(self, n+1) 从app1代码可以看出追加元素操作大致流程如下 调用list_resize,将list大小加一 将元素插入list尾部 PyList_Insert 插入元素 PyList_Insert 调用 ins1 int PyList_Insert(PyObject *op, Py_ssize_t where, PyObject *newitem) { if (!PyList_Check(op)) { PyErr_BadInternalCall(); return -1; } return ins1((PyListObject *)op, where, newitem); } 源文件:Objects/listobject.c // Objects/listobject.c static int ins1(PyListObject *self, Py_ssize_t where, PyObject *v) { Py_ssize_t i, n = Py_SIZE(self); PyObject **items; if (v == NULL) { PyErr_BadInternalCall(); return -1; } if (n == PY_SSIZE_T_MAX) { PyErr_SetString(PyExc_OverflowError, \"cannot add more objects to list\"); return -1; } if (list_resize(self, n+1) n) where = n; items = self->ob_item; for (i = n; --i >= where; ) items[i+1] = items[i]; Py_INCREF(v); items[where] = v; return 0; } 从ins1代码可以看出插入元素操作大致流程如下 调用list_resize,将list大小加一 将要插入的位置的元素都往后移一个位置 将元素插入指定位置 list_remove 移除元素 源文件:Objects/listobject.c // listobject.c static PyObject * list_remove(PyListObject *self, PyObject *value) /*[clinic end generated code: output=f087e1951a5e30d1 input=2dc2ba5bb2fb1f82]*/ { Py_ssize_t i; for (i = 0; i ob_item[i], value, Py_EQ); if (cmp > 0) { if (list_ass_slice(self, i, i+1, (PyObject *)NULL) == 0) Py_RETURN_NONE; return NULL; } else if (cmp 移除元素示例 lst = [0, 2, 4, 3] lst.remove(3) \"\"\" lst.remove(3) 会调用 list_remove函数, list_remove函数会遍历列表,使用PyObject_RichCompareBool与目标值进行比较, 相同则调用list_ass_slice进行移除,当遍历完列表还未找到则报错 \"\"\" list_resize 调整list存储空间 随着list元素的增加,list的存储空间可能会不够用,这个时候就需要扩大list的存储空间。 随着list元素的减少,list的存储空间可能存在冗余,这个时候就需要缩小list的存储空间。 函数list_resize就是用于调节list存储空间大小的 源文件:Objects/listobject.c // listobject.c static int list_resize(PyListObject *self, Py_ssize_t newsize) { PyObject **items; size_t new_allocated, num_allocated_bytes; Py_ssize_t allocated = self->allocated; /* Bypass realloc() when a previous overallocation is large enough to accommodate the newsize. If the newsize falls lower than half the allocated size, then proceed with the realloc() to shrink the list. */ if (allocated >= newsize && newsize >= (allocated >> 1)) { assert(self->ob_item != NULL || newsize == 0); Py_SIZE(self) = newsize; return 0; } /* This over-allocates proportional to the list size, making room * for additional growth. The over-allocation is mild, but is * enough to give linear-time amortized behavior over a long * sequence of appends() in the presence of a poorly-performing * system realloc(). * The growth pattern is: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ... * Note: new_allocated won't overflow because the largest possible value * is PY_SSIZE_T_MAX * (9 / 8) + 6 which always fits in a size_t. */ new_allocated = (size_t)newsize + (newsize >> 3) + (newsize (size_t)PY_SSIZE_T_MAX / sizeof(PyObject *)) { PyErr_NoMemory(); return -1; } if (newsize == 0) new_allocated = 0; num_allocated_bytes = new_allocated * sizeof(PyObject *); items = (PyObject **)PyMem_Realloc(self->ob_item, num_allocated_bytes); if (items == NULL) { PyErr_NoMemory(); return -1; } self->ob_item = items; Py_SIZE(self) = newsize; self->allocated = new_allocated; return 0; } 当 allocated/2 时,list_resize只会改变 ob_size不会改变allocated。 其他情况则需要调用PyMem_Realloc函数分配新的空间存储列表元素。 列表allocated的增长模式是 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ... 其公式为 new_allocated = (size_t)newsize + (newsize >> 3) + (newsize Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"objects/dict-object/":{"url":"objects/dict-object/","title":"Python Dict 对象","keywords":"","body":"Python 字典 Dictionary object implementation using a hash table ,通过描述可知,python 的字典就是实现了一个 hash 表。 Python 字典概述 在 python 的字典中,一个键值对的对应保存就是 PyDictEntry 类型来保存; 源文件:Include/dict-common.h // Objects/dict-common.h typedef struct { /* Cached hash code of me_key. */ Py_hash_t me_hash; PyObject *me_key; PyObject *me_value; /* This field is only meaningful for combined tables */ } PyDictKeyEntry; 其中,me_hash 就是哈希生成的值,me_key 就是对应的 key 值,me_value 就是对应的值。 在 python 中,在一个 PyDictObject 对象的变化过程中,entry 的状态会在不同的状态间转换。基本上在如下四种状态中转换:Unused、Active、Dummy 和 Pending。 Unused:没有插入任何一个获取的 key 与 value,并且在此之前也没有存储任何的 key,value,每一个 entry 在初始化的时候都会处于这种状态,并且 Unused 会被里面切换到 Active 态,当有 key 插入,这就是 entry 初始化的状态。 Active:当 index>=0 时,me_key 不为空并且 me_value 不为空,保存了一个键值对,Active 可以转变为 Dummy 或者 Pending 状态,当一个键被删除的时候,这只会在 me_value 不为空的时候出现。 Dummy:先前保存了一个 Active 的键值对,但是这个键值对被删除了并且一个活跃的键值对还没有填入该位置,Dummy 可以转变为 Active 当删除的时候,Dummy 的位置不能被重新使用,一旦发生碰撞,探针序列就无法知道这对键值对曾是活跃的键值对。 Pending:索引>=0,键!=空,值=空(仅拆分),尚未插入到拆分表中。 字典的两种类型 python 的字典类型中包含了两种,分离字典(split-table dictionaries)与联合字典(combined-table dictonaries)。详细的信息可查看有关 dict 的描述pep-0412。 split-table dictionaries 当被创建的字典是用来保存 object 的__dict__属性时,该字典才会创建为一个 split-table,它们的键表都被缓存在类型属性中,并且允许所有该类型的实例都可以共享该 keys。当出现一个事件将字典的属性值进行改变的时候,个别字典将慢慢的转化成组合表的形式。这就保证了在大部分的应用场景下很高的内存利用效率,并保证了在各个场景下的正确性。当 split-dict 重新改变大小,它会立马改变为一个 combined-table,如果重置大小作为保存实例属性的结果,并且只有一个该 object 的实例,字典会立马再变为一个 split-table。如果从 split-table 中删除一个 key, value,它不会删除 keys tables 中对应的该值,而只是将 values 数值中移除了该 value。 combined-table dictionaries 直接通过 dict 內建函数与{}生成的字典,模块和大部分其他字典都会创建为 combined-table 字典,一个 combined-table 不会改变为一个 split-table 字典,该字典的行为方式与最初的字典的行为方式大致相同。 容器的相关数据结构 字典对象是通过 PyDictObject 来实现数据的,详情如下; 源文件:Include/dictobject.h // Include/dictobject.h typedef struct _dictkeysobject PyDictKeysObject; /* The ma_values pointer is NULL for a combined table * or points to an array of PyObject* for a split table */ typedef struct { PyObject_HEAD /* Number of items in the dictionary */ Py_ssize_t ma_used;  // 使用的keys个数 /* Dictionary version: globally unique, value change each time the dictionary is modified */ uint64_t ma_version_tag; PyDictKeysObject *ma_keys;     // 如果有则是保存的keys数据 /* If ma_values is NULL, the table is \"combined\": keys and values are stored in ma_keys. If ma_values is not NULL, the table is splitted: keys are stored in ma_keys and values are stored in ma_values */ PyObject **ma_values;  // 如果不为空则保存的是values } PyDictObject; 其中,PyDictKeysObject 的定义如下; 源文件:Include/dict-common.h // Objects/dict-common.h /* See dictobject.c for actual layout of DictKeysObject */ struct _dictkeysobject { Py_ssize_t dk_refcnt;                  // 引用计数 /* Size of the hash table (dk_indices). It must be a power of 2. */ Py_ssize_t dk_size;                   // hash table 的大小必须是2的倍数 /* Function to lookup in the hash table (dk_indices): - lookdict(): general-purpose, and may return DKIX_ERROR if (and only if) a comparison raises an exception. - lookdict_unicode(): specialized to Unicode string keys, comparison of which can never raise an exception; that function can never return DKIX_ERROR. - lookdict_unicode_nodummy(): similar to lookdict_unicode() but further specialized for Unicode string keys that cannot be the value. - lookdict_split(): Version of lookdict() for split tables. */ dict_lookup_func dk_lookup; // 哈希查找函数 /* Number of usable entries in dk_entries. */ Py_ssize_t dk_usable; // 可用的entry数量 /* Number of used entries in dk_entries. */  Py_ssize_t dk_nentries;          // 已经使用的entry数量 /* Actual hash table of dk_size entries. It holds indices in dk_entries, or DKIX_EMPTY(-1) or DKIX_DUMMY(-2). Indices must be: 0 相关数据结构的内存布局为; Python 字典示例 本次示例脚本如下: d = {} d['1']='2' d['1']='e' d.pop('1') 通过 Python 的反汇编工具获取字节码; python -m dis dict_test.py 输出的字节码如下; 2 0 BUILD_MAP 0 2 STORE_NAME 0 (d) 3 4 LOAD_CONST 0 ('2') 6 LOAD_NAME 0 (d) 8 LOAD_CONST 1 ('1') 10 STORE_SUBSCR 4 12 LOAD_CONST 2 ('e') 14 LOAD_NAME 0 (d) 16 LOAD_CONST 1 ('1') 18 STORE_SUBSCR 5 20 LOAD_NAME 0 (d) 22 LOAD_METHOD 1 (pop) 24 LOAD_CONST 1 ('1') 26 CALL_METHOD 1 28 POP_TOP 30 LOAD_CONST 3 (None) 32 RETURN_VALUE 通过字节码指令可知,首先调用了 BUILD_MAP 来创建一个新的字典,接着就对新建的字典 d 进行了赋值操作与更新操作,最后调用了 pop 方法删除一个 key。接下来就详细分析一下相关流程。 字典的初始化流程 通过查找 BUILD_MAP 的虚拟机执行函数; 源文件:Python/ceval.c // Python/ceval.c switch (opcode) { ... TARGET(BUILD_MAP) { Py_ssize_t i; PyObject *map = _PyDict_NewPresized((Py_ssize_t)oparg); // 新建并初始化一个字典 if (map == NULL) goto error;  // 如果新建失败则报错 for (i = oparg; i > 0; i--) {   // 检查在新建的过程中是否通过参数传值 int err; PyObject *key = PEEK(2*i); PyObject *value = PEEK(2*i - 1); err = PyDict_SetItem(map, key, value);      // 找到对应的值并讲该值设置到map中 if (err != 0) {                        // 检查是否报错 Py_DECREF(map); goto error;                        // 如果错误就报错处理 } } while (oparg--) { Py_DECREF(POP());                       // 弹出栈上输入参数的引用 Py_DECREF(POP()); } PUSH(map);                              // 讲生成的map压栈 DISPATCH();                             // 检查是否需要执行下一条字节码指令 } } 从该函数的执行可知,初始化的函数是从_PyDict_NewPresized 开始,该函数就是生成并初始化一个字典; 源文件:Objects/dictobject.c // Objects/dictobject.c PyObject * _PyDict_NewPresized(Py_ssize_t minused) { const Py_ssize_t max_presize = 128 * 1024;  // 字典最大的容量 Py_ssize_t newsize; PyDictKeysObject *new_keys; /* There are no strict guarantee that returned dict can contain minused * items without resize. So we create medium size dict instead of very * large dict or MemoryError. */ if (minused > USABLE_FRACTION(max_presize)) { // 检查传入的数量是否超过最大值 newsize = max_presize; } else { Py_ssize_t minsize = ESTIMATE_SIZE(minused); // 获取最小的值,在新建一个空的字典的时候该值为0 newsize = PyDict_MINSIZE; // 设置字典的最小值 为8 while (newsize 首先,先计算出需要生成的字典的大小,然后再初始化一个 PyDictKeysObject,最后就生成一个 PyDictObject 返回。继续查看 new_keys_object 的执行流程; 源文件:Objects/dictobject.c // Objects/dictobject.c static PyDictKeysObject *new_keys_object(Py_ssize_t size) { PyDictKeysObject *dk; Py_ssize_t es, usable; assert(size >= PyDict_MINSIZE); // 检查size是否大于最小size assert(IS_POWER_OF_2(size)); // 检查是否是2的倍数 usable = USABLE_FRACTION(size); // 检查是否可用  根据经验在1/2和2/3之间效果最好 if (size 4 else if (size 0) {      // 是否有缓存,如果有缓存就选择缓存中的dk dk = keys_free_list[--numfreekeys]; } else { dk = PyObject_MALLOC(sizeof(PyDictKeysObject) + es * size + sizeof(PyDictKeyEntry) * usable); // 没有缓存可使用的字典则申请内存生成一个 if (dk == NULL) { PyErr_NoMemory(); return NULL; } } DK_DEBUG_INCREF dk->dk_refcnt = 1; // 设置引用计数 dk->dk_size = size; // 设置大小 dk->dk_usable = usable; // 设置是否可用 dk->dk_lookup = lookdict_unicode_nodummy; // 设置查找函数 dk->dk_nentries = 0; memset(&dk->dk_indices[0], 0xff, es * size); // 将申请的内存置空 memset(DK_ENTRIES(dk), 0, sizeof(PyDictKeyEntry) * usable); return dk; } 主要就是通过传入的 size,检查是否超过设置的大小,检查是否有缓存的字典数据可用,如果没有则申请内存重新生成一个 dk,最后进行申请到的内存讲内容清空。接着就会进行 new_dict 初始化数据; 源文件:Objects/dictobject.c // Objects/dictobject.c /* Consumes a reference to the keys object */ static PyObject * new_dict(PyDictKeysObject *keys, PyObject **values) { PyDictObject *mp; assert(keys != NULL); if (numfree) {                            // 判断缓冲池是否有 mp = free_list[--numfree]; assert (mp != NULL); assert (Py_TYPE(mp) == &PyDict_Type);  _Py_NewReference((PyObject *)mp);              // 使用缓冲池对象     } else { mp = PyObject_GC_New(PyDictObject, &PyDict_Type);    // 缓冲池没有则申请新的对象并初始化 if (mp == NULL) { DK_DECREF(keys); free_values(values); return NULL; } } mp->ma_keys = keys; mp->ma_values = values; mp->ma_used = 0;                           // 设置ma_used为0 mp->ma_version_tag = DICT_NEXT_VERSION(); assert(_PyDict_CheckConsistency(mp)); return (PyObject *)mp; } new_dict 就是根据 keys,values 设置到从缓冲池或者新生成一个 dict 对象,最后返回。至此,dict 的创建工作已经完成。 字典的插入与查找 通过字节码的指令 STORE_SUBSCR 可知,该命令就是讲'1'作为 key, '2'作为 value 插入到 d 中,此时查看该执行函数; 源文件:Python/ceval.c // Python/ceval.c switch (opcode) { ... TARGET(STORE_SUBSCR) { PyObject *sub = TOP(); // 第一个值为key PyObject *container = SECOND(); // 该为字典对象 PyObject *v = THIRD(); // 该为value int err; STACKADJ(-3); /* container[sub] = v */ err = PyObject_SetItem(container, sub, v); // 调用该方法设置值 Py_DECREF(v); Py_DECREF(container); Py_DECREF(sub); if (err != 0) goto error; DISPATCH(); } } 此时,从栈中取出相关参数,并将这些值传入 PyObject_SetItem 函数进行处理设置值; 源文件:Objects/abstract.c // Objects/abstract.c int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *value) { PyMappingMethods *m; if (o == NULL || key == NULL || value == NULL) {           // 检查是否为空如果任一为空则报错 null_error(); return -1; } m = o->ob_type->tp_as_mapping;                      // 获取类型的tp_as_mapping方法集      if (m && m->mp_ass_subscript)                       // 如果有设置该类型 return m->mp_ass_subscript(o, key, value); // 调用该mp_ass_subscript方法 if (o->ob_type->tp_as_sequence) { // 获取作为队列的操作集 if (PyIndex_Check(key)) {                       // 检查key是否是索引 Py_ssize_t key_value; key_value = PyNumber_AsSsize_t(key, PyExc_IndexError);  if (key_value == -1 && PyErr_Occurred()) return -1; return PySequence_SetItem(o, key_value, value);       // 调用索引插入 } else if (o->ob_type->tp_as_sequence->sq_ass_item) { type_error(\"sequence index must be \" \"integer, not '%.200s'\", key); return -1; } } type_error(\"'%.200s' object does not support item assignment\", o);   // 则该类型对象不支持设置 return -1; } 其中就调用了字典的 tp_as_mapping 的方法集,并调用了该方法集的 mp_ass_subscript 方法;此时我们分析一下,dict 的 tp_as_mapping 的方法集。此时就调用了 tp_as_mapping 的 mp_ass_subscript 方法,此时就是调用 dict 的 dict_ass_sub 方法; 源文件:Objects/dictobject.c // Objects/dictobject.c static int dict_ass_sub(PyDictObject *mp, PyObject *v, PyObject *w) { if (w == NULL) return PyDict_DelItem((PyObject *)mp, v); else return PyDict_SetItem((PyObject *)mp, v, w); } 可知,删除一个 key 就是 PyDict_DelItem,设置一个 key 就是 PyDict_SetItem; 源文件:Objects/dictobject.c // Objects/dictobject.c int PyDict_SetItem(PyObject *op, PyObject *key, PyObject *value) { PyDictObject *mp; Py_hash_t hash; if (!PyDict_Check(op)) {            // 检查是否是字典类型 PyErr_BadInternalCall(); return -1; } assert(key); assert(value); mp = (PyDictObject *)op; if (!PyUnicode_CheckExact(key) || (hash = ((PyASCIIObject *) key)->hash) == -1)  // 检查传入的key是否hash为-1 { hash = PyObject_Hash(key); // 生成hash调用key对应的tp_hash方法,在本例中传入的是str类型,则调用str类型的tp_hash方法 if (hash == -1) return -1; } /* insertdict() handles any resizing that might be necessary */ return insertdict(mp, key, hash, value); // 生成hash调用key对应的tp_hash方法 } insertdict 方法就是将生成的方法,插入到字典中去; 源文件:Objects/dictobject.c // Objects/dictobject.c static int insertdict(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject *value) { PyObject *old_value; PyDictKeyEntry *ep; Py_INCREF(key); Py_INCREF(value); if (mp->ma_values != NULL && !PyUnicode_CheckExact(key)) { if (insertion_resize(mp) ma_keys->dk_lookup(mp, key, hash, &old_value);     // 调用查找方法 if (ix == DKIX_ERROR) goto Fail; assert(PyUnicode_CheckExact(key) || mp->ma_keys->dk_lookup == lookdict); MAINTAIN_TRACKING(mp, key, value); // 检查mp key values是否需要加入垃圾回收 /* When insertion order is different from shared key, we can't share * the key anymore. Convert this instance to combine table. */ if (_PyDict_HasSplitTable(mp) && ((ix >= 0 && old_value == NULL && mp->ma_used != ix) || (ix == DKIX_EMPTY && mp->ma_used != mp->ma_keys->dk_nentries))) {  // 检查是否是分离表,如果没查找到旧值并且 if (insertion_resize(mp) ma_keys->dk_usable ma_keys, hash);         // 查找一个可用的hash位置 ep = &DK_ENTRIES(mp->ma_keys)[mp->ma_keys->dk_nentries];         // 获取存取的地址 dk_set_index(mp->ma_keys, hashpos, mp->ma_keys->dk_nentries);      // 设置该值 ep->me_key = key;                                 // 保存key ep->me_hash = hash; // 保存计算得出的hash值 if (mp->ma_values) {                               // 如果mp的ma_values有值 assert (mp->ma_values[mp->ma_keys->dk_nentries] == NULL); mp->ma_values[mp->ma_keys->dk_nentries] = value;           // 设置该key对应的value } else { ep->me_value = value; // 直接讲value设置到entry上面 } mp->ma_used++;                                   // 使用个数加1 mp->ma_version_tag = DICT_NEXT_VERSION();   mp->ma_keys->dk_usable--;                            // 可用减1 mp->ma_keys->dk_nentries++; assert(mp->ma_keys->dk_usable >= 0); assert(_PyDict_CheckConsistency(mp)); return 0; } if (_PyDict_HasSplitTable(mp)) { // 如果是分离的 mp->ma_values[ix] = value; // 直接设置ma_values对应的ix到values中 if (old_value == NULL) { /* pending state */ assert(ix == mp->ma_used); mp->ma_used++;                               // 使用加1 } } else { assert(old_value != NULL); DK_ENTRIES(mp->ma_keys)[ix].me_value = value; } mp->ma_version_tag = DICT_NEXT_VERSION(); Py_XDECREF(old_value); /* which **CAN** re-enter (see issue #22653) */ assert(_PyDict_CheckConsistency(mp)); Py_DECREF(key); return 0; Fail: Py_DECREF(value); Py_DECREF(key); return -1; } 首先会调用相关的查找方法,去查找待搜索的值是否已经存在字典中,如果当前字典数据已经满了则会按照增长大小的函数生成一个新的字典,并把旧数据设置到新的字典中,当找到的字典匹配时则返回。 其中 dk_lookup 对应的方法,在初始化之后对应的是 lookdict_unicode_nodummy; 源文件:Objects/dictobject.c // Objects/dictobject.c /* Faster version of lookdict_unicode when it is known that no keys * will be present. */ static Py_ssize_t _Py_HOT_FUNCTION lookdict_unicode_nodummy(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject **value_addr) { assert(mp->ma_values == NULL); /* Make sure this function doesn't have to handle non-unicode keys, including subclasses of str; e.g., one reason to subclass unicodes is to override __eq__, and for speed we don't cater to that here. */ if (!PyUnicode_CheckExact(key)) {                     // 检查如果不是unicode则直接调用lookdict方法查找 mp->ma_keys->dk_lookup = lookdict; return lookdict(mp, key, hash, value_addr); } PyDictKeyEntry *ep0 = DK_ENTRIES(mp->ma_keys);             // 获取keys的首个元素地址 size_t mask = DK_MASK(mp->ma_keys);                    // 获取大小 size_t perturb = (size_t)hash; size_t i = (size_t)hash & mask;                       // 获取生成的最终的值                  for (;;) { Py_ssize_t ix = dk_get_index(mp->ma_keys, i); // 便利ma_keys key列表 assert (ix != DKIX_DUMMY);                     // 判断不能为空 if (ix == DKIX_EMPTY) { // 如果为空则证明找到一个可以使用的 *value_addr = NULL;                       // 讲key对应的value设置为空 return DKIX_EMPTY;                        // 返回 } PyDictKeyEntry *ep = &ep0[ix];             // 获取该位置元素值 assert(ep->me_key != NULL); assert(PyUnicode_CheckExact(ep->me_key)); if (ep->me_key == key || (ep->me_hash == hash && unicode_eq(ep->me_key, key))) {  // 如果key相同 hash值也相同 *value_addr = ep->me_value;                    // 将该值赋值 return ix; } perturb >>= PERTURB_SHIFT;                      // 偏移 i = mask & (i*5 + perturb + 1);                   // 获取下一个位置 } Py_UNREACHABLE(); } 该函数的主要工作就是查找,字典中是否有空余的值,或者如果找到了满足 hash 值与 key 相同的就将 value 设置为找到的值(这也是字典查找的核心逻辑)。至此,字典的插入的大致流程已经分析完毕。 Python 字典的操作测试 现在我们动手观看一下具体的操作实例,首先声明,该例子仅供调试使用,目前调试的字典的 key 与 value 都是 float 类型并且不能 del 或者 pop 其中的 key。操作字典如下所示; d = {20000:2} d[1] = 2 d[3] = 2 首先,讲如下代码插入到 dictobject.c 的 1060 行; // 测试代码 PyObject* key1 = PyLong_FromLong(20000); Py_hash_t hash1 = PyObject_Hash(key1); PyObject* old_value1; Py_ssize_t ix1 = mp->ma_keys->dk_lookup(mp, key1, hash1, &old_value1); if (ix1 == 0){ PyLongObject* give; give = (PyLongObject* )key1; printf(\"found value : %ld\\n\", give->ob_digit[0]); PyDictKeyEntry *ep01 = DK_ENTRIES(mp->ma_keys); int i, count; count = mp->ma_used; int size_count, j; size_count = mp->ma_keys->dk_size; printf(\"%s \", mp->ma_keys->dk_indices); int8_t *indices = (int8_t*)(mp->ma_keys->dk_indices); printf(\"indices index values :\"); for (j=0; jme_key; printf(\"size : %d \", mp->ma_keys->dk_size); printf(\"found value while  key : %ld \", give->ob_digit[0]); give = (PyLongObject* )ep01->me_value; printf(\"value : %ld\\n\", give->ob_digit[0]); ep01++; } } 然后编译运行; Python 3.7.3 (default, May 22 2019, 16:17:57) [GCC 7.3.0] on linux Type \"help\", \"copyright\", \"credits\" or \"license\" for more information. >>> d = {20000:2} found value : 20000 indices index values :0 -1 -1 -1 -1 -1 -1 -1 size : 8 found value while  key : 20000 value : 2 其中为什么初始化的时候输入 20000,是根据代码找到相关的 key 值,因为字典也被 python 自身实现的结构中引用了多次,所以我们就设置了一个特殊值来跟踪我们想要的字典;当 d 初始化的时候,就输出如上所示内容;我们接下来继续操作; >>> d = {20000:2} found value : 20000 indices index values :0 -1 -1 -1 -1 -1 -1 -1 size : 8 found value while  key : 20000 value : 2 >>> d[2] = 3 found value : 20000 indices index values :0 -1 1 -1 -1 -1 -1 -1 size : 8 found value while  key : 20000 value : 2 size : 8 found value while  key : 2 value : 3 >>> d[3] = 4 found value : 20000 indices index values :0 -1 1 2 -1 -1 -1 -1 size : 8 found value while  key : 20000 value : 2 size : 8 found value while  key : 2 value : 3 size : 8 found value while  key : 3 value : 4 >>> d[5] = 6 found value : 20000 indices index values :0 -1 1 2 -1 3 -1 -1 size : 8 found value while  key : 20000 value : 2 size : 8 found value while  key : 2 value : 3 size : 8 found value while  key : 3 value : 4 size : 8 found value while  key : 5 value : 6 >>> d[7] = 8 found value : 20000 indices index values :0 -1 1 2 -1 3 -1 4 size : 8 found value while  key : 20000 value : 2 size : 8 found value while  key : 2 value : 3 size : 8 found value while  key : 3 value : 4 size : 8 found value while  key : 5 value : 6 size : 8 found value while  key : 7 value : 8 此后我们一直添加值进 d,从输出信息可知,index 就是记录了 PyDictKeyEntry 的索引值,-1 就表示该处未使用。 当我们继续向 d 中添加内容时; >>> d[9] = 10 found value : 20000 indices index values :0 -1 1 2 -1 3 -1 4 -1 5 -1 -1 -1 -1 -1 -1 size : 16 found value while  key : 20000 value : 2 size : 16 found value while  key : 2 value : 3 size : 16 found value while  key : 3 value : 4 size : 16 found value while  key : 5 value : 6 size : 16 found value while  key : 7 value : 8 size : 16 found value while  key : 9 value : 10 >>> d[10] = 11 found value : 20000 indices index values :0 -1 1 2 -1 3 -1 4 -1 5 6 -1 -1 -1 -1 -1 size : 16 found value while  key : 20000 value : 2 size : 16 found value while  key : 2 value : 3 size : 16 found value while  key : 3 value : 4 size : 16 found value while  key : 5 value : 6 size : 16 found value while  key : 7 value : 8 size : 16 found value while  key : 9 value : 10 size : 16 found value while  key : 10 value : 11 从输出内容可知,字典的大小随之改变了,这也说明了 python 字典的最佳大小容量限定在 1/2 到 2/3 之间,如果超过这个阈值则字典就会自动扩容,扩容的策略大家可详细查看源码。 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"objects/set-object/":{"url":"objects/set-object/","title":"Python Set 对象","keywords":"","body":"python 集合 set 是无序且不重复的集合,是可变的,通常用来从列表中删除重复项以及计算数学运算,如交集、并集、差分和对称差分等集合操作。set 支持 x in set, len(set),和 for x in set。作为一个无序的集合,set 不记录元素位置或者插入点。因此,sets 不支持 indexing, 或其它类序列的操作。 python 集合概述 在 set 中,对应的 set 的值的存储是通过结构 setentry 来保存数据值的; 源文件:include/setobject.h typedef struct { PyObject *key; Py_hash_t hash; /* Cached hash code of the key */ } setentry; key 就是保存的数据,hash 就是保存的数据的 hash,便于查找,set 也是基于 hash 表来实现。对应的 setentry 所对应的 set 的数据结构如下; 源文件:include/setobject.h typedef struct { PyObject_HEAD Py_ssize_t fill; /* Number active and dummy entries*/ // 包括已经使用的entry与空entry值的总和 Py_ssize_t used; /* Number active entries */ // 已经使用可用的总量 /* The table contains mask + 1 slots, and that's a power of 2. * We store the mask instead of the size because the mask is more * frequently needed. */ Py_ssize_t mask;                                // 与hash求和的mask /* The table points to a fixed-size smalltable for small tables * or to additional malloc'ed memory for bigger tables. * The table pointer is never NULL which saves us from repeated * runtime null-tests. */ setentry *table; // 保存数据的数组数组指针 Py_hash_t hash; /* Only used by frozenset objects */ Py_ssize_t finger; /* Search finger for pop() */ setentry smalltable[PySet_MINSIZE]; // 保存数据的数组 默认初始化为8个元素,通过table指向 PyObject *weakreflist; /* List of weak references */ } PySetObject; 一个 set 就对应一个 PySetObject 类型数据,set 会根据保存的元素自动调整大小。相关的内存布局如下; python 集合(set)示例 示例脚本如下: set_a = {1,2}  set_a.add(3) set_a.add(4) set_a.remove(1) set_a.update({3,}) set_a.union({1,5}) 通过 python 反汇编获取该脚本的字节码; python -m dis set_test.py 输出的字节码如下所示; 1 0 LOAD_CONST 0 (1) 3 LOAD_CONST 1 (2) 6 BUILD_SET 2 9 STORE_NAME 0 (set_a) 2 12 LOAD_NAME 0 (set_a) 15 LOAD_ATTR 1 (add) 18 LOAD_CONST 2 (3) 21 CALL_FUNCTION 1 24 POP_TOP 3 25 LOAD_NAME 0 (set_a) 28 LOAD_ATTR 1 (add) 31 LOAD_CONST 3 (4) 34 CALL_FUNCTION 1 37 POP_TOP 4 38 LOAD_NAME 0 (set_a) 41 LOAD_ATTR 2 (remove) 44 LOAD_CONST 0 (1) 47 CALL_FUNCTION 1 50 POP_TOP 5 51 LOAD_NAME 0 (set_a) 54 LOAD_ATTR 3 (update) 57 LOAD_CONST 2 (3) 60 BUILD_SET 1 63 CALL_FUNCTION 1 66 POP_TOP 6 67 LOAD_NAME 0 (set_a) 70 LOAD_ATTR 4 (union) 73 LOAD_CONST 0 (1) 76 LOAD_CONST 4 (5) 79 BUILD_SET 2 82 CALL_FUNCTION 1 85 POP_TOP 86 LOAD_CONST 5 (None) 89 RETURN_VALUE 通过该字节码指令可知,创建 set 调用了 BUILD_SET 指令,初始化完成之后,就调用 set 的 add 方法添加元素,调用 remove 删除元素,调用 update 来更新集合,通过 union 来合并集合。接下来就详细分析一下相关的操作流程。 set 的创建与初始化 查找 BUILD_SET 的虚拟机执行函数如下; 源文件:Python/ceval.c // Python/ceval.c TARGET(BUILD_SET) { PyObject *set = PySet_New(NULL); // 新建并初始化一个set int err = 0; int i; if (set == NULL) goto error; for (i = oparg; i > 0; i--) { // 将传入初始化的参数传入 PyObject *item = PEEK(i); if (err == 0) err = PySet_Add(set, item); // 并依次对set进行添加操作 Py_DECREF(item); } STACKADJ(-oparg);                // 移动弹栈 if (err != 0) { Py_DECREF(set); goto error; } PUSH(set);                     // 讲set压栈 DISPATCH();                    // 执行下一条指令 } 此时继续查看 PySet_New 函数的执行流程; 源文件:Objects/setobject.c PyObject * PySet_New(PyObject *iterable) { return make_new_set(&PySet_Type, iterable); } ... static PyObject * make_new_set(PyTypeObject *type, PyObject *iterable) { PySetObject *so; so = (PySetObject *)type->tp_alloc(type, 0); // 申请该元素的内存 if (so == NULL) // 内存申请失败则返回为空 return NULL; so->fill = 0; // 初始化的时候都为0 so->used = 0; so->mask = PySet_MINSIZE - 1; // PySet_MINSIZE默认我8,mask为7 so->table = so->smalltable; // 将保存数据的头指针指向table so->hash = -1; // 设置hash值为-1 so->finger = 0; so->weakreflist = NULL; if (iterable != NULL) { // 如果有迭代器 if (set_update_internal(so, iterable)) { // 将内容更新到so中 Py_DECREF(so); return NULL; } } return (PyObject *)so; // 返回初始化完成的set } 从 PySet_New 的执行流程可知,字典的初始化过程就是初始化相关数据结构。 set 的插入 在本例的初始化过程中,由于传入了初始值 1,2,所以会在执行字节码指令的时候,执行 PySet_Add,该函数的本质与 set_a.add(3)本质都调用了更底层 set_add_key 函数; 源文件:Objects/setobject.c int PySet_Add(PyObject *anyset, PyObject *key) { if (!PySet_Check(anyset) && (!PyFrozenSet_Check(anyset) || Py_REFCNT(anyset) != 1)) { PyErr_BadInternalCall(); return -1; } return set_add_key((PySetObject *)anyset, key); // 向字典中添加key; } 继续查看 set_add_key 函数的执行过程; 源文件:Objects/setobject.c static int set_add_key(PySetObject *so, PyObject *key) { Py_hash_t hash; if (!PyUnicode_CheckExact(key) || (hash = ((PyASCIIObject *) key)->hash) == -1) { hash = PyObject_Hash(key); // 获取传入值的hash值 if (hash == -1) // 如果不能hash则返回-1 return -1; } return set_add_entry(so, key, hash); // 计算完成后添加值 } 该函数主要就是检查传入的 key 是否能够被 hash,如果能够被 hash 则直接返回,如果能被 hash 则继续调用 set_add_entry 函数将值加入到 set 中; 源文件:Objects/setobject.c static int set_add_entry(PySetObject *so, PyObject *key, Py_hash_t hash) { setentry *table; setentry *freeslot; setentry *entry; size_t perturb; size_t mask; size_t i; /* Unsigned for defined overflow behavior */ size_t j; int cmp; /* Pre-increment is necessary to prevent arbitrary code in the rich comparison from deallocating the key just before the insertion. */ Py_INCREF(key); // 提高key的引用计数 restart: mask = so->mask;  // 获取so->mask i = (size_t)hash & mask;  // 通过传入的hash与mask求索引下标 entry = &so->table[i];    // 获取索引对应的值 if (entry->key == NULL) // 如果获取索引的值没有被使用则直接跳转到found_unused处执行 goto found_unused; freeslot = NULL; perturb = hash;    // perturb设置为当前hash值   while (1) { if (entry->hash == hash) { // 如果当前hash值相等 PyObject *startkey = entry->key;                      // 获取当前key /* startkey cannot be a dummy because the dummy hash field is -1 */ assert(startkey != dummy); // 检查key是否为dummy if (startkey == key) // 如果找到的值与传入需要设置的值相同则跳转到found_active处执行 goto found_active; if (PyUnicode_CheckExact(startkey) && PyUnicode_CheckExact(key) && _PyUnicode_EQ(startkey, key)) // 如果是unicode,通过类型转换检查两个key的内容是否相同,如果不相同则跳转到found_active处 goto found_active; table = so->table; // 如果没有找到,则获取当前table的头部节点 Py_INCREF(startkey); cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);          // 如果是其他类型的对象则调用比较方法去比较两个key是否相同 Py_DECREF(startkey); if (cmp > 0) /* likely */ // 如果找到则跳转到found_active goto found_active; if (cmp table || entry->key != startkey) // 如果set改变了则重新开始查找 goto restart; mask = so->mask; /* help avoid a register spill */    } else if (entry->hash == -1) freeslot = entry;    // 如果不能hash 则设置freeslot if (i + LINEAR_PROBES hash == 0 && entry->key == NULL)              // 如果找到当前hash为空或者key为空的则跳转到found_unused_or_dummy处执行 goto found_unused_or_dummy; if (entry->hash == hash) {   // 如果找到的hash值相同 PyObject *startkey = entry->key; // 获取该值 assert(startkey != dummy); // 检查是否为dummy if (startkey == key) // 如果key相同则跳转到found_active处执行 goto found_active; if (PyUnicode_CheckExact(startkey) && PyUnicode_CheckExact(key) && _PyUnicode_EQ(startkey, key)) // 检查是否为unicode,并比较如果不相同则跳转到found_active goto found_active; table = so->table; // 调用key本身的方法比较 Py_INCREF(startkey); cmp = PyObject_RichCompareBool(startkey, key, Py_EQ); Py_DECREF(startkey); if (cmp > 0) goto found_active; if (cmp table || entry->key != startkey) goto restart; mask = so->mask; } else if (entry->hash == -1) freeslot = entry; } } perturb >>= PERTURB_SHIFT; // 如果没有找到则获取下一个索引值 i = (i * 5 + 1 + perturb) & mask; // 右移5位 加上 索引值*5 加1与mask求余获取下一个索引值 entry = &so->table[i]; // 获取下一个元素 if (entry->key == NULL)               // 如果找到为空则直接跳转到found_unused_or_dummy处 goto found_unused_or_dummy; } found_unused_or_dummy: if (freeslot == NULL)                                  // 检查freeslot是否为空如果为空则跳转到found_unused处执行即找到了dummy位置 goto found_unused; so->used++;                       // 使用数加1 freeslot->key = key;                                   // 设置key与hash值 freeslot->hash = hash; return 0; found_unused: so->fill++;                                        // 使用总数加1 so->used++;                                        // 使用总数加1  entry->key = key;                                     // 设置key与hash值 entry->hash = hash; if ((size_t)so->fill*5 used>50000 ? so->used*2 : so->used*4);    // 如果已使用的总数大于3/5则重新调整table,如果set使用的总数超过了50000则扩展为以前的2倍否则就是四倍 found_active: Py_DECREF(key);                                      // 如果找到了该值 则什么也不做 return 0; comparison_error: Py_DECREF(key);                                      // 如果比较失败则返回-1 return -1; } 此时基本的流程就是通过传入的 hash 值,如果计算出的索引值,没有值,则直接将该值存入对应的 entry 中,如果相同则不插入,如果索引对应的值且值不同,则遍历从该索引往后9个位置的值,依次找到有空余位置的值,并将该值设置进去。如果设置该值之后使用的数量占总的申请数量超过了 3/5 则重新扩充 set,扩充的原则就是如果当前的 set->used>50000 就进行两倍扩充否则就进行四倍扩充。 插入的概述如下,默认 s 初始化为空; s.add(1) // index = 1 & 7 = 1 s.add(2) // index = 2 & 7 = 2 s.add(7) // index = 9 & 7 = 1 大致的 set 的插入过程执行完毕。 set 的删除 set 的删除操作主要集中在 set_remove()函数上,如下示例; 源文件:Objects/setobject.c static PyObject * set_remove(PySetObject *so, PyObject *key) { PyObject *tmpkey; int rv; rv = set_discard_key(so, key); // 将该key设置为dummy if (rv 此时就会调用 set_discard_key 方法来讲对应的 entry 设置为 dummy;set_discard_key 方法如下; 源文件:Objects/setobject.c static int set_discard_key(PySetObject *so, PyObject *key) { Py_hash_t hash; if (!PyUnicode_CheckExact(key) || (hash = ((PyASCIIObject *) key)->hash) == -1) { hash = PyObject_Hash(key);  // 检查是否可用hash如果可用则调用set_discard_entry方法 if (hash == -1) return -1; } return set_discard_entry(so, key, hash); } 该函数主要就是做了检查 key 是否可用 hash 的检查,此时如果可用 hash 则调用 set_discard_entry 方法; 源文件:Objects/setobject.c static int set_discard_entry(PySetObject *so, PyObject *key, Py_hash_t hash) { setentry *entry; PyObject *old_key; entry = set_lookkey(so, key, hash);      // 查找该值 set_lookkey该方法与插入的逻辑类似大家可自行查看 if (entry == NULL)                 // 如果没有找到则返回-1 return -1; if (entry->key == NULL) return DISCARD_NOTFOUND;           // 找到entry而key为空则返回notfound old_key = entry->key; // 找到正常值则讲该值对应的entry设置为dummy entry->key = dummy; entry->hash = -1; // hash值为-1 so->used--; // 使用数量减1 但是fill数量未变 Py_DECREF(old_key);                 // 减少该对象引用 return DISCARD_FOUND;                // 返回返现 } 此时就是查找该值,如果找到该值并将该值设置为 dummy,并且将 used 值减1,此处没有减去 fill 的数量,从此处可知,fill 包括所有曾经申请过的数量。 set 的 resize set 的 resize 主要依靠 set_table_reseize 函数来实现; 源文件:Objects/setobject.c static int set_table_resize(PySetObject *so, Py_ssize_t minused) { setentry *oldtable, *newtable, *entry; Py_ssize_t oldmask = so->mask; // 设置旧的mask size_t newmask; int is_oldtable_malloced; setentry small_copy[PySet_MINSIZE]; // 最小的拷贝数组 assert(minused >= 0); /* Find the smallest table size > minused. */ /* XXX speed-up with intrinsics */ size_t newsize = PySet_MINSIZE; while (newsize table;                   // 先获取旧的table assert(oldtable != NULL); is_oldtable_malloced = oldtable != so->smalltable; if (newsize == PySet_MINSIZE) {                  // 如果获取的新大小与PySet_MINSIZE的大小相同 /* A large table is shrinking, or we can't get any smaller. */ newtable = so->smalltable;                  // 获取新table的地址 if (newtable == oldtable) {                 // 如果相同 if (so->fill == so->used) {              // 如果使用的相同则什么都不做 /* No dummies, so no point doing anything. */ return 0; } /* We're not going to resize it, but rebuild the table anyway to purge old dummy entries. Subtle: This is *necessary* if fill==size, as set_lookkey needs at least one virgin slot to terminate failing searches. If fill fill > so->used); memcpy(small_copy, oldtable, sizeof(small_copy)); // 将数据拷贝到set_lookkey中 oldtable = small_copy;                   } } else { newtable = PyMem_NEW(setentry, newsize); // 新申请内存 if (newtable == NULL) {                     // 如果为空则申请内存失败报错 PyErr_NoMemory(); return -1; } } /* Make the set empty, using the new table. */ assert(newtable != oldtable); // 检查新申请的与就table不同 memset(newtable, 0, sizeof(setentry) * newsize);        // 新申请的内存置空 so->mask = newsize - 1; // 设置新的size so->table = newtable; // 重置table指向新table /* Copy the data over; this is refcount-neutral for active entries; dummy entries aren't copied over, of course */ newmask = (size_t)so->mask; // 获取新的mask if (so->fill == so->used) { // 如果使用的与曾经使用的数量相同 for (entry = oldtable; entry key != NULL) { set_insert_clean(newtable, newmask, entry->key, entry->hash);  // 如果值不为空则插入到新的table中 } } } else { so->fill = so->used;                        // 如果不相同则重置fill为used的值 for (entry = oldtable; entry key != NULL && entry->key != dummy) {     // 检查如果不为dummy并且key不为空的情况下 set_insert_clean(newtable, newmask, entry->key, entry->hash);  // 重新插入该列表该值 } } } if (is_oldtable_malloced)                       // 如果两个表相同则删除旧table PyMem_DEL(oldtable); return 0; // 返回0 } 主要是检查是否 table 相同并且需要重新 resize 的值,然后判断是否 fill 与 used 相同,如果相同则全部插入,如果不同,则遍历旧 table 讲不为空并且不为 dummy 的值插入到新表中; 源文件:Objects/setobject.c static void set_insert_clean(setentry *table, size_t mask, PyObject *key, Py_hash_t hash) { setentry *entry; size_t perturb = hash; size_t i = (size_t)hash & mask;         // 计算索引 size_t j; while (1) { entry = &table[i]; // 获取当前entry if (entry->key == NULL) // 如果为空则跳转值found_null设置key与hash goto found_null; if (i + LINEAR_PROBES key == NULL) // 如果为空则跳转到found_null goto found_null; } } perturb >>= PERTURB_SHIFT; // 计算下一个索引值继续寻找 i = (i * 5 + 1 + perturb) & mask; } found_null: entry->key = key; entry->hash = hash; } set 的 resize 的操作基本如上所述。 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "},"objects/simple-interpreter/":{"url":"objects/simple-interpreter/","title":"实现简版 Python","keywords":"","body":"Python 字符串 对象 Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-03-23 19:36:27 "}} \ No newline at end of file

                        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

                        +
                        + + + + + + + + +
                        + +
                        + +
                        + + + + + + + + +
                        +
                        + +
                        +
                        + +
                        + +

                        python 集合

                        +

                        set 是无序且不重复的集合,是可变的,通常用来从列表中删除重复项以及计算数学运算,如交集、并集、差分和对称差分等集合操作。set 支持 x in set, len(set),和 for x in set。作为一个无序的集合,set 不记录元素位置或者插入点。因此,sets 不支持 indexing, 或其它类序列的操作。

                        +

                        python 集合概述

                        +

                        在 set 中,对应的 set 的值的存储是通过结构 setentry 来保存数据值的;

                        +

                        源文件:include/setobject.h

                        +
                        typedef struct {
                        +    PyObject *key;
                        +    Py_hash_t hash;             /* Cached hash code of the key */
                        +} setentry;
                        +
                        +

                        key 就是保存的数据,hash 就是保存的数据的 hash,便于查找,set 也是基于 hash 表来实现。对应的 setentry 所对应的 set 的数据结构如下;

                        +

                        源文件:include/setobject.h

                        +
                        typedef struct {
                        +    PyObject_HEAD
                        +
                        +    Py_ssize_t fill;            /* Number active and dummy entries*/     // 包括已经使用的entry与空entry值的总和
                        +    Py_ssize_t used;            /* Number active entries */              // 已经使用可用的总量
                        +
                        +    /* The table contains mask + 1 slots, and that's a power of 2.
                        +     * We store the mask instead of the size because the mask is more
                        +     * frequently needed.
                        +     */
                        +    Py_ssize_t mask;                                // 与hash求和的mask
                        +
                        +    /* The table points to a fixed-size smalltable for small tables
                        +     * or to additional malloc'ed memory for bigger tables.
                        +     * The table pointer is never NULL which saves us from repeated
                        +     * runtime null-tests.
                        +     */
                        +    setentry *table;                                                    // 保存数据的数组数组指针
                        +    Py_hash_t hash;             /* Only used by frozenset objects */
                        +    Py_ssize_t finger;          /* Search finger for pop() */
                        +
                        +    setentry smalltable[PySet_MINSIZE];                                 // 保存数据的数组 默认初始化为8个元素,通过table指向
                        +    PyObject *weakreflist;      /* List of weak references */
                        +} PySetObject;
                        +
                        +

                        一个 set 就对应一个 PySetObject 类型数据,set 会根据保存的元素自动调整大小。相关的内存布局如下;

                        +

                        内存图片

                        +

                        python 集合(set)示例

                        +

                        示例脚本如下:

                        +
                        set_a = {1,2} 
                        +set_a.add(3)
                        +set_a.add(4)
                        +set_a.remove(1)
                        +set_a.update({3,})
                        +set_a.union({1,5})
                        +
                        +

                        通过 python 反汇编获取该脚本的字节码;

                        +
                        python -m dis set_test.py
                        +

                        输出的字节码如下所示;

                        +
                          1           0 LOAD_CONST               0 (1)
                        +              3 LOAD_CONST               1 (2)
                        +              6 BUILD_SET                2
                        +              9 STORE_NAME               0 (set_a)
                        +
                        +  2          12 LOAD_NAME                0 (set_a)
                        +             15 LOAD_ATTR                1 (add)
                        +             18 LOAD_CONST               2 (3)
                        +             21 CALL_FUNCTION            1
                        +             24 POP_TOP
                        +
                        +  3          25 LOAD_NAME                0 (set_a)
                        +             28 LOAD_ATTR                1 (add)
                        +             31 LOAD_CONST               3 (4)
                        +             34 CALL_FUNCTION            1
                        +             37 POP_TOP
                        +
                        +  4          38 LOAD_NAME                0 (set_a)
                        +             41 LOAD_ATTR                2 (remove)
                        +             44 LOAD_CONST               0 (1)
                        +             47 CALL_FUNCTION            1
                        +             50 POP_TOP
                        +
                        +  5          51 LOAD_NAME                0 (set_a)
                        +             54 LOAD_ATTR                3 (update)
                        +             57 LOAD_CONST               2 (3)
                        +             60 BUILD_SET                1
                        +             63 CALL_FUNCTION            1
                        +             66 POP_TOP
                        +
                        +  6          67 LOAD_NAME                0 (set_a)
                        +             70 LOAD_ATTR                4 (union)
                        +             73 LOAD_CONST               0 (1)
                        +             76 LOAD_CONST               4 (5)
                        +             79 BUILD_SET                2
                        +             82 CALL_FUNCTION            1
                        +             85 POP_TOP
                        +             86 LOAD_CONST               5 (None)
                        +             89 RETURN_VALUE
                        +
                        +

                        通过该字节码指令可知,创建 set 调用了 BUILD_SET 指令,初始化完成之后,就调用 set 的 add 方法添加元素,调用 remove 删除元素,调用 update 来更新集合,通过 union 来合并集合。接下来就详细分析一下相关的操作流程。

                        +

                        set 的创建与初始化

                        +

                        查找 BUILD_SET 的虚拟机执行函数如下;

                        +

                        源文件:Python/ceval.c

                        +
                        // Python/ceval.c
                        +
                        +    TARGET(BUILD_SET) {
                        +        PyObject *set = PySet_New(NULL);             // 新建并初始化一个set
                        +        int err = 0;
                        +        int i;
                        +        if (set == NULL)
                        +            goto error;
                        +        for (i = oparg; i > 0; i--) {                // 将传入初始化的参数传入
                        +            PyObject *item = PEEK(i);
                        +            if (err == 0)
                        +                err = PySet_Add(set, item);          // 并依次对set进行添加操作
                        +            Py_DECREF(item);
                        +        }
                        +        STACKADJ(-oparg);                  // 移动弹栈
                        +        if (err != 0) {
                        +            Py_DECREF(set);
                        +            goto error;
                        +        }
                        +        PUSH(set);                     // 讲set压栈
                        +        DISPATCH();                    // 执行下一条指令
                        +    }
                        +
                        +

                        此时继续查看 PySet_New 函数的执行流程;

                        +

                        源文件:Objects/setobject.c

                        +
                        PyObject *
                        +PySet_New(PyObject *iterable)
                        +{
                        +    return make_new_set(&PySet_Type, iterable);
                        +}
                        +
                        +...
                        +
                        +
                        +static PyObject *
                        +make_new_set(PyTypeObject *type, PyObject *iterable)
                        +{
                        +    PySetObject *so;
                        +
                        +    so = (PySetObject *)type->tp_alloc(type, 0);            // 申请该元素的内存
                        +    if (so == NULL)                                        // 内存申请失败则返回为空
                        +        return NULL;
                        +
                        +    so->fill = 0;                                           // 初始化的时候都为0
                        +    so->used = 0;
                        +    so->mask = PySet_MINSIZE - 1;                           // PySet_MINSIZE默认我8,mask为7
                        +    so->table = so->smalltable;                             // 将保存数据的头指针指向table
                        +    so->hash = -1;                                          // 设置hash值为-1
                        +    so->finger = 0;
                        +    so->weakreflist = NULL;
                        +
                        +    if (iterable != NULL) {                                 // 如果有迭代器
                        +        if (set_update_internal(so, iterable)) {            // 将内容更新到so中
                        +            Py_DECREF(so);
                        +            return NULL;
                        +        }
                        +    }
                        +
                        +    return (PyObject *)so;                                  // 返回初始化完成的set
                        +}
                        +
                        +

                        从 PySet_New 的执行流程可知,字典的初始化过程就是初始化相关数据结构。

                        +

                        set 的插入

                        +

                        在本例的初始化过程中,由于传入了初始值 1,2,所以会在执行字节码指令的时候,执行 PySet_Add,该函数的本质与 set_a.add(3)本质都调用了更底层 set_add_key 函数;

                        +

                        源文件:Objects/setobject.c

                        +
                        
                        +int
                        +PySet_Add(PyObject *anyset, PyObject *key)
                        +{
                        +    if (!PySet_Check(anyset) &&
                        +        (!PyFrozenSet_Check(anyset) || Py_REFCNT(anyset) != 1)) {
                        +        PyErr_BadInternalCall();
                        +        return -1;
                        +    }
                        +    return set_add_key((PySetObject *)anyset, key);  // 向字典中添加key;
                        +}
                        +
                        +

                        继续查看 set_add_key 函数的执行过程;

                        +

                        源文件:Objects/setobject.c

                        +
                        static int
                        +set_add_key(PySetObject *so, PyObject *key)
                        +{
                        +    Py_hash_t hash;
                        +
                        +    if (!PyUnicode_CheckExact(key) ||
                        +        (hash = ((PyASCIIObject *) key)->hash) == -1) {
                        +        hash = PyObject_Hash(key);                  // 获取传入值的hash值
                        +        if (hash == -1)                             // 如果不能hash则返回-1
                        +            return -1;
                        +    }
                        +    return set_add_entry(so, key, hash);            // 计算完成后添加值
                        +}
                        +
                        +

                        该函数主要就是检查传入的 key 是否能够被 hash,如果能够被 hash 则直接返回,如果能被 hash 则继续调用 set_add_entry 函数将值加入到 set 中;

                        +

                        源文件:Objects/setobject.c

                        +
                        
                        +static int
                        +set_add_entry(PySetObject *so, PyObject *key, Py_hash_t hash)
                        +{
                        +    setentry *table;
                        +    setentry *freeslot;
                        +    setentry *entry;
                        +    size_t perturb;
                        +    size_t mask;
                        +    size_t i;                       /* Unsigned for defined overflow behavior */
                        +    size_t j;
                        +    int cmp;
                        +
                        +    /* Pre-increment is necessary to prevent arbitrary code in the rich
                        +       comparison from deallocating the key just before the insertion. */
                        +    Py_INCREF(key);                                                             // 提高key的引用计数
                        +
                        +  restart:
                        +
                        +    mask = so->mask;                                                           // 获取so->mask
                        +    i = (size_t)hash & mask;                                                   // 通过传入的hash与mask求索引下标
                        +
                        +    entry = &so->table[i];                                                    // 获取索引对应的值
                        +    if (entry->key == NULL)                                                     // 如果获取索引的值没有被使用则直接跳转到found_unused处执行
                        +        goto found_unused;
                        +
                        +    freeslot = NULL;
                        +    perturb = hash;                                                           // perturb设置为当前hash值
                        + 
                        +    while (1) {
                        +        if (entry->hash == hash) {                                              // 如果当前hash值相等
                        +            PyObject *startkey = entry->key;                      // 获取当前key
                        +            /* startkey cannot be a dummy because the dummy hash field is -1 */
                        +            assert(startkey != dummy);                                          // 检查key是否为dummy
                        +            if (startkey == key)                                                // 如果找到的值与传入需要设置的值相同则跳转到found_active处执行
                        +                goto found_active;
                        +            if (PyUnicode_CheckExact(startkey)
                        +                && PyUnicode_CheckExact(key)
                        +                && _PyUnicode_EQ(startkey, key))                                // 如果是unicode,通过类型转换检查两个key的内容是否相同,如果不相同则跳转到found_active处
                        +                goto found_active;
                        +            table = so->table;                                                  // 如果没有找到,则获取当前table的头部节点
                        +            Py_INCREF(startkey);
                        +            cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);          // 如果是其他类型的对象则调用比较方法去比较两个key是否相同
                        +            Py_DECREF(startkey);
                        +            if (cmp > 0)                                          /* likely */   // 如果找到则跳转到found_active
                        +                goto found_active;
                        +            if (cmp < 0)
                        +                goto comparison_error;                                          // 如果小于0,则是两个类型对比失败
                        +            /* Continuing the search from the current entry only makes
                        +               sense if the table and entry are unchanged; otherwise,
                        +               we have to restart from the beginning */
                        +            if (table != so->table || entry->key != startkey)                     // 如果set改变了则重新开始查找
                        +                goto restart;
                        +            mask = so->mask;                 /* help avoid a register spill */   
                        +        }
                        +        else if (entry->hash == -1)
                        +            freeslot = entry;                                                   // 如果不能hash 则设置freeslot
                        +
                        +        if (i + LINEAR_PROBES <= mask) {                                 // 检查当前索引值加上 9小于当前mask
                        +            for (j = 0 ; j < LINEAR_PROBES ; j++) {                               // 循环9次
                        +                entry++;                                                        // 向下一个位置
                        +                if (entry->hash == 0 && entry->key == NULL)              // 如果找到当前hash为空或者key为空的则跳转到found_unused_or_dummy处执行
                        +                    goto found_unused_or_dummy;
                        +                if (entry->hash == hash) {                                       // 如果找到的hash值相同
                        +                    PyObject *startkey = entry->key;                              // 获取该值
                        +                    assert(startkey != dummy);                                    // 检查是否为dummy
                        +                    if (startkey == key)                                          // 如果key相同则跳转到found_active处执行
                        +                        goto found_active;
                        +                    if (PyUnicode_CheckExact(startkey)
                        +                        && PyUnicode_CheckExact(key)
                        +                        && _PyUnicode_EQ(startkey, key))                          // 检查是否为unicode,并比较如果不相同则跳转到found_active
                        +                        goto found_active;
                        +                    table = so->table;                                            // 调用key本身的方法比较
                        +                    Py_INCREF(startkey);
                        +                    cmp = PyObject_RichCompareBool(startkey, key, Py_EQ);
                        +                    Py_DECREF(startkey);
                        +                    if (cmp > 0)
                        +                        goto found_active;
                        +                    if (cmp < 0)
                        +                        goto comparison_error;
                        +                    if (table != so->table || entry->key != startkey)
                        +                        goto restart;
                        +                    mask = so->mask;
                        +                }
                        +                else if (entry->hash == -1)
                        +                    freeslot = entry;
                        +            }
                        +        }
                        +
                        +        perturb >>= PERTURB_SHIFT;                                               // 如果没有找到则获取下一个索引值
                        +        i = (i * 5 + 1 + perturb) & mask;                                        // 右移5位 加上 索引值*5 加1与mask求余获取下一个索引值
                        +
                        +        entry = &so->table[i];                                                   // 获取下一个元素
                        +        if (entry->key == NULL)                                         // 如果找到为空则直接跳转到found_unused_or_dummy处
                        +            goto found_unused_or_dummy;
                        +    }
                        +
                        +  found_unused_or_dummy:
                        +    if (freeslot == NULL)                                  // 检查freeslot是否为空如果为空则跳转到found_unused处执行即找到了dummy位置
                        +        goto found_unused;
                        +    so->used++;                                                   // 使用数加1
                        +    freeslot->key = key;                                   // 设置key与hash值
                        +    freeslot->hash = hash;
                        +    return 0;
                        +
                        +  found_unused:
                        +    so->fill++;                                        // 使用总数加1
                        +    so->used++;                                        // 使用总数加1 
                        +    entry->key = key;                                     // 设置key与hash值
                        +    entry->hash = hash;
                        +    if ((size_t)so->fill*5 < mask*3)                           // 检查已经使用的值是否是总数的3/5
                        +        return 0;
                        +    return set_table_resize(so, so->used>50000 ? so->used*2 : so->used*4);    // 如果已使用的总数大于3/5则重新调整table,如果set使用的总数超过了50000则扩展为以前的2倍否则就是四倍
                        +
                        +  found_active:
                        +    Py_DECREF(key);                                      // 如果找到了该值 则什么也不做
                        +    return 0;
                        +
                        +  comparison_error:
                        +    Py_DECREF(key);                                      // 如果比较失败则返回-1
                        +    return -1;
                        +}
                        +
                        +

                        此时基本的流程就是通过传入的 hash 值,如果计算出的索引值,没有值,则直接将该值存入对应的 entry 中,如果相同则不插入,如果索引对应的值且值不同,则遍历从该索引往后9个位置的值,依次找到有空余位置的值,并将该值设置进去。如果设置该值之后使用的数量占总的申请数量超过了 3/5 则重新扩充 set,扩充的原则就是如果当前的 set->used>50000 就进行两倍扩充否则就进行四倍扩充。

                        +

                        插入的概述如下,默认 s 初始化为空;

                        +
                        s.add(1)   // index = 1 & 7 = 1
                        +
                        +

                        插入1

                        +
                        s.add(2) // index = 2 & 7 = 2
                        +
                        +

                        插入2

                        +
                        s.add(7)  // index = 9 & 7 = 1
                        +
                        +

                        插入9

                        +

                        大致的 set 的插入过程执行完毕。

                        +

                        set 的删除

                        +

                        set 的删除操作主要集中在 set_remove()函数上,如下示例;

                        +

                        源文件:Objects/setobject.c

                        +
                        
                        +static PyObject *
                        +set_remove(PySetObject *so, PyObject *key)
                        +{
                        +    PyObject *tmpkey;
                        +    int rv;
                        +
                        +    rv = set_discard_key(so, key);                              // 将该key设置为dummy
                        +    if (rv < 0) {
                        +        if (!PySet_Check(key) || !PyErr_ExceptionMatches(PyExc_TypeError))  // 检查是否为set类型
                        +            return NULL;
                        +        PyErr_Clear();
                        +        tmpkey = make_new_set(&PyFrozenSet_Type, key);             // 对该值重新初始化为forzenset
                        +        if (tmpkey == NULL)
                        +            return NULL;
                        +        rv = set_discard_key(so, tmpkey);                     // 设置该key为空
                        +        Py_DECREF(tmpkey);
                        +        if (rv < 0)
                        +            return NULL;
                        +    }
                        +
                        +    if (rv == DISCARD_NOTFOUND) {                               // 如果没有找到则报错
                        +        _PyErr_SetKeyError(key);
                        +        return NULL;
                        +    }
                        +    Py_RETURN_NONE;
                        +}
                        +
                        +

                        此时就会调用 set_discard_key 方法来讲对应的 entry 设置为 dummy;set_discard_key 方法如下;

                        +

                        源文件:Objects/setobject.c

                        +
                        
                        +static int
                        +set_discard_key(PySetObject *so, PyObject *key)
                        +{
                        +    Py_hash_t hash;
                        +
                        +    if (!PyUnicode_CheckExact(key) ||
                        +        (hash = ((PyASCIIObject *) key)->hash) == -1) {
                        +        hash = PyObject_Hash(key);                         // 检查是否可用hash如果可用则调用set_discard_entry方法
                        +        if (hash == -1)
                        +            return -1;
                        +    }
                        +    return set_discard_entry(so, key, hash);
                        +}
                        +
                        +

                        该函数主要就是做了检查 key 是否可用 hash 的检查,此时如果可用 hash 则调用 set_discard_entry 方法;

                        +

                        源文件:Objects/setobject.c

                        +
                        
                        +static int
                        +set_discard_entry(PySetObject *so, PyObject *key, Py_hash_t hash)
                        +{
                        +    setentry *entry;
                        +    PyObject *old_key;
                        +
                        +    entry = set_lookkey(so, key, hash);      // 查找该值 set_lookkey该方法与插入的逻辑类似大家可自行查看
                        +    if (entry == NULL)                 // 如果没有找到则返回-1
                        +        return -1;
                        +    if (entry->key == NULL)
                        +        return DISCARD_NOTFOUND;           // 找到entry而key为空则返回notfound
                        +    old_key = entry->key;                        // 找到正常值则讲该值对应的entry设置为dummy
                        +    entry->key = dummy;
                        +    entry->hash = -1;                             // hash值为-1
                        +    so->used--;                                   // 使用数量减1 但是fill数量未变
                        +    Py_DECREF(old_key);                 // 减少该对象引用
                        +    return DISCARD_FOUND;                // 返回返现
                        +}
                        +
                        +

                        此时就是查找该值,如果找到该值并将该值设置为 dummy,并且将 used 值减1,此处没有减去 fill 的数量,从此处可知,fill 包括所有曾经申请过的数量。

                        +

                        set 的 resize

                        +

                        set 的 resize 主要依靠 set_table_reseize 函数来实现;

                        +

                        源文件:Objects/setobject.c

                        +
                        static int
                        +set_table_resize(PySetObject *so, Py_ssize_t minused)
                        +{
                        +    setentry *oldtable, *newtable, *entry;
                        +    Py_ssize_t oldmask = so->mask;                                            // 设置旧的mask
                        +    size_t newmask;
                        +    int is_oldtable_malloced;
                        +    setentry small_copy[PySet_MINSIZE];                                       // 最小的拷贝数组
                        +
                        +    assert(minused >= 0);
                        +
                        +    /* Find the smallest table size > minused. */
                        +    /* XXX speed-up with intrinsics */
                        +    size_t newsize = PySet_MINSIZE;
                        +    while (newsize <= (size_t)minused) {
                        +        newsize <<= 1; // The largest possible value is PY_SSIZE_T_MAX + 1.  // 查找位于minused最大的PySet_MINSIZE的n次方的值
                        +    }
                        +
                        +    /* Get space for a new table. */
                        +    oldtable = so->table;                            // 先获取旧的table
                        +    assert(oldtable != NULL);
                        +    is_oldtable_malloced = oldtable != so->smalltable;
                        +
                        +    if (newsize == PySet_MINSIZE) {                  // 如果获取的新大小与PySet_MINSIZE的大小相同
                        +        /* A large table is shrinking, or we can't get any smaller. */
                        +        newtable = so->smalltable;                  // 获取新table的地址
                        +        if (newtable == oldtable) {                 // 如果相同
                        +            if (so->fill == so->used) {              // 如果使用的相同则什么都不做
                        +                /* No dummies, so no point doing anything. */
                        +                return 0;
                        +            }
                        +            /* We're not going to resize it, but rebuild the
                        +               table anyway to purge old dummy entries.
                        +               Subtle:  This is *necessary* if fill==size,
                        +               as set_lookkey needs at least one virgin slot to
                        +               terminate failing searches.  If fill < size, it's
                        +               merely desirable, as dummies slow searches. */
                        +            assert(so->fill > so->used);
                        +            memcpy(small_copy, oldtable, sizeof(small_copy)); // 将数据拷贝到set_lookkey中
                        +            oldtable = small_copy;                  
                        +        }
                        +    }
                        +    else {
                        +        newtable = PyMem_NEW(setentry, newsize);                 // 新申请内存
                        +        if (newtable == NULL) {                     // 如果为空则申请内存失败报错
                        +            PyErr_NoMemory();
                        +            return -1;
                        +        }
                        +    }
                        +
                        +    /* Make the set empty, using the new table. */
                        +    assert(newtable != oldtable);                                // 检查新申请的与就table不同
                        +    memset(newtable, 0, sizeof(setentry) * newsize);        // 新申请的内存置空
                        +    so->mask = newsize - 1;                                     // 设置新的size
                        +    so->table = newtable;                                       // 重置table指向新table
                        +
                        +    /* Copy the data over; this is refcount-neutral for active entries;
                        +       dummy entries aren't copied over, of course */
                        +    newmask = (size_t)so->mask;                                  // 获取新的mask
                        +    if (so->fill == so->used) {                                  // 如果使用的与曾经使用的数量相同
                        +        for (entry = oldtable; entry <= oldtable + oldmask; entry++) {
                        +            if (entry->key != NULL) {
                        +                set_insert_clean(newtable, newmask, entry->key, entry->hash);  // 如果值不为空则插入到新的table中
                        +            }
                        +        }
                        +    } else {
                        +        so->fill = so->used;                        // 如果不相同则重置fill为used的值
                        +        for (entry = oldtable; entry <= oldtable + oldmask; entry++) {
                        +            if (entry->key != NULL && entry->key != dummy) {     // 检查如果不为dummy并且key不为空的情况下
                        +                set_insert_clean(newtable, newmask, entry->key, entry->hash);  // 重新插入该列表该值
                        +            }
                        +        }
                        +    }
                        +
                        +    if (is_oldtable_malloced)                       // 如果两个表相同则删除旧table
                        +        PyMem_DEL(oldtable);
                        +    return 0;                                                      // 返回0
                        +}
                        +
                        +

                        主要是检查是否 table 相同并且需要重新 resize 的值,然后判断是否 fill 与 used 相同,如果相同则全部插入,如果不同,则遍历旧 table 讲不为空并且不为 dummy 的值插入到新表中;

                        +

                        源文件:Objects/setobject.c

                        +
                        static void
                        +set_insert_clean(setentry *table, size_t mask, PyObject *key, Py_hash_t hash)
                        +{
                        +    setentry *entry;
                        +    size_t perturb = hash;
                        +    size_t i = (size_t)hash & mask;                // 计算索引
                        +    size_t j;
                        +
                        +    while (1) {
                        +        entry = &table[i];                              // 获取当前entry
                        +        if (entry->key == NULL)                         // 如果为空则跳转值found_null设置key与hash
                        +            goto found_null;
                        +        if (i + LINEAR_PROBES <= mask) {                // 如果没有找到空值则通过该索引偏移9位去查找空余位置
                        +            for (j = 0; j < LINEAR_PROBES; j++) {
                        +                entry++;
                        +                if (entry->key == NULL)                 // 如果为空则跳转到found_null
                        +                    goto found_null;
                        +            }
                        +        }
                        +        perturb >>= PERTURB_SHIFT;                      // 计算下一个索引值继续寻找
                        +        i = (i * 5 + 1 + perturb) & mask;
                        +    }
                        +  found_null:
                        +    entry->key = key;
                        +    entry->hash = hash;
                        +}
                        +
                        +

                        set 的 resize 的操作基本如上所述。

                        +
                        Copyright © FlagGo 2019 all right reserved,powered by Gitbook该文件修订时间: +2020-03-23 19:36:27 +
                        + +
                        + +
                        +
                        +
                        + +

                        results matching ""

                        +
                          + +
                          +
                          + +

                          No results matching ""

                          + +
                          +
                          +
                          + +
                          +
                          + +
                          + + + + + + + + + + + + + + +
                          + + +