Copy disabled (too large)
Download .txt
Showing preview only (19,222K chars total). Download the full file to get everything.
Repository: apachecn/apachecn-c-cpp-zh
Branch: master
Commit: ef2fc7d4e461
Files: 587
Total size: 11.2 MB
Directory structure:
gitextract_a4dv877j/
├── .gitignore
├── .nojekyll
├── 404.html
├── CNAME
├── Dockerfile
├── LICENSE
├── NAV.md
├── README.md
├── SUMMARY.md
├── asset/
│ ├── back-to-top.css
│ ├── back-to-top.js
│ ├── dark-mode.css
│ ├── dark-mode.js
│ ├── docsify-apachecn-footer.js
│ ├── docsify-baidu-push.js
│ ├── docsify-baidu-stat.js
│ ├── docsify-clicker.js
│ ├── docsify-cnzz.js
│ ├── docsify-katex.js
│ ├── docsify-quick-page.css
│ ├── docsify-quick-page.js
│ ├── edit.css
│ ├── edit.js
│ ├── prism-darcula.css
│ ├── share.css
│ ├── share.js
│ ├── style.css
│ └── vue.css
├── docs/
│ ├── .gitkeep
│ ├── adv-cpp/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── adv-cpp-prog-cb/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── app-dev-qt-creator/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── README.md
│ │ ├── SUMMARY.md
│ │ ├── sec1.md
│ │ ├── sec2.md
│ │ └── sec3.md
│ ├── begin-cpp-game-prog/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── 16.md
│ │ ├── 17.md
│ │ ├── 18.md
│ │ ├── 19.md
│ │ ├── 20.md
│ │ ├── 21.md
│ │ ├── 22.md
│ │ ├── 23.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── begin-cpp-prog/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── boost-asio-cpp-net-prog-2e/
│ │ ├── 0.md
│ │ ├── 1.md
│ │ ├── 2.md
│ │ ├── 3.md
│ │ ├── 4.md
│ │ ├── 5.md
│ │ ├── 6.md
│ │ ├── 7.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── boost-cpp-app-dev-cb/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── cpp-dsal-design-principle/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── cpp-gui-prog-qt5/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── 16.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── cpp-hiperf/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── cpp-react-prog/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── cpp-sys-prog-cb/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── cpp-workshop/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── emb-prog-mod-cpp-cb/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── exp-cpp/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── 16.md
│ │ ├── 17.md
│ │ ├── README.md
│ │ ├── SUMMARY.md
│ │ ├── sec1.md
│ │ ├── sec2.md
│ │ └── sec3.md
│ ├── exp-cpp-prog/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── game-dev-proj-ue/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── 16.md
│ │ ├── 17.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── handson-cpp-game-ani-prog/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── handson-func-prog-cpp/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── 16.md
│ │ ├── 17.md
│ │ ├── README.md
│ │ ├── SUMMARY.md
│ │ ├── sec1.md
│ │ ├── sec2.md
│ │ ├── sec3.md
│ │ └── sec4.md
│ ├── handson-game-dev-wasm/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── 16.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── lcthw-zh/
│ │ ├── README.md
│ │ ├── SUMMARY.md
│ │ ├── donors.md
│ │ ├── ex0.md
│ │ ├── ex1.md
│ │ ├── ex10.md
│ │ ├── ex11.md
│ │ ├── ex12.md
│ │ ├── ex13.md
│ │ ├── ex14.md
│ │ ├── ex15.md
│ │ ├── ex16.md
│ │ ├── ex17.md
│ │ ├── ex18.md
│ │ ├── ex19.md
│ │ ├── ex2.md
│ │ ├── ex20.md
│ │ ├── ex21.md
│ │ ├── ex22.md
│ │ ├── ex23.md
│ │ ├── ex24.md
│ │ ├── ex25.md
│ │ ├── ex26.md
│ │ ├── ex27.md
│ │ ├── ex28.md
│ │ ├── ex29.md
│ │ ├── ex3.md
│ │ ├── ex30.md
│ │ ├── ex31.md
│ │ ├── ex32.md
│ │ ├── ex33.md
│ │ ├── ex34.md
│ │ ├── ex35.md
│ │ ├── ex36.md
│ │ ├── ex37.md
│ │ ├── ex38.md
│ │ ├── ex39.md
│ │ ├── ex4.md
│ │ ├── ex40.md
│ │ ├── ex41.md
│ │ ├── ex42.md
│ │ ├── ex43.md
│ │ ├── ex44.md
│ │ ├── ex45.md
│ │ ├── ex46.md
│ │ ├── ex47.md
│ │ ├── ex5.md
│ │ ├── ex6.md
│ │ ├── ex7.md
│ │ ├── ex8.md
│ │ ├── ex9.md
│ │ ├── introduction.md
│ │ ├── postscript.md
│ │ └── preface.md
│ ├── learn-cpp-build-game-ue4/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── learn-cpp-func-prog/
│ │ ├── 0.md
│ │ ├── 1.md
│ │ ├── 2.md
│ │ ├── 3.md
│ │ ├── 4.md
│ │ ├── 5.md
│ │ ├── 6.md
│ │ ├── 7.md
│ │ ├── 8.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── learn-cuda-prog/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── learn-qt5/
│ │ ├── 0.md
│ │ ├── 1.md
│ │ ├── 2.md
│ │ ├── 3.md
│ │ ├── 4.md
│ │ ├── 5.md
│ │ ├── 6.md
│ │ ├── 7.md
│ │ ├── 8.md
│ │ ├── 9.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── learn-wasm/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── master-cpp-game-dev/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── master-cpp-multithrd/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── master-cpp-prog/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── mod-cpp/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── 14.md
│ │ ├── 15.md
│ │ ├── 16.md
│ │ ├── 17.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ ├── mod-cpp-challenge/
│ │ ├── 00.md
│ │ ├── 01.md
│ │ ├── 02.md
│ │ ├── 03.md
│ │ ├── 04.md
│ │ ├── 05.md
│ │ ├── 06.md
│ │ ├── 07.md
│ │ ├── 08.md
│ │ ├── 09.md
│ │ ├── 10.md
│ │ ├── 11.md
│ │ ├── 12.md
│ │ ├── 13.md
│ │ ├── README.md
│ │ └── SUMMARY.md
│ └── qt5-cpp-gui-prog-cb/
│ ├── 00.md
│ ├── 01.md
│ ├── 02.md
│ ├── 03.md
│ ├── 04.md
│ ├── 05.md
│ ├── 06.md
│ ├── 07.md
│ ├── 08.md
│ ├── 09.md
│ ├── 10.md
│ ├── 11.md
│ ├── 12.md
│ ├── 13.md
│ ├── README.md
│ └── SUMMARY.md
├── index.html
└── update.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# dotenv
.env
# virtualenv
.venv
venv/
ENV/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.DS_Store
# gitbook
_book
# node.js
node_modules
# windows
Thumbs.db
# word
~$*.docx
~$*.doc
================================================
FILE: .nojekyll
================================================
================================================
FILE: 404.html
================================================
---
permalink: /404.html
---
<script>window.location.href = '/';</script>
================================================
FILE: CNAME
================================================
ccpp.apachecn.org
================================================
FILE: Dockerfile
================================================
FROM httpd:2.4
COPY ./ /usr/local/apache2/htdocs/
================================================
FILE: LICENSE
================================================
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License (CC BY-NC-SA 4.0)
Copyright © 2020 ApacheCN(apachecn@163.com)
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Section 1 – Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
c. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike.
h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
k. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
l. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
m. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
n. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 – Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
3. Term. The term of this Public License is specified in Section 6(a).
4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
5. Downstream recipients.
A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this Public License.
3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
Section 3 – License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Material:
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
Section 4 – Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
Section 5 – Disclaimer of Warranties and Limitation of Liability.
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 – Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 – Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 – Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
================================================
FILE: NAV.md
================================================
+ 编程
+ [JavaTPoint 编程语言中文教程📚](https://apachecn.github.io/javatpoint-prog-zh)
+ [JavaTPoint .NET 中文教程📚](https://apachecn.github.io/javatpoint-dotnet-zh)
+ [JavaTPoint Java 中文教程📚](https://apachecn.github.io/javatpoint-java-zh)
+ [JavaTPoint Python 中文教程📚](https://apachecn.github.io/javatpoint-python-zh)
+ [GeeksForGeeks 编程语言杂项中文教程📚](https://apachecn.github.io/geeksforgeeks-lang-misc-zh)
+ [GeeksForGeeks C# 中文教程📚](https://apachecn.github.io/geeksforgeeks-csharp-zh)
+ [GeeksForGeeks Scala 中文教程📚](https://apachecn.github.io/geeksforgeeks-scala-zh)
+ [GeeksForGeeks Python 中文教程📚](https://apachecn.github.io/geeksforgeeks-python-zh)
+ [GeeksForGeeks C/C++ 中文教程📚](https://apachecn.github.io/geeksforgeeks-c-cpp-zh)
+ [GeeksForGeeks Java 中文教程📚](https://apachecn.github.io/geeksforgeeks-java-zh)
+ [GeeksForGeeks JavaScript 中文教程📚](https://apachecn.github.io/geeksforgeeks-js-zh)
+ [ApacheCN C# 译文集📚](https://apachecn.github.io/apachecn-csharp-zh)
+ [ApacheCN C# 译文集(二)📚](https://apachecn.github.io/apachecn-csharp-zh-pt2)
+ [ApacheCN C# 译文集(三)📚](https://apachecn.github.io/apachecn-csharp-zh-pt3)
+ [ApacheCN C# 译文集(四)📚](https://apachecn.github.io/apachecn-csharp-zh-pt4)
+ [ApacheCN Golang 译文集📚](https://apachecn.github.io/apachecn-golang-zh)
+ [ApacheCN Golang 译文集(二)📚](https://apachecn.github.io/apachecn-golang-zh-pt2)
+ [ApacheCN C/C++ 译文集📚](https://apachecn.github.io/apachecn-c-cpp-zh)
+ [ApacheCN C/C++ 译文集(二)📚](https://apachecn.github.io/apachecn-c-cpp-zh-pt2)
+ [ApacheCN C/C++ 译文集(三)📚](https://apachecn.github.io/apachecn-c-cpp-zh-pt3)
+ [ApacheCN Java 译文集📚](https://apachecn.github.io/apachecn-java-zh)
+ [ApacheCN Java 译文集(二)📚](https://apachecn.github.io/apachecn-java-zh-pt2)
+ [ApacheCN Java 译文集(三)📚](https://apachecn.github.io/apachecn-java-zh-pt3)
+ [ApacheCN JavaScript 译文集📚](https://apachecn.github.io/apachecn-js-zh)
+ [ApacheCN JavaScript 译文集(二)📚](https://apachecn.github.io/apachecn-js-zh-pt2)
+ [ApacheCN JavaScript 译文集(三)📚](https://apachecn.github.io/apachecn-js-zh-pt3)
+ [ApacheCN JavaScript 译文集(四)📚](https://apachecn.github.io/apachecn-js-zh-pt4)
+ [ApacheCN Python 译文集📚](https://apachecn.github.io/apachecn-python-zh)
+ [ApacheCN Python 译文集(二)📚](https://apachecn.github.io/apachecn-python-zh-pt2)
+ [ApacheCN Python 译文集(三)📚](https://apachecn.github.io/apachecn-python-zh-pt3)
+ [ApacheCN Python 译文集(四)📚](https://apachecn.github.io/apachecn-python-zh-pt4)
+ [ApacheCN Ruby 译文集📚](https://apachecn.github.io/apachecn-ruby-zh)
+ [BeginnersBook 中文系列教程📚](https://apachecn.github.io/beginnersbook-zh)
+ [JavaScript 编程精解 中文第三版](https://apachecn.github.io/eloquent-js-3e-zh)
+ [Guru99 中文系列教程📚🚧](https://apachecn.github.io/guru99-zh)
+ [HowToDoInJava 中文系列教程📚](https://apachecn.github.io/howtodoinjava-zh)
+ [OverIQ 中文系列教程📚](https://apachecn.github.io/overiq-zh)
+ [LearnETutroials 中文系列教程📚](https://apachecn.github.io/learnetutorials-zh)
+ [StudyTonight 中文系列教程📚](https://apachecn.github.io/studytonight-zh)
+ [TutorialGateway 中文系列教程📚](https://apachecn.github.io/tutorialgateway-zh)
+ [TutorialGateway BI 中文系列教程📚](https://apachecn.github.io/tutorialgateway-bi-zh)
+ [TutorialsTeacher 中文系列教程📚](https://apachecn.github.io/tutorialsteacher-zh)
+ [通过示例学 Golang 2020 中文版](https://apachecn.github.io/golang-by-example-2020-zh)
+ [写给不耐烦程序员的 JavaScript🚧](https://apachecn.github.io/impatient-js-zh)
+ [JavaBeginnersTutorial 中文系列教程📚](https://apachecn.github.io/jbt-zh)
+ [JavaTutorialNetwork 中文系列教程📚](https://apachecn.github.io/jtn-zh)
+ [笨办法学C 中文版](https://apachecn.github.io/lcthw-zh)
+ [笨办法学 Python · 续 中文版](https://apachecn.github.io/lmpythw-zh)
+ [Programiz 中文系列教程📚](https://apachecn.github.io/programiz-zh)
+ [PythonBasics 中文系列教程📚](https://apachecn.github.io/pythonbasics-zh)
+ [PythonGuru 中文系列教程📚](https://apachecn.github.io/pythonguru-zh)
+ [PythonSpot 中文系列教程📚](https://apachecn.github.io/pythonspot-zh)
+ [Think Python](https://apachecn.github.io/think-py-2e-zh)
+ [ZetCode 中文系列教程📚](https://apachecn.github.io/zetcode-zh)
+ 前端
+ [JavaTPoint 移动开发中文教程📚](https://apachecn.github.io/javatpoint-mobi-zh)
+ [GeeksForGeeks Web 杂项中文教程📚](https://apachecn.github.io/geeksforgeeks-web-misc-zh)
+ [GeeksForGeeks Angular/Vue/React 中文教程📚](https://apachecn.github.io/geeksforgeeks-ng-vue-react-zh)
+ [GeeksForGeeks jQuery 中文教程📚](https://apachecn.github.io/geeksforgeeks-jquery-zh)
+ [GeeksForGeeks CSS 中文教程📚](https://apachecn.github.io/geeksforgeeks-css-zh)
+ [GeeksForGeeks HTML 中文教程📚](https://apachecn.github.io/geeksforgeeks-html-zh)
+ [ApacheCN Vue 译文集📚](https://apachecn.github.io/apachecn-vue-zh)
+ [ApacheCN Angular 译文集📚](https://apachecn.github.io/apachecn-angular-zh)
+ [ApacheCN React 译文集📚](https://apachecn.github.io/apachecn-react-zh)
+ [ApacheCN jQuery 译文集📚](https://apachecn.github.io/apachecn-jquery-zh)
+ [ApacheCN jQuery 译文集(二)📚](https://apachecn.github.io/apachecn-jquery-zh-pt2)
+ 后端/大数据
+ [JavaTPoint 大数据中文教程📚](https://apachecn.github.io/javatpoint-bigdata-zh)
+ [JavaTPoint Web 开发中文教程📚](https://apachecn.github.io/javatpoint-web-zh)
+ [JavaTPoint 数据库中文教程📚](https://apachecn.github.io/javatpoint-db-zh)
+ [JavaTPoint PHP 中文教程📚](https://apachecn.github.io/javatpoint-php-zh)
+ [GeeksForGeeks ASP 中文教程📚](https://apachecn.github.io/geeksforgeeks-asp-zh)
+ [GeeksForGeeks SQL 中文教程📚](https://apachecn.github.io/geeksforgeeks-sql-zh)
+ [GeeksForGeeks NodeJS 中文教程📚](https://apachecn.github.io/geeksforgeeks-nodejs-zh)
+ [GeeksForGeeks PHP 中文教程📚](https://apachecn.github.io/geeksforgeeks-php-zh)
+ [ApacheCN 数据库译文集📚](https://apachecn.github.io/apachecn-db-zh)
+ [ApacheCN 数据库译文集(二)📚](https://apachecn.github.io/apachecn-db-zh-pt2)
+ [ApacheCN Python Web 译文集📚](https://apachecn.github.io/apachecn-pythonweb-zh)
+ [ApacheCN Python Web 译文集(二)📚](https://apachecn.github.io/apachecn-pythonweb-zh-pt2)
+ [ApacheCN Asp.NET 译文集📚](https://apachecn.github.io/apachecn-asp-dotnet-zh)
+ [ApacheCN Asp.NET 译文集(二)📚](https://apachecn.github.io/apachecn-asp-dotnet-zh-pt2)
+ [ApacheCN Asp.NET 译文集(三)📚](https://apachecn.github.io/apachecn-asp-dotnet-zh-pt3)
+ [ApacheCN Asp.NET 译文集(四)📚](https://apachecn.github.io/apachecn-asp-dotnet-zh-pt4)
+ [ApacheCN NodeJS 译文集📚](https://apachecn.github.io/apachecn-node-zh)
+ [ApacheCN NodeJS 译文集(二)📚](https://apachecn.github.io/apachecn-node-zh-pt2)
+ [ApacheCN PHP 译文集📚](https://apachecn.github.io/apachecn-php-zh)
+ [ApacheCN PHP 译文集(二)📚](https://apachecn.github.io/apachecn-php-zh-pt2)
+ [ApacheCN 大数据译文集(二)📚](https://apachecn.github.io/apachecn-bigdata-zh-pt2)
+ [ApacheCN 大数据译文集(三)📚](https://apachecn.github.io/apachecn-bigdata-zh-pt3)
+ [ApacheCN 大数据译文集📚](https://apachecn.github.io/apachecn-bigdata-zh)
+ [ApacheCN Java Web 译文集📚](https://apachecn.github.io/apachecn-javaweb-zh)
+ [ApacheCN Java Web 译文集(二)📚](https://apachecn.github.io/apachecn-javaweb-zh-pt2)
+ [Airflow 中文文档](https://apachecn.github.io/airflow-doc-zh)
+ [Elasticsearch 5.4 中文文档](https://apachecn.github.io/elasticsearch-doc-zh)
+ [Flink 中文文档](https://apachecn.github.io/flink-doc-zh)
+ [HBase™ 中文参考指南 3.0🚧](https://apachecn.github.io/hbase-doc-zh)
+ [HighScalability 中文示例📚🚧](https://apachecn.github.io/highscalability-examples-zh)
+ [Kibana 5.2 中文文档](https://apachecn.github.io/kibana-doc-zh)
+ [Kudu 1.4.0 中文文档](https://apachecn.github.io/kudu-doc-zh)
+ [Apache Spark 官方文档中文版](https://apachecn.github.io/spark-doc-zh)
+ [Apache Kafka 官方文档中文版](https://apachecn.github.io/kafka-site-zh)
+ [Spring Boot 1.5.2 中文文档](https://apachecn.github.io/spring-boot-doc-zh)
+ [Storm 1.1.0 中文文档](https://apachecn.github.io/storm-doc-zh)
+ [Zeppelin 0.7.2 中文文档](https://apachecn.github.io/zeppelin-doc-zh)
+ 工具
+ [JavaTPoint 实用工具中文教程📚](https://apachecn.github.io/javatpoint-util-zh)
+ [ApacheCN DevOps 译文集📚](https://apachecn.github.io/apachecn-devops-zh)
+ [ApacheCN DevOps 译文集(二)📚](https://apachecn.github.io/apachecn-devops-zh-pt2)
+ [ApacheCN DevOps 译文集(三)📚](https://apachecn.github.io/apachecn-devops-zh-pt3)
+ [ApacheCN DevOps 译文集(四)📚](https://apachecn.github.io/apachecn-devops-zh-pt4)
+ [ApacheCN DevOps 译文集(五)📚](https://apachecn.github.io/apachecn-devops-zh-pt5)
+ [ApacheCN Linux 译文集📚](https://apachecn.github.io/apachecn-linux-zh)
+ [ApacheCN Linux 译文集(二)📚](https://apachecn.github.io/apachecn-linux-zh-pt2)
+ [ApacheCN Linux 译文集(三)📚](https://apachecn.github.io/apachecn-linux-zh-pt3)
+ [Cython 3.0 中文文档🚧](https://apachecn.github.io/cython-doc-zh)
+ [Git 中文参考🚧](https://apachecn.github.io/git-doc-zh)
+ [Gitlab 中文文档🚧](https://apachecn.github.io/gitlab-doc-zh)
+ [笨办法学 Linux 中文版](https://apachecn.github.io/llthw-zh)
+ [Numba 0.44 中文文档🚧](https://apachecn.github.io/numba-doc-zh)
+ [PyQt4 中文文档🚧](https://apachecn.github.io/pyqt4-doc-zh)
+ [Scrapy 1.6 中文文档](https://apachecn.github.io/scrapy-doc-zh)
+ 数据科学
+ [ApacheCN 数据科学译文集📚](https://apachecn.github.io/apachecn-ds-zh)
+ [ApacheCN 数据科学译文集(二)📚](https://apachecn.github.io/apachecn-ds-zh-pt2)
+ [ApacheCN 数据科学译文集(三)📚](https://apachecn.github.io/apachecn-ds-zh-pt3)
+ [ApacheCN 数据科学译文集📚](https://apachecn.github.io/apachecn-ds-zh)
+ [MIT 18.03 面向初学者的微积分🚧](https://apachecn.github.io/calc4b-zh)
+ [UCB Data8 计算与推断思维](https://apachecn.github.io/data8-textbook-zh)
+ [数据可视化的基础知识](https://apachecn.github.io/dataviz-zh)
+ [数据科学和人工智能技术笔记](https://apachecn.github.io/ds-ai-tech-notes)
+ [数据科学 IPython 笔记本📚](https://apachecn.github.io/ds-ipynb-zh)
+ [UCB DS100 数据科学的原理与技巧🚧](https://apachecn.github.io/ds100-textbook-zh)
+ [ApacheCN 数据科学和人工智能知识库](https://apachecn.github.io/dsai-wiki)
+ [Matplotlib 用户指南](https://apachecn.github.io/matplotlib-doc-zh)
+ [MIT 18.06 线性代数笔记](https://apachecn.github.io/mit-18.06-linalg-notes)
+ [利用 Python 进行数据分析 · 第 2 版](https://apachecn.github.io/pyda-2e-zh)
+ [QuantLearning](https://apachecn.github.io/quant-learning)
+ [seaborn 0.9 中文文档](https://apachecn.github.io/seaborn-doc-zh)
+ [社交媒体挖掘 - 翻译版](https://apachecn.github.io/socialmediamining-zh)
+ [斯坦福 Stats60 21 世纪的统计思维🚧](https://apachecn.github.io/stats-thinking-21-zh)
+ [复杂性思维 中文第二版](https://apachecn.github.io/think-comp-2e-zh)
+ [PyMiner 开发者指南](https://apachecn.github.io/pyminer-dev-guide)
+ 人工智能
+ [JavaTPoint 数据科学与人工智能中文教程📚](https://apachecn.github.io/javatpoint-dsai-zh)
+ [GeeksForGeeks 人工智能中文教程📚](https://apachecn.github.io/geeksforgeeks-ai-zh)
+ [AILearning📚](https://apachecn.github.io/ailearning)
+ [ApacheCN 计算机视觉译文集📚](https://apachecn.github.io/apachecn-cv-zh)
+ [ApacheCN 计算机视觉译文集(二)📚](https://apachecn.github.io/apachecn-cv-zh-pt2)
+ [ApacheCN 深度学习译文集📚](https://apachecn.github.io/apachecn-dl-zh)
+ [ApacheCN 深度学习译文集(二)📚](https://apachecn.github.io/apachecn-dl-zh-pt2)
+ [ApacheCN 深度学习译文集(三)📚](https://apachecn.github.io/apachecn-dl-zh-pt3)
+ [ApacheCN 机器学习译文集📚](https://apachecn.github.io/apachecn-ml-zh)
+ [ApacheCN 机器学习译文集(二)📚](https://apachecn.github.io/apachecn-ml-zh-pt2)
+ [ApacheCN 机器学习译文集(三)📚](https://apachecn.github.io/apachecn-ml-zh-pt3)
+ [FastText 中文文档](https://apachecn.github.io/fasttext-doc-zh)
+ [面向机器学习的特征工程](https://apachecn.github.io/fe4ml-zh)
+ [Gensim 中文文档](https://apachecn.github.io/gensim-doc-zh)
+ [Sklearn 与 TensorFlow 机器学习实用指南第二版](https://apachecn.github.io/hands-on-ml-2e-zh)
+ [LightGBM 中文文档](https://apachecn.github.io/lightgbm-doc-zh)
+ [Machine Learning Mastery 博客文章翻译📚🚧](https://apachecn.github.io/ml-mastery-zh)
+ [Machine Learning Mastery 博客文章翻译(二)📚🚧](https://apachecn.github.io/ml-mastery-zh-pt2)
+ [Python 自然语言处理 第二版](https://apachecn.github.io/nlp-py-2e-zh)
+ [PyTorch 自然语言处理](https://apachecn.github.io/nlp-pytorch-zh)
+ [台湾大学林轩田机器学习笔记](https://apachecn.github.io/ntu-hsuantienlin-ml)
+ [OpenCV 中文文档 4.0.0](https://apachecn.github.io/opencv-doc-zh)
+ [PythonProgramming.net 系列教程📚](https://apachecn.github.io/python-programming-net-zh)
+ [PyTorch 中文教程](https://apachecn.github.io/pytorch-doc-zh)
+ [scikit-learn (sklearn) 官方文档中文版](https://apachecn.github.io/sklearn-doc-zh)
+ [XGBoost 中文文档](https://apachecn.github.io/xgboost-doc-zh)
+ 计算机科学
+ [JavaTPoint 计算机科学中文教程📚](https://apachecn.github.io/javatpoint-cs-zh)
+ [ApacheCN 数据结构与算法译文集📚](https://apachecn.github.io/apachecn-algo-zh)
+ [ApacheCN 计算机系统译文集📚](https://apachecn.github.io/apachecn-sys-zh)
+ [NUS CS1101s SICP JavaScript 描述🚧](https://apachecn.github.io/sicp-js-zh)
+ [UCB CS61a SICP Python 描述](https://apachecn.github.io/sicp-py-zh)
+ [数据结构思维中文版](https://apachecn.github.io/think-dast-zh)
+ [UIUC CS241 系统编程中文讲义🚧](https://apachecn.github.io/uiuc-cs241-notes-zh)
+ 安全
+ [ApacheCN Kali Linux 译文集📚](https://apachecn.github.io/apachecn-kali-zh)
+ [ApacheCN 网络安全译文集📚](https://apachecn.github.io/apachecn-sec-zh)
+ [ApacheCN 网络安全译文集(二)📚](https://apachecn.github.io/apachecn-sec-zh-pt2)
+ [SecLearning——零组文库备份📚](https://apachecn.github.io/sec-learning)
+ [ApacheCN 安全知识库📚](https://apachecn.github.io/sec-wiki)
+ [Web Hacking 101 中文版](https://apachecn.github.io/web-hacking-101-zh)
+ 其它
+ [生化环材劝退文集](https://apachecn.github.io/bio-chem-env-mat-discourage)
+ [5 分钟商学院精细笔记](https://apachecn.github.io/business-5min-notes)
+ [iBooker 布客](https://apachecn.github.io/home)
+ [iBooker 布客老实人报](https://apachecn.github.io/ibooker-plain-dealer)
+ [使用 Qiskit 学习量子计算 - 翻译版](https://apachecn.github.io/lqcuq-zh)
+ [原则 · 中文版](https://apachecn.github.io/principles-zh)
+ [斯坦福 CS183 & YC 创业课系列中文笔记📚](https://apachecn.github.io/stanford-cs183-notes)
+ [iBooker 团队知识库📚](https://apachecn.github.io/team-wiki)
+ [ApacheCN 技术评论](https://apachecn.github.io/tech-review)
+ [通往财富自由之路精细笔记](https://apachecn.github.io/the-way-to-wealth-freedom-notes)
================================================
FILE: README.md
================================================
# ApacheCN C/C++ 译文集
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
>
> 让开源界提前感受入关。
* [在线阅读](https://ccpp.apachecn.org)
* [在线阅读(Gitee)](https://apachecn.gitee.io/apachecn-c-cpp-zh/)
* [ApacheCN 学习资源](http://docs.apachecn.org/)
## 目录
+ [笨办法学C 中文版](docs/lcthw-zh/SUMMARY.md)
+ [C++ 高级编程](docs/adv-cpp/SUMMARY.md)
+ [C++ 高级编程秘籍](docs/adv-cpp-prog-cb/SUMMARY.md)
+ [C++ Qt5 GUI 编程](docs/cpp-gui-prog-qt5/SUMMARY.md)
+ [C++ 专家级编程](docs/exp-cpp/SUMMARY.md)
+ [C++ 游戏动画编程实用指南](docs/handson-cpp-game-ani-prog/SUMMARY.md)
+ [C++ 函数式编程实用指南](docs/handson-func-prog-cpp/SUMMARY.md)
+ [C++ 机器学习实用指南](docs/handson-ml-cpp/SUMMARY.md)
+ [通过使用 UE4 构建游戏学习 C++](docs/learn-cpp-build-game-ue4/SUMMARY.md)
+ [精通 C++ 游戏开发](docs/master-cpp-game-dev/SUMMARY.md)
+ [精通 C++ 编程](docs/master-cpp-prog/SUMMARY.md)
+ [Qt5 C++ GUI 编程秘籍](docs/qt5-cpp-gui-prog-cb/SUMMARY.md)
+ [Qt Creator 应用开发](docs/app-dev-qt-creator/SUMMARY.md)
+ [C++ 编程入门手册](docs/begin-cpp-prog/SUMMARY.md)
+ [现代 C++ 嵌入式编程秘籍](docs/emb-prog-mod-cpp-cb/SUMMARY.md)
+ [C++ 专家级编程](docs/exp-cpp-prog/SUMMARY.md)
+ [UE 游戏开发项目](docs/game-dev-proj-ue/SUMMARY.md)
+ [CUDA 编程学习手册](docs/learn-cuda-prog/SUMMARY.md)
+ [WebAssembly 学习手册](docs/learn-wasm/SUMMARY.md)
+ [精通 C++ 多线程](docs/master-cpp-multithrd/SUMMARY.md)
+ [现代 C++ 编程](docs/mod-cpp/SUMMARY.md)
+ [现代 C++ 的挑战](docs/mod-cpp-challenge/SUMMARY.md)
+ [C++ 游戏编程入门手册](docs/begin-cpp-game-prog/SUMMARY.md)
+ [Boost.Asio C++ 网络编程入门中文第二版](docs/boost-asio-cpp-net-prog-2e/SUMMARY.md)
+ [Boost C++ 应用开发秘籍](docs/boost-cpp-app-dev-cb/SUMMARY.md)
+ [C++ 数据结构和算法设计原则](docs/cpp-dsal-design-principle/SUMMARY.md)
+ [C++ 高性能编程](docs/cpp-hiperf/SUMMARY.md)
+ [C++ 反应式编程](docs/cpp-react-prog/SUMMARY.md)
+ [C++ 系统编程秘籍](docs/cpp-sys-prog-cb/SUMMARY.md)
+ [C++ 工作室](docs/cpp-workshop/SUMMARY.md)
+ [WebAssembly 游戏编程实用指南](docs/handson-game-dev-wasm/SUMMARY.md)
+ [C++ 函数式编程学习手册](docs/learn-cpp-func-prog/SUMMARY.md)
+ [Qt5 学习手册](docs/learn-qt5/SUMMARY.md)
## 贡献指南
为了不断改进翻译质量,我们特此启动了【翻译、校对、笔记整理活动】,开设了多个校对项目。贡献者校对一章之后可以领取千字2\~4元的奖励。进行中的校对活动请见[活动列表](https://home.apachecn.org/#/docs/activity/docs-activity)。更多详情请联系飞龙(Q562826179,V:wizardforcel)。
## 联系方式
### 负责人
* [飞龙](https://github.com/wizardforcel): 562826179
### 其他
* 在我们的 [apachecn/apachecn-c-cpp-zh](https://github.com/apachecn/apachecn-c-cpp-zh) github 上提 issue.
* 发邮件到 Email: `apachecn@163.com`.
* 在我们的 [组织学习交流群](http://www.apachecn.org/organization/348.html) 中联系群主/管理员即可.
## 下载
### Docker
```
docker pull apachecn0/apachecn-c-cpp-zh
docker run -tid -p <port>:80 apachecn0/apachecn-c-cpp-zh
# 访问 http://localhost:{port} 查看文档
```
### PYPI
```
pip install apachecn-c-cpp-zh
apachecn-c-cpp-zh <port>
# 访问 http://localhost:{port} 查看文档
```
### NPM
```
npm install -g apachecn-c-cpp-zh
apachecn-c-cpp-zh <port>
# 访问 http://localhost:{port} 查看文档
```
## 赞助我们

================================================
FILE: SUMMARY.md
================================================
+ [笨办法学C 中文版](docs/lcthw-zh/README.md)
+ [前言](docs/lcthw-zh/preface.md)
+ [导言:C的笛卡尔之梦](docs/lcthw-zh/introduction.md)
+ [练习0:准备](docs/lcthw-zh/ex0.md)
+ [练习1:启用编译器](docs/lcthw-zh/ex1.md)
+ [练习2:用Make来代替Python](docs/lcthw-zh/ex2.md)
+ [练习3:格式化输出](docs/lcthw-zh/ex3.md)
+ [练习4:Valgrind 介绍](docs/lcthw-zh/ex4.md)
+ [练习5:一个C程序的结构](docs/lcthw-zh/ex5.md)
+ [练习6:变量类型](docs/lcthw-zh/ex6.md)
+ [练习7:更多变量和一些算术](docs/lcthw-zh/ex7.md)
+ [练习8:大小和数组](docs/lcthw-zh/ex8.md)
+ [练习9:数组和字符串](docs/lcthw-zh/ex9.md)
+ [练习10:字符串数组和循环](docs/lcthw-zh/ex10.md)
+ [练习11:While循环和布尔表达式](docs/lcthw-zh/ex11.md)
+ [练习12:If,Else If,Else](docs/lcthw-zh/ex12.md)
+ [练习13:Switch语句](docs/lcthw-zh/ex13.md)
+ [练习14:编写并使用函数](docs/lcthw-zh/ex14.md)
+ [练习15:指针,可怕的指针](docs/lcthw-zh/ex15.md)
+ [练习16:结构体和指向它们的指针](docs/lcthw-zh/ex16.md)
+ [练习17:堆和栈的内存分配](docs/lcthw-zh/ex17.md)
+ [练习18:函数指针](docs/lcthw-zh/ex18.md)
+ [练习19:一个简单的对象系统](docs/lcthw-zh/ex19.md)
+ [练习20:Zed的强大的调试宏](docs/lcthw-zh/ex20.md)
+ [练习21:高级数据类型和控制结构](docs/lcthw-zh/ex21.md)
+ [练习22:栈、作用域和全局](docs/lcthw-zh/ex22.md)
+ [练习23:认识达夫设备](docs/lcthw-zh/ex23.md)
+ [练习24:输入输出和文件](docs/lcthw-zh/ex24.md)
+ [练习25:变参函数](docs/lcthw-zh/ex25.md)
+ [练习26:编写第一个真正的程序](docs/lcthw-zh/ex26.md)
+ [练习27:创造性和防御性编程](docs/lcthw-zh/ex27.md)
+ [练习28:Makefile 进阶](docs/lcthw-zh/ex28.md)
+ [练习29:库和链接](docs/lcthw-zh/ex29.md)
+ [练习30:自动化测试](docs/lcthw-zh/ex30.md)
+ [练习31:代码调试](docs/lcthw-zh/ex31.md)
+ [练习32:双向链表](docs/lcthw-zh/ex32.md)
+ [练习33:链表算法](docs/lcthw-zh/ex33.md)
+ [练习34:动态数组](docs/lcthw-zh/ex34.md)
+ [练习35:排序和搜索](docs/lcthw-zh/ex35.md)
+ [练习36:更安全的字符串](docs/lcthw-zh/ex36.md)
+ [练习37:哈希表](docs/lcthw-zh/ex37.md)
+ [练习38:哈希算法](docs/lcthw-zh/ex38.md)
+ [练习39:字符串算法](docs/lcthw-zh/ex39.md)
+ [练习40:二叉搜索树](docs/lcthw-zh/ex40.md)
+ [练习41:将 Cachegrind 和 Callgrind 用于性能调优](docs/lcthw-zh/ex41.md)
+ [练习42:栈和队列](docs/lcthw-zh/ex42.md)
+ [练习43:一个简单的统计引擎](docs/lcthw-zh/ex43.md)
+ [练习44:环形缓冲区](docs/lcthw-zh/ex44.md)
+ [练习45:一个简单的TCP/IP客户端](docs/lcthw-zh/ex45.md)
+ [练习46:三叉搜索树](docs/lcthw-zh/ex46.md)
+ [练习47:一个快速的URL路由](docs/lcthw-zh/ex47.md)
+ [后记:“解构 K&R C” 已死](docs/lcthw-zh/postscript.md)
+ [捐赠名单](docs/lcthw-zh/donors.md)
+ [C++ 高级编程](docs/adv-cpp/README.md)
+ [零、前言](docs/adv-cpp/00.md)
+ [一、可移植的 C++ 软件剖析](docs/adv-cpp/01.md)
+ [二、不允许鸭子——类型和推导(一)](docs/adv-cpp/02.md)
+ [三、不允许鸭子——模板和推导(二)](docs/adv-cpp/03.md)
+ [四、不允许泄漏——异常和资源](docs/adv-cpp/04.md)
+ [五、关注点分离——软件架构、函数和可变模板](docs/adv-cpp/05.md)
+ [六、哲学家的晚餐——线程和并发](docs/adv-cpp/06.md)
+ [七、流和输入/输出](docs/adv-cpp/07.md)
+ [八、每个人都会跌倒,这是你爬起来的方式——测试和调试](docs/adv-cpp/08.md)
+ [九、对速度的需求——性能和优化](docs/adv-cpp/09.md)
+ [十、附录](docs/adv-cpp/10.md)
+ [C++ 高级编程秘籍](docs/adv-cpp-prog-cb/README.md)
+ [零、前言](docs/adv-cpp-prog-cb/00.md)
+ [一、库的开发入门](docs/adv-cpp-prog-cb/01.md)
+ [二、将异常用于错误处理](docs/adv-cpp-prog-cb/02.md)
+ [三、实现移动语义](docs/adv-cpp-prog-cb/03.md)
+ [四、将模板用于泛型编程](docs/adv-cpp-prog-cb/04.md)
+ [五、并发和同步](docs/adv-cpp-prog-cb/05.md)
+ [六、优化代码以提高性能](docs/adv-cpp-prog-cb/06.md)
+ [七、调试和测试](docs/adv-cpp-prog-cb/07.md)
+ [八、创建和实现您自己的容器](docs/adv-cpp-prog-cb/08.md)
+ [九、探索类型擦除](docs/adv-cpp-prog-cb/09.md)
+ [十、对动态分配的深入研究](docs/adv-cpp-prog-cb/10.md)
+ [十一、C++ 中的常见模式](docs/adv-cpp-prog-cb/11.md)
+ [十二、更仔细查看类型推导](docs/adv-cpp-prog-cb/12.md)
+ [十三、奖励——使用 C++ 20 特性](docs/adv-cpp-prog-cb/13.md)
+ [C++ Qt5 GUI 编程](docs/cpp-gui-prog-qt5/README.md)
+ [零、前言](docs/cpp-gui-prog-qt5/00.md)
+ [一、Qt 简介](docs/cpp-gui-prog-qt5/01.md)
+ [二、Qt 小部件和样式表](docs/cpp-gui-prog-qt5/02.md)
+ [三、数据库连接](docs/cpp-gui-prog-qt5/03.md)
+ [四、图表](docs/cpp-gui-prog-qt5/04.md)
+ [五、项目视图和对话框](docs/cpp-gui-prog-qt5/05.md)
+ [六、整合网络内容](docs/cpp-gui-prog-qt5/06.md)
+ [七、地图查看器](docs/cpp-gui-prog-qt5/07.md)
+ [八、图形视图](docs/cpp-gui-prog-qt5/08.md)
+ [九、照相机模块](docs/cpp-gui-prog-qt5/09.md)
+ [十、即时消息](docs/cpp-gui-prog-qt5/10.md)
+ [十一、实现图形编辑器](docs/cpp-gui-prog-qt5/11.md)
+ [十二、云存储](docs/cpp-gui-prog-qt5/12.md)
+ [十三、多媒体查看器](docs/cpp-gui-prog-qt5/13.md)
+ [十四、Qt Quick 和 QML](docs/cpp-gui-prog-qt5/14.md)
+ [十五、跨平台开发](docs/cpp-gui-prog-qt5/15.md)
+ [十六、测试和调试](docs/cpp-gui-prog-qt5/16.md)
+ [C++ 专家级编程](docs/exp-cpp/README.md)
+ [零、前言](docs/exp-cpp/00.md)
+ [第一部分:C++ 编程的背后](docs/exp-cpp/sec1.md)
+ [一、构建 C++ 应用简介](docs/exp-cpp/01.md)
+ [二、C++ 低级编程](docs/exp-cpp/02.md)
+ [三、面向对象编程的细节](docs/exp-cpp/03.md)
+ [四、理解和设计模板](docs/exp-cpp/04.md)
+ [五、内存管理和智能指针](docs/exp-cpp/05.md)
+ [第二部分:设计健壮高效的应用](docs/exp-cpp/sec2.md)
+ [六、STL 中数据结构和算法的挖掘](docs/exp-cpp/06.md)
+ [七、函数式编程](docs/exp-cpp/07.md)
+ [八、并发和多线程](docs/exp-cpp/08.md)
+ [九、设计并发数据结构](docs/exp-cpp/09.md)
+ [十、设计全球通用的应用](docs/exp-cpp/10.md)
+ [十一、使用设计模式设计策略游戏](docs/exp-cpp/11.md)
+ [十二、网络和安全](docs/exp-cpp/12.md)
+ [十三、调试和测试](docs/exp-cpp/13.md)
+ [十四、使用 Qt 的图形用户界面](docs/exp-cpp/14.md)
+ [第三部分:人工智能世界中的 C++](docs/exp-cpp/sec3.md)
+ [十五、C++ 在机器学习任务中的应用](docs/exp-cpp/15.md)
+ [十六、实现基于对话的搜索引擎](docs/exp-cpp/16.md)
+ [十七、答案](docs/exp-cpp/17.md)
+ [C++ 游戏动画编程实用指南](docs/handson-cpp-game-ani-prog/README.md)
+ [零、前言](docs/handson-cpp-game-ani-prog/00.md)
+ [一、创建游戏窗口](docs/handson-cpp-game-ani-prog/01.md)
+ [二、实现向量](docs/handson-cpp-game-ani-prog/02.md)
+ [三、实现矩阵](docs/handson-cpp-game-ani-prog/03.md)
+ [四、实现四元数](docs/handson-cpp-game-ani-prog/04.md)
+ [五、实现转换](docs/handson-cpp-game-ani-prog/05.md)
+ [六、构建抽象渲染器](docs/handson-cpp-game-ani-prog/06.md)
+ [七、探索 glTF 文件格式](docs/handson-cpp-game-ani-prog/07.md)
+ [八、创建曲线、帧和轨迹](docs/handson-cpp-game-ani-prog/08.md)
+ [九、实现动画剪辑](docs/handson-cpp-game-ani-prog/09.md)
+ [十、网格蒙皮](docs/handson-cpp-game-ani-prog/10.md)
+ [十一、优化动画流水线](docs/handson-cpp-game-ani-prog/11.md)
+ [十二、动画之间的融合](docs/handson-cpp-game-ani-prog/12.md)
+ [十三、实现逆运动学](docs/handson-cpp-game-ani-prog/13.md)
+ [十四、使用对偶四元数蒙皮](docs/handson-cpp-game-ani-prog/14.md)
+ [十五、使用实例渲染人群](docs/handson-cpp-game-ani-prog/15.md)
+ [C++ 函数式编程实用指南](docs/handson-func-prog-cpp/README.md)
+ [零、前言](docs/handson-func-prog-cpp/00.md)
+ [第一部分:C++ 中的函数组件](docs/handson-func-prog-cpp/sec1.md)
+ [一、函数式编程导论](docs/handson-func-prog-cpp/01.md)
+ [二、理解纯函数](docs/handson-func-prog-cpp/02.md)
+ [三、深入 lambdas](docs/handson-func-prog-cpp/03.md)
+ [四、函数组合思想](docs/handson-func-prog-cpp/04.md)
+ [五、局部应用与柯里化](docs/handson-func-prog-cpp/05.md)
+ [第二部分:函数设计](docs/handson-func-prog-cpp/sec2.md)
+ [六、函数思维——从数据输入到数据输出](docs/handson-func-prog-cpp/06.md)
+ [七、通过函数操作消除重复](docs/handson-func-prog-cpp/07.md)
+ [八、使用类提高内聚性](docs/handson-func-prog-cpp/08.md)
+ [九、面向函数式编程的测试驱动开发](docs/handson-func-prog-cpp/09.md)
+ [第三部分:收获函数式编程的好处](docs/handson-func-prog-cpp/sec3.md)
+ [十、性能优化](docs/handson-func-prog-cpp/10.md)
+ [十一、基于属性的测试](docs/handson-func-prog-cpp/11.md)
+ [十二、重构到纯函数和通过纯函数重构](docs/handson-func-prog-cpp/12.md)
+ [十三、不变性和架构——事件源](docs/handson-func-prog-cpp/13.md)
+ [第四部分:C++ 函数式编程的现状和未来](docs/handson-func-prog-cpp/sec4.md)
+ [十四、使用范围库的延迟求值](docs/handson-func-prog-cpp/14.md)
+ [十五、STL 支持和建议](docs/handson-func-prog-cpp/15.md)
+ [十六、标准语言支持和建议](docs/handson-func-prog-cpp/16.md)
+ [十七、答案](docs/handson-func-prog-cpp/17.md)
+ [通过使用 UE4 构建游戏学习 C++](docs/learn-cpp-build-game-ue4/README.md)
+ [零、前言](docs/learn-cpp-build-game-ue4/00.md)
+ [一、C++ 17 入门](docs/learn-cpp-build-game-ue4/01.md)
+ [二、变量和内存](docs/learn-cpp-build-game-ue4/02.md)
+ [三、`if...else`和`switch`](docs/learn-cpp-build-game-ue4/03.md)
+ [四、循环](docs/learn-cpp-build-game-ue4/04.md)
+ [五、函数和宏](docs/learn-cpp-build-game-ue4/05.md)
+ [六、对象、类和继承](docs/learn-cpp-build-game-ue4/06.md)
+ [七、动态存储分配](docs/learn-cpp-build-game-ue4/07.md)
+ [八、演员和棋子](docs/learn-cpp-build-game-ue4/08.md)
+ [九、模板和常用容器](docs/learn-cpp-build-game-ue4/09.md)
+ [十、库存系统和提取项目](docs/learn-cpp-build-game-ue4/10.md)
+ [十一、怪物](docs/learn-cpp-build-game-ue4/11.md)
+ [十二、使用高级人工智能构建更聪明的怪物](docs/learn-cpp-build-game-ue4/12.md)
+ [十三、咒语书](docs/learn-cpp-build-game-ue4/13.md)
+ [十四、利用 UMG 和音频改善用户界面反馈](docs/learn-cpp-build-game-ue4/14.md)
+ [十五、虚拟现实及其他](docs/learn-cpp-build-game-ue4/15.md)
+ [精通 C++ 游戏开发](docs/master-cpp-game-dev/README.md)
+ [零、前言](docs/master-cpp-game-dev/00.md)
+ [一、面向游戏开发的 C++ 语言](docs/master-cpp-game-dev/01.md)
+ [二、理解库](docs/master-cpp-game-dev/02.md)
+ [三、夯实基础](docs/master-cpp-game-dev/03.md)
+ [四、构建素材管道](docs/master-cpp-game-dev/04.md)
+ [五、构建游戏系统](docs/master-cpp-game-dev/05.md)
+ [六、创建图形用户界面](docs/master-cpp-game-dev/06.md)
+ [七、高级渲染](docs/master-cpp-game-dev/07.md)
+ [八、高级游戏系统](docs/master-cpp-game-dev/08.md)
+ [九、人工智能](docs/master-cpp-game-dev/09.md)
+ [十、多个玩家](docs/master-cpp-game-dev/10.md)
+ [十一、虚拟现实](docs/master-cpp-game-dev/11.md)
+ [精通 C++ 编程](docs/master-cpp-prog/README.md)
+ [零、前言](docs/master-cpp-prog/00.md)
+ [一、C++ 17 特性](docs/master-cpp-prog/01.md)
+ [二、标准模板库](docs/master-cpp-prog/02.md)
+ [三、模板编程](docs/master-cpp-prog/03.md)
+ [四、智能指针](docs/master-cpp-prog/04.md)
+ [五、使用 C++ 开发图形用户界面应用](docs/master-cpp-prog/05.md)
+ [六、多线程编程和进程间通信](docs/master-cpp-prog/06.md)
+ [七、测试驱动开发](docs/master-cpp-prog/07.md)
+ [八、行为驱动开发](docs/master-cpp-prog/08.md)
+ [九、调试技术](docs/master-cpp-prog/09.md)
+ [十、代码异味和整洁的代码实践](docs/master-cpp-prog/10.md)
+ [Qt5 C++ GUI 编程秘籍](docs/qt5-cpp-gui-prog-cb/README.md)
+ [零、前言](docs/qt5-cpp-gui-prog-cb/00.md)
+ [一、将 Qt 设计器用于外观定制](docs/qt5-cpp-gui-prog-cb/01.md)
+ [二、事件处理——信号和插槽](docs/qt5-cpp-gui-prog-cb/02.md)
+ [三、Qt 和 QML 的状态和动画](docs/qt5-cpp-gui-prog-cb/03.md)
+ [四、画家与 2D 图形](docs/qt5-cpp-gui-prog-cb/04.md)
+ [五、OpenGL 实现](docs/qt5-cpp-gui-prog-cb/05.md)
+ [六、使用网络和管理大型文档](docs/qt5-cpp-gui-prog-cb/06.md)
+ [七、线程基础——异步编程](docs/qt5-cpp-gui-prog-cb/07.md)
+ [八、使用 Qt5 构建触摸屏应用](docs/qt5-cpp-gui-prog-cb/08.md)
+ [九、XML 解析的简化](docs/qt5-cpp-gui-prog-cb/09.md)
+ [十、转换库](docs/qt5-cpp-gui-prog-cb/10.md)
+ [十一、使用 SQL 驱动和 Qt 访问数据库](docs/qt5-cpp-gui-prog-cb/11.md)
+ [十二、使用 Qt 网络引擎开发网络应用](docs/qt5-cpp-gui-prog-cb/12.md)
+ [十三、性能优化](docs/qt5-cpp-gui-prog-cb/13.md)
+ [Qt Creator 应用开发](docs/app-dev-qt-creator/README.md)
+ [零、前言](docs/app-dev-qt-creator/00.md)
+ [第一部分:基础知识](docs/app-dev-qt-creator/sec1.md)
+ [一、Qt Creator 入门](docs/app-dev-qt-creator/01.md)
+ [二、使用 Qt Creator 构建应用](docs/app-dev-qt-creator/02.md)
+ [三、使用 Qt Designer 设计应用](docs/app-dev-qt-creator/03.md)
+ [四、Qt 基础](docs/app-dev-qt-creator/04.md)
+ [五、使用 Qt 小部件开发应用](docs/app-dev-qt-creator/05.md)
+ [第二部分:高级功能](docs/app-dev-qt-creator/sec2.md)
+ [六、使用 Qt 绘图](docs/app-dev-qt-creator/06.md)
+ [七、使用 Qt Quick 实现更多功能](docs/app-dev-qt-creator/07.md)
+ [八、使用 Qt Quick 实现多媒体](docs/app-dev-qt-creator/08.md)
+ [九、传感器和 Qt Quick](docs/app-dev-qt-creator/09.md)
+ [第三部分:实际事项](docs/app-dev-qt-creator/sec3.md)
+ [十、使用 Qt 语言学家本地化您的应用](docs/app-dev-qt-creator/10.md)
+ [十一、使用 Qt Creator 优化性能](docs/app-dev-qt-creator/11.md)
+ [十二、使用 Qt Creator 开发移动应用](docs/app-dev-qt-creator/12.md)
+ [十三、使用 Qt Creator 开发嵌入式和物联网](docs/app-dev-qt-creator/13.md)
+ [十四、QT 提示和技巧](docs/app-dev-qt-creator/14.md)
+ [C++ 编程入门手册](docs/begin-cpp-prog/README.md)
+ [零、前言](docs/begin-cpp-prog/00.md)
+ [一、从 C++ 开始](docs/begin-cpp-prog/01.md)
+ [二、了解语言特性](docs/begin-cpp-prog/02.md)
+ [三、探索 C++ 类型](docs/begin-cpp-prog/03.md)
+ [四、使用内存、数组和指针](docs/begin-cpp-prog/04.md)
+ [五、使用函数](docs/begin-cpp-prog/05.md)
+ [六、类](docs/begin-cpp-prog/06.md)
+ [七、面向对象编程导论](docs/begin-cpp-prog/07.md)
+ [八、使用标准库容器](docs/begin-cpp-prog/08.md)
+ [九、使用字符串](docs/begin-cpp-prog/09.md)
+ [十、诊断和调试](docs/begin-cpp-prog/10.md)
+ [现代 C++ 嵌入式编程秘籍](docs/emb-prog-mod-cpp-cb/README.md)
+ [零、前言](docs/emb-prog-mod-cpp-cb/00.md)
+ [一、嵌入式系统基础](docs/emb-prog-mod-cpp-cb/01.md)
+ [二、设置环境](docs/emb-prog-mod-cpp-cb/02.md)
+ [三、使用不同的架构](docs/emb-prog-mod-cpp-cb/03.md)
+ [四、处理中断](docs/emb-prog-mod-cpp-cb/04.md)
+ [五、调试、日志记录和性能分析](docs/emb-prog-mod-cpp-cb/05.md)
+ [六、内存管理](docs/emb-prog-mod-cpp-cb/06.md)
+ [七、多线程和同步](docs/emb-prog-mod-cpp-cb/07.md)
+ [八、通信和序列化](docs/emb-prog-mod-cpp-cb/08.md)
+ [九、外部设备](docs/emb-prog-mod-cpp-cb/09.md)
+ [十、降低功耗](docs/emb-prog-mod-cpp-cb/10.md)
+ [十一、时间点和间隔](docs/emb-prog-mod-cpp-cb/11.md)
+ [十二、错误处理和容错](docs/emb-prog-mod-cpp-cb/12.md)
+ [十三、实时系统指南](docs/emb-prog-mod-cpp-cb/13.md)
+ [十四、安全关键系统指南](docs/emb-prog-mod-cpp-cb/14.md)
+ [十五、微控制器编程](docs/emb-prog-mod-cpp-cb/15.md)
+ [C++ 专家级编程](docs/exp-cpp-prog/README.md)
+ [零、新的 C++ 17 特性](docs/exp-cpp-prog/00.md)
+ [一、容器](docs/exp-cpp-prog/01.md)
+ [二、迭代器](docs/exp-cpp-prog/02.md)
+ [三、lambda 表达式](docs/exp-cpp-prog/03.md)
+ [四、STL 算法基础](docs/exp-cpp-prog/04.md)
+ [五、STL 算法的高级使用](docs/exp-cpp-prog/05.md)
+ [六、字符串、流类和正则表达式](docs/exp-cpp-prog/06.md)
+ [七、工具类](docs/exp-cpp-prog/07.md)
+ [八、并行性和并发性](docs/exp-cpp-prog/08.md)
+ [九、文件系统](docs/exp-cpp-prog/09.md)
+ [UE 游戏开发项目](docs/game-dev-proj-ue/README.md)
+ [零、前言](docs/game-dev-proj-ue/00.md)
+ [一、虚幻引擎介绍](docs/game-dev-proj-ue/01.md)
+ [二、使用虚幻引擎](docs/game-dev-proj-ue/02.md)
+ [三、角色类组件和蓝图设置](docs/game-dev-proj-ue/03.md)
+ [四、玩家输入](docs/game-dev-proj-ue/04.md)
+ [五、线条痕迹](docs/game-dev-proj-ue/05.md)
+ [六、碰撞物体](docs/game-dev-proj-ue/06.md)
+ [八、用户界面](docs/game-dev-proj-ue/07.md)
+ [九、视听元素](docs/game-dev-proj-ue/08.md)
+ [十、创建`SuperSideScroller`游戏](docs/game-dev-proj-ue/09.md)
+ [十一、混合空间 1D、按键绑定和状态机](docs/game-dev-proj-ue/10.md)
+ [十二、动画混合和蒙太奇](docs/game-dev-proj-ue/11.md)
+ [十三、敌方人工智能](docs/game-dev-proj-ue/12.md)
+ [十四、产生玩家投射物](docs/game-dev-proj-ue/13.md)
+ [十五、收藏品、加强和拾取](docs/game-dev-proj-ue/14.md)
+ [十六、多人游戏基础](docs/game-dev-proj-ue/15.md)
+ [十七、远程过程调用](docs/game-dev-proj-ue/16.md)
+ [十八、多人游戏中的游戏框架类](docs/game-dev-proj-ue/17.md)
+ [CUDA 编程学习手册](docs/learn-cuda-prog/README.md)
+ [零、前言](docs/learn-cuda-prog/00.md)
+ [一、CUDA 编程入门](docs/learn-cuda-prog/01.md)
+ [二、内存管理](docs/learn-cuda-prog/02.md)
+ [三、线程编程](docs/learn-cuda-prog/03.md)
+ [四、内核执行模型及优化策略](docs/learn-cuda-prog/04.md)
+ [五、应用分析和调试](docs/learn-cuda-prog/05.md)
+ [六、可扩展的多图形处理器编程](docs/learn-cuda-prog/06.md)
+ [七、CUDA 中的并行编程模式](docs/learn-cuda-prog/07.md)
+ [八、使用库和其他语言编程](docs/learn-cuda-prog/08.md)
+ [八、将 OpenACC 用于图形处理器编程](docs/learn-cuda-prog/09.md)
+ [九、利用 CUDA 实现深度学习加速](docs/learn-cuda-prog/10.md)
+ [十一、附录](docs/learn-cuda-prog/11.md)
+ [WebAssembly 学习手册](docs/learn-wasm/README.md)
+ [零、前言](docs/learn-wasm/00.md)
+ [一、什么是 WebAssembly?](docs/learn-wasm/01.md)
+ [二、WebAssembly 的元素——Wat、Wasm 和 JavaScript 应用编程接口](docs/learn-wasm/02.md)
+ [三、建立开发环境](docs/learn-wasm/03.md)
+ [四、安装所需的依赖项](docs/learn-wasm/04.md)
+ [五、创建和加载 WebAssembly 模块](docs/learn-wasm/05.md)
+ [六、与 JavaScript 交互和调试](docs/learn-wasm/06.md)
+ [七、从头开始创建应用](docs/learn-wasm/07.md)
+ [八、使用电子脚本移植游戏](docs/learn-wasm/08.md)
+ [九、与 Node.js 集成](docs/learn-wasm/09.md)
+ [十、高级工具和即将推出的功能](docs/learn-wasm/10.md)
+ [精通 C++ 多线程](docs/master-cpp-multithrd/README.md)
+ [零、前言](docs/master-cpp-multithrd/00.md)
+ [一、重温多线程](docs/master-cpp-multithrd/01.md)
+ [二、处理器和操作系统上的多线程实现](docs/master-cpp-multithrd/02.md)
+ [三、C++ 多线程应用编程接口](docs/master-cpp-multithrd/03.md)
+ [四、线程同步和通信](docs/master-cpp-multithrd/04.md)
+ [五、本机 C++ 线程和原语](docs/master-cpp-multithrd/05.md)
+ [六、调试多线程代码](docs/master-cpp-multithrd/06.md)
+ [七、最佳实践](docs/master-cpp-multithrd/07.md)
+ [八、原子操作——使用硬件](docs/master-cpp-multithrd/08.md)
+ [九、分布式计算中的多线程](docs/master-cpp-multithrd/09.md)
+ [十、图形处理器多线程](docs/master-cpp-multithrd/10.md)
+ [现代 C++ 编程](docs/mod-cpp/README.md)
+ [零、前言](docs/mod-cpp/00.md)
+ [一、理解语言特性](docs/mod-cpp/01.md)
+ [二、使用内存、数组和指针](docs/mod-cpp/02.md)
+ [三、使用函数](docs/mod-cpp/03.md)
+ [四、类](docs/mod-cpp/04.md)
+ [五、使用标准库容器](docs/mod-cpp/05.md)
+ [六、使用字符串](docs/mod-cpp/06.md)
+ [七、诊断和调试](docs/mod-cpp/07.md)
+ [八、学习现代核心语言特性](docs/mod-cpp/08.md)
+ [九、使用数字和字符串](docs/mod-cpp/09.md)
+ [十、探索函数](docs/mod-cpp/10.md)
+ [十一、标准库容器、算法和迭代器](docs/mod-cpp/11.md)
+ [十二、数学问题](docs/mod-cpp/12.md)
+ [十三、语言特性](docs/mod-cpp/13.md)
+ [十四、字符串和正则表达式](docs/mod-cpp/14.md)
+ [十五、流和文件系统](docs/mod-cpp/15.md)
+ [十六、日期和时间](docs/mod-cpp/16.md)
+ [十七、算法和数据结构](docs/mod-cpp/17.md)
+ [现代 C++ 的挑战](docs/mod-cpp-challenge/README.md)
+ [零、前言](docs/mod-cpp-challenge/00.md)
+ [一、数学问题](docs/mod-cpp-challenge/01.md)
+ [二、语言特性](docs/mod-cpp-challenge/02.md)
+ [三、字符串和正则表达式](docs/mod-cpp-challenge/03.md)
+ [四、流和文件系统](docs/mod-cpp-challenge/04.md)
+ [五、日期和时间](docs/mod-cpp-challenge/05.md)
+ [六、算法和数据结构](docs/mod-cpp-challenge/06.md)
+ [七、并发](docs/mod-cpp-challenge/07.md)
+ [八、设计模式](docs/mod-cpp-challenge/08.md)
+ [九、数据序列化](docs/mod-cpp-challenge/09.md)
+ [十、归档、图像和数据库](docs/mod-cpp-challenge/10.md)
+ [十一、密码系统](docs/mod-cpp-challenge/11.md)
+ [十二、网络和服务](docs/mod-cpp-challenge/12.md)
+ [十三、参考文献](docs/mod-cpp-challenge/13.md)
+ [C++ 游戏编程入门手册](docs/begin-cpp-game-prog/README.md)
+ [零、序言](docs/begin-cpp-game-prog/00.md)
+ [一、C++,SFML,VisualStudio,并开始第一个游戏](docs/begin-cpp-game-prog/01.md)
+ [二、变量、运算符和决策——设置精灵动画](docs/begin-cpp-game-prog/02.md)
+ [三、C++ 字符串和 SFML 时间——玩家输入和 HUD](docs/begin-cpp-game-prog/03.md)
+ [四、循环、数组、`switch`、枚举和函数——实现游戏机制](docs/begin-cpp-game-prog/04.md)
+ [五、碰撞、声音和结束条件——使游戏可玩](docs/begin-cpp-game-prog/05.md)
+ [六、面向对象编程——启动乒乓球游戏](docs/begin-cpp-game-prog/06.md)
+ [七、动态碰撞检测与物理——完成乒乓球游戏](docs/begin-cpp-game-prog/07.md)
+ [八、SFML 视图——开始僵尸射击游戏](docs/begin-cpp-game-prog/08.md)
+ [九、C++ 引用、精灵列表和顶点数组](docs/begin-cpp-game-prog/09.md)
+ [十、指针、标准模板库、纹理管理](docs/begin-cpp-game-prog/10.md)
+ [十一、碰撞检测,拾音器和子弹](docs/begin-cpp-game-prog/11.md)
+ [十二、视图分层与 HUD 实现](docs/begin-cpp-game-prog/12.md)
+ [十三、音效,文件 I/O,完成游戏](docs/begin-cpp-game-prog/13.md)
+ [十四、抽象和代码管理——更好地利用面向对象](docs/begin-cpp-game-prog/14.md)
+ [十五、高级 OOP——继承与多态](docs/begin-cpp-game-prog/15.md)
+ [十六、建造可玩关卡和碰撞检测](docs/begin-cpp-game-prog/16.md)
+ [十七、声音空间化和平视显示器](docs/begin-cpp-game-prog/17.md)
+ [十八、粒子系统和着色器](docs/begin-cpp-game-prog/18.md)
+ [十九、游戏编程设计模式——启动太空入侵者 ++ 游戏](docs/begin-cpp-game-prog/19.md)
+ [二十、游戏对象和组件](docs/begin-cpp-game-prog/20.md)
+ [二十一、文件输入输出和游戏对象工厂](docs/begin-cpp-game-prog/21.md)
+ [二十二、使用游戏对象和构建游戏](docs/begin-cpp-game-prog/22.md)
+ [二十三、结束之前](docs/begin-cpp-game-prog/23.md)
+ [Boost.Asio C++ 网络编程入门中文第二版](docs/boost-asio-cpp-net-prog-2e/README.md)
+ [零、前言](docs/boost-asio-cpp-net-prog-2e/0.md)
+ [一、使用 C++ 简化您的网络编程](docs/boost-asio-cpp-net-prog-2e/1.md)
+ [二、理解网络概念](docs/boost-asio-cpp-net-prog-2e/2.md)
+ [三、Boost C++ 库简介](docs/boost-asio-cpp-net-prog-2e/3.md)
+ [四、Boost.Asio 入门](docs/boost-asio-cpp-net-prog-2e/4.md)
+ [五、深入研究 Boost.Asio 库](docs/boost-asio-cpp-net-prog-2e/5.md)
+ [六、创建客户端——服务器应用](docs/boost-asio-cpp-net-prog-2e/6.md)
+ [七、调试代码并解决错误](docs/boost-asio-cpp-net-prog-2e/7.md)
+ [Boost C++ 应用开发秘籍](docs/boost-cpp-app-dev-cb/README.md)
+ [零、前言](docs/boost-cpp-app-dev-cb/00.md)
+ [一、开始编写应用](docs/boost-cpp-app-dev-cb/01.md)
+ [二、管理资源](docs/boost-cpp-app-dev-cb/02.md)
+ [三、类型转换](docs/boost-cpp-app-dev-cb/03.md)
+ [四、编译时技巧](docs/boost-cpp-app-dev-cb/04.md)
+ [五、多线程操作](docs/boost-cpp-app-dev-cb/05.md)
+ [六、操作任务](docs/boost-cpp-app-dev-cb/06.md)
+ [七、操纵字符串](docs/boost-cpp-app-dev-cb/07.md)
+ [八、元编程](docs/boost-cpp-app-dev-cb/08.md)
+ [九、容器](docs/boost-cpp-app-dev-cb/09.md)
+ [十、收集平台和编译器信息](docs/boost-cpp-app-dev-cb/10.md)
+ [十一、使用系统](docs/boost-cpp-app-dev-cb/11.md)
+ [十二、Boost 的冰山一角](docs/boost-cpp-app-dev-cb/12.md)
+ [C++ 数据结构和算法设计原则](docs/cpp-dsal-design-principle/README.md)
+ [零、前言](docs/cpp-dsal-design-principle/00.md)
+ [一、列表、栈和队列](docs/cpp-dsal-design-principle/01.md)
+ [二、树、堆和图](docs/cpp-dsal-design-principle/02.md)
+ [三、哈希表和布隆过滤器](docs/cpp-dsal-design-principle/03.md)
+ [四、分治法](docs/cpp-dsal-design-principle/04.md)
+ [五、贪婪算法](docs/cpp-dsal-design-principle/05.md)
+ [六、图算法 1](docs/cpp-dsal-design-principle/06.md)
+ [七、图算法 2](docs/cpp-dsal-design-principle/07.md)
+ [八、动态规划一](docs/cpp-dsal-design-principle/08.md)
+ [九、动态规划二](docs/cpp-dsal-design-principle/09.md)
+ [十、附录](docs/cpp-dsal-design-principle/10.md)
+ [C++ 高性能编程](docs/cpp-hiperf/README.md)
+ [零、前言](docs/cpp-hiperf/00.md)
+ [一、C++ 简介](docs/cpp-hiperf/01.md)
+ [二、基本的 C++ 技术](docs/cpp-hiperf/02.md)
+ [三、分析和测量性能](docs/cpp-hiperf/03.md)
+ [四、数据结构](docs/cpp-hiperf/04.md)
+ [五、算法](docs/cpp-hiperf/05.md)
+ [六、范围和视图](docs/cpp-hiperf/06.md)
+ [七、内存管理](docs/cpp-hiperf/07.md)
+ [八、编译时编程](docs/cpp-hiperf/08.md)
+ [九、基本工具](docs/cpp-hiperf/09.md)
+ [十、代理对象和延迟求值](docs/cpp-hiperf/10.md)
+ [十一、并发](docs/cpp-hiperf/11.md)
+ [十二、协程和延迟生成器](docs/cpp-hiperf/12.md)
+ [十三、使用协程的异步编程](docs/cpp-hiperf/13.md)
+ [十四、并行算法](docs/cpp-hiperf/14.md)
+ [C++ 反应式编程](docs/cpp-react-prog/README.md)
+ [零、前言](docs/cpp-react-prog/00.md)
+ [一、反应式编程模型——概述和历史](docs/cpp-react-prog/01.md)
+ [二、现代 C++ 及其关键习语概述](docs/cpp-react-prog/02.md)
+ [三、C++ 中的语言级并发和并行](docs/cpp-react-prog/03.md)
+ [四、C++ 中的异步和无锁编程](docs/cpp-react-prog/04.md)
+ [五、可观察对象介绍](docs/cpp-react-prog/05.md)
+ [六、C++ 事件流编程简介](docs/cpp-react-prog/06.md)
+ [七、数据流计算和 RxCpp 库简介](docs/cpp-react-prog/07.md)
+ [八、关键要素](docs/cpp-react-prog/08.md)
+ [九、Qt/C++ 反应式图形用户界面编程](docs/cpp-react-prog/09.md)
+ [十、C++ 反应式编程的设计模式和习惯用法](docs/cpp-react-prog/10.md)
+ [十一、使用 C++ 的反应式微服务](docs/cpp-react-prog/11.md)
+ [十二、高级流和错误处理](docs/cpp-react-prog/12.md)
+ [C++ 系统编程秘籍](docs/cpp-sys-prog-cb/README.md)
+ [零、前言](docs/cpp-sys-prog-cb/00.md)
+ [一、系统编程入门](docs/cpp-sys-prog-cb/01.md)
+ [二、重温 C++](docs/cpp-sys-prog-cb/02.md)
+ [三、处理进程和线程](docs/cpp-sys-prog-cb/03.md)
+ [四、深入探讨内存管理](docs/cpp-sys-prog-cb/04.md)
+ [五、使用互斥、信号量和条件变量](docs/cpp-sys-prog-cb/05.md)
+ [六、管道、先进先出、消息队列和共享内存](docs/cpp-sys-prog-cb/06.md)
+ [七、网络编程](docs/cpp-sys-prog-cb/07.md)
+ [八、处理控制台输入/输出和文件](docs/cpp-sys-prog-cb/08.md)
+ [九、处理时间接口](docs/cpp-sys-prog-cb/09.md)
+ [十、管理信号](docs/cpp-sys-prog-cb/10.md)
+ [十一、调度编排](docs/cpp-sys-prog-cb/11.md)
+ [C++ 工作室](docs/cpp-workshop/README.md)
+ [零、前言](docs/cpp-workshop/00.md)
+ [一、您的第一个 C++ 应用](docs/cpp-workshop/01.md)
+ [二、控制流](docs/cpp-workshop/02.md)
+ [三、内置数据类型](docs/cpp-workshop/03.md)
+ [四、运算符](docs/cpp-workshop/04.md)
+ [五、指针和引用](docs/cpp-workshop/05.md)
+ [六、动态变量](docs/cpp-workshop/06.md)
+ [七、动态变量的所有权和寿命](docs/cpp-workshop/07.md)
+ [八、类和结构](docs/cpp-workshop/08.md)
+ [九、面向对象原则](docs/cpp-workshop/09.md)
+ [十、高级面向对象原则](docs/cpp-workshop/10.md)
+ [十一、模板](docs/cpp-workshop/11.md)
+ [十二、容器和迭代器](docs/cpp-workshop/12.md)
+ [十三、C++ 中的异常处理](docs/cpp-workshop/13.md)
+ [十四、附录](docs/cpp-workshop/14.md)
+ [WebAssembly 游戏编程实用指南](docs/handson-game-dev-wasm/README.md)
+ [零、前言](docs/handson-game-dev-wasm/00.md)
+ [一、WebAssembly 和电子脚本简介](docs/handson-game-dev-wasm/01.md)
+ [二、HTML5 和 WebAssembly](docs/handson-game-dev-wasm/02.md)
+ [三、WebGL 简介](docs/handson-game-dev-wasm/03.md)
+ [四、WebAssembly 中使用 SDL 的的精灵动画](docs/handson-game-dev-wasm/04.md)
+ [五、键盘输入](docs/handson-game-dev-wasm/05.md)
+ [六、游戏对象和游戏循环](docs/handson-game-dev-wasm/06.md)
+ [七、碰撞检测](docs/handson-game-dev-wasm/07.md)
+ [八、基本粒子系统](docs/handson-game-dev-wasm/08.md)
+ [九、改进的粒子系统](docs/handson-game-dev-wasm/09.md)
+ [十、人工智能与驾驶行为](docs/handson-game-dev-wasm/10.md)
+ [十一、设计 2D 相机](docs/handson-game-dev-wasm/11.md)
+ [十二、声音 FX](docs/handson-game-dev-wasm/12.md)
+ [十三、游戏物理](docs/handson-game-dev-wasm/13.md)
+ [十四、用户界面和鼠标输入](docs/handson-game-dev-wasm/14.md)
+ [十五、着色器和 2D 照明](docs/handson-game-dev-wasm/15.md)
+ [十六、调试和优化](docs/handson-game-dev-wasm/16.md)
+ [C++ 函数式编程学习手册](docs/learn-cpp-func-prog/README.md)
+ [零、前言](docs/learn-cpp-func-prog/0.md)
+ [一、深入现代 C++](docs/learn-cpp-func-prog/1.md)
+ [二、函数式编程中的函数操作](docs/learn-cpp-func-prog/2.md)
+ [三、将不可变状态应用于函数](docs/learn-cpp-func-prog/3.md)
+ [四、使用递归算法重复方法调用](docs/learn-cpp-func-prog/4.md)
+ [五、使用延迟求值拖延执行过程](docs/learn-cpp-func-prog/5.md)
+ [六、使用元编程优化代码](docs/learn-cpp-func-prog/6.md)
+ [七、使用并发运行并行执行](docs/learn-cpp-func-prog/7.md)
+ [八、使用函数方法创建和调试应用](docs/learn-cpp-func-prog/8.md)
+ [Qt5 学习手册](docs/learn-qt5/README.md)
+ [零、前言](docs/learn-qt5/0.md)
+ [一、你好,Qt](docs/learn-qt5/1.md)
+ [二、项目结构](docs/learn-qt5/2.md)
+ [三、用户界面](docs/learn-qt5/3.md)
+ [四、样式](docs/learn-qt5/4.md)
+ [五、数据](docs/learn-qt5/5.md)
+ [六、单元测试](docs/learn-qt5/6.md)
+ [七、SQLite](docs/learn-qt5/7.md)
+ [八、网络请求](docs/learn-qt5/8.md)
+ [九、打包](docs/learn-qt5/9.md)
================================================
FILE: asset/back-to-top.css
================================================
#scroll-btn {
position: fixed;
right: 15px;
bottom: 10px;
width: 35px;
height: 35px;
background-repeat: no-repeat;
background-size: cover;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: url(up.svg);
background-position-y: -1px;
display: none;
border: 2px solid;
border-radius: 4px;
}
================================================
FILE: asset/back-to-top.js
================================================
document.addEventListener('DOMContentLoaded', function() {
var scrollBtn = document.createElement('div')
scrollBtn.id = 'scroll-btn'
document.body.append(scrollBtn)
window.addEventListener('scroll', function() {
var offset = window.document.documentElement.scrollTop;
scrollBtn.style.display = offset >= 500 ? "block" : "none";
})
scrollBtn.addEventListener('click', function(e) {
e.stopPropagation();
var step = window.scrollY / 15;
var hdl = setInterval(function() {
window.scrollTo(0, window.scrollY - step);
if(window.scrollY <= 0) {
clearInterval(hdl)
}
}, 15)
})
})
================================================
FILE: asset/dark-mode.css
================================================
#dark-mode-btn {
position: fixed;
right: 15px;
top: 100px;
width: 35px;
height: 35px;
background-repeat: no-repeat;
background-size: cover;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
transition: background-image .15s ease-in-out .15s;
}
.dark-logo {
background-image: url('sun.svg');
}
.light-logo {
background-image: url('moon.svg');
}
================================================
FILE: asset/dark-mode.js
================================================
document.addEventListener('DOMContentLoaded', function() {
var style = document.querySelector('#invert')
if (style == null) {
style = document.createElement('style')
style.id = 'invert'
document.head.append(style)
}
var btn = document.querySelector('#dark-mode-btn')
if (btn == null) {
btn = document.createElement('div')
btn.id = 'dark-mode-btn'
btn.classList.add('light-logo')
document.body.append(btn)
}
var enableDarkMode = function() {
style.innerText = 'html,img,pre,#dark-mode-btn{filter:invert(100%)}'
btn.classList.remove('light-logo')
btn.classList.add('dark-logo')
localStorage.darkLight = 'dark'
}
var disableDarkMode = function() {
style.innerText = ''
btn.classList.remove('dark-logo')
btn.classList.add('light-logo')
localStorage.darkLight = 'light'
}
btn.addEventListener('click', function(){
var currMode = localStorage.darkLight || 'light'
if (currMode == 'light')
enableDarkMode()
else
disableDarkMode()
})
if (localStorage.darkLight == 'dark')
enableDarkMode()
})
================================================
FILE: asset/docsify-apachecn-footer.js
================================================
(function(){
var cnzzId = window.$docsify.cnzzId
var unRepo = window.$docsify.repo || ''
var [un, repo] = unRepo.split('/')
var footer = `
<hr/>
<div align="center">
<p><a href="http://www.apachecn.org/" target="_blank"><font face="KaiTi" size="6" color="red">我们一直在努力</font></a><p>
<p><a href="https://github.com/${unRepo}" target="_blank">${unRepo}</a></p>
<p><iframe align="middle" src="https://ghbtns.com/github-btn.html?user=${un}&repo=${repo}&type=watch&count=true&v=2" frameborder="0" scrolling="0" width="100px" height="25px"></iframe>
<iframe align="middle" src="https://ghbtns.com/github-btn.html?user=${un}&repo=${repo}&type=star&count=true" frameborder="0" scrolling="0" width="100px" height="25px"></iframe>
<iframe align="middle" src="https://ghbtns.com/github-btn.html?user=${un}&repo=${repo}&type=fork&count=true" frameborder="0" scrolling="0" width="100px" height="25px"></iframe>
<a target="_blank" href="https://jq.qq.com/?_wv=1027&k=fgYM7eMw"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="iBooker 面试求职" title="iBooker 面试求职"></a></p>
<p><span id="cnzz_stat_icon_${cnzzId}"></span></p>
<div style="text-align:center;margin:0 0 10.5px;">
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-3565452474788507"
data-ad-slot="2543897000"></ins>
</div>
</div>
`
var plugin = function(hook) {
hook.afterEach(function(html) {
return html + footer
})
hook.doneEach(function() {
(adsbygoogle = window.adsbygoogle || []).push({})
})
}
var plugins = window.$docsify.plugins || []
plugins.push(plugin)
window.$docsify.plugins = plugins
})()
================================================
FILE: asset/docsify-baidu-push.js
================================================
(function(){
var plugin = function(hook) {
hook.doneEach(function() {
new Image().src =
'//api.share.baidu.com/s.gif?r=' +
encodeURIComponent(document.referrer) +
"&l=" + encodeURIComponent(location.href)
})
}
var plugins = window.$docsify.plugins || []
plugins.push(plugin)
window.$docsify.plugins = plugins
})()
================================================
FILE: asset/docsify-baidu-stat.js
================================================
(function(){
var plugin = function(hook) {
hook.doneEach(function() {
window._hmt = window._hmt || []
var hm = document.createElement("script")
hm.src = "https://hm.baidu.com/hm.js?" + window.$docsify.bdStatId
document.querySelector("article").appendChild(hm)
})
}
var plugins = window.$docsify.plugins || []
plugins.push(plugin)
window.$docsify.plugins = plugins
})()
================================================
FILE: asset/docsify-clicker.js
================================================
(function() {
var ids = [
'109577065', '108852955', '102682374', '100520874', '92400861', '90312982',
'109963325', '109323014', '109301511', '108898970', '108590722', '108538676',
'108503526', '108437109', '108402202', '108292691', '108291153', '108268498',
'108030854', '107867070', '107847299', '107827334', '107825454', '107802131',
'107775320', '107752974', '107735139', '107702571', '107598864', '107584507',
'107568311', '107526159', '107452391', '107437455', '107430050', '107395781',
'107325304', '107283210', '107107145', '107085440', '106995421', '106993460',
'106972215', '106959775', '106766787', '106749609', '106745967', '106634313',
'106451602', '106180097', '106095505', '106077010', '106008089', '106002346',
'105653809', '105647855', '105130705', '104837872', '104706815', '104192620',
'104074941', '104040537', '103962171', '103793502', '103783460', '103774572',
'103547748', '103547703', '103547571', '103490757', '103413481', '103341935',
'103330191', '103246597', '103235808', '103204403', '103075981', '103015105',
'103014899', '103014785', '103014702', '103014540', '102993780', '102993754',
'102993680', '102958443', '102913317', '102903382', '102874766', '102870470',
'102864513', '102811179', '102761237', '102711565', '102645443', '102621845',
'102596167', '102593333', '102585262', '102558427', '102537547', '102530610',
'102527017', '102504698', '102489806', '102372981', '102258897', '102257303',
'102056248', '101920097', '101648638', '101516708', '101350577', '101268149',
'101128167', '101107328', '101053939', '101038866', '100977414', '100945061',
'100932401', '100886407', '100797378', '100634918', '100588305', '100572447',
'100192249', '100153559', '100099032', '100061455', '100035392', '100033450',
'99671267', '99624846', '99172551', '98992150', '98989508', '98987516', '98938304',
'98937682', '98725145', '98521688', '98450861', '98306787', '98203342', '98026348',
'97680167', '97492426', '97108940', '96888872', '96568559', '96509100', '96508938',
'96508611', '96508374', '96498314', '96476494', '96333593', '96101522', '95989273',
'95960507', '95771870', '95770611', '95766810', '95727700', '95588929', '95218707',
'95073151', '95054615', '95016540', '94868371', '94839549', '94719281', '94401578',
'93931439', '93853494', '93198026', '92397889', '92063437', '91635930', '91433989',
'91128193', '90915507', '90752423', '90738421', '90725712', '90725083', '90722238',
'90647220', '90604415', '90544478', '90379769', '90288341', '90183695', '90144066',
'90108283', '90021771', '89914471', '89876284', '89852050', '89839033', '89812373',
'89789699', '89786189', '89752620', '89636380', '89632889', '89525811', '89480625',
'89464088', '89464025', '89463984', '89463925', '89445280', '89441793', '89430432',
'89429877', '89416176', '89412750', '89409618', '89409485', '89409365', '89409292',
'89409222', '89399738', '89399674', '89399526', '89355336', '89330241', '89308077',
'89222240', '89140953', '89139942', '89134398', '89069355', '89049266', '89035735',
'89004259', '88925790', '88925049', '88915838', '88912706', '88911548', '88899438',
'88878890', '88837519', '88832555', '88824257', '88777952', '88752158', '88659061',
'88615256', '88551434', '88375675', '88322134', '88322085', '88321996', '88321978',
'88321950', '88321931', '88321919', '88321899', '88321830', '88321756', '88321710',
'88321661', '88321632', '88321566', '88321550', '88321506', '88321475', '88321440',
'88321409', '88321362', '88321321', '88321293', '88321226', '88232699', '88094874',
'88090899', '88090784', '88089091', '88048808', '87938224', '87913318', '87905933',
'87897358', '87856753', '87856461', '87827666', '87822008', '87821456', '87739137',
'87734022', '87643633', '87624617', '87602909', '87548744', '87548689', '87548624',
'87548550', '87548461', '87463201', '87385913', '87344048', '87078109', '87074784',
'87004367', '86997632', '86997466', '86997303', '86997116', '86996474', '86995899',
'86892769', '86892654', '86892569', '86892457', '86892347', '86892239', '86892124',
'86798671', '86777307', '86762845', '86760008', '86759962', '86759944', '86759930',
'86759922', '86759646', '86759638', '86759633', '86759622', '86759611', '86759602',
'86759596', '86759591', '86759580', '86759572', '86759567', '86759558', '86759545',
'86759534', '86749811', '86741502', '86741074', '86741059', '86741020', '86740897',
'86694754', '86670104', '86651882', '86651875', '86651866', '86651828', '86651790',
'86651767', '86651756', '86651735', '86651720', '86651708', '86618534', '86618526',
'86594785', '86590937', '86550497', '86550481', '86550472', '86550453', '86550438',
'86550429', '86550407', '86550381', '86550359', '86536071', '86536035', '86536014',
'86535988', '86535963', '86535953', '86535932', '86535902', '86472491', '86472298',
'86472236', '86472191', '86472108', '86471967', '86471899', '86471822', '86439022',
'86438972', '86438902', '86438887', '86438867', '86438836', '86438818', '85850119',
'85850075', '85850021', '85849945', '85849893', '85849837', '85849790', '85849740',
'85849661', '85849620', '85849550', '85606096', '85564441', '85547709', '85471981',
'85471317', '85471136', '85471073', '85470629', '85470456', '85470169', '85469996',
'85469877', '85469775', '85469651', '85469331', '85469033', '85345768', '85345742',
'85337900', '85337879', '85337860', '85337833', '85337797', '85322822', '85322810',
'85322791', '85322745', '85317667', '85265742', '85265696', '85265618', '85265350',
'85098457', '85057670', '85009890', '84755581', '84637437', '84637431', '84637393',
'84637374', '84637355', '84637338', '84637321', '84637305', '84637283', '84637259',
'84629399', '84629314', '84629233', '84629124', '84629065', '84628997', '84628933',
'84628838', '84628777', '84628690', '84591581', '84591553', '84591511', '84591484',
'84591468', '84591416', '84591386', '84591350', '84591308', '84572155', '84572107',
'84503228', '84500221', '84403516', '84403496', '84403473', '84403442', '84075703',
'84029659', '83933480', '83933459', '83933435', '83903298', '83903274', '83903258',
'83752369', '83345186', '83116487', '83116446', '83116402', '83116334', '83116213',
'82944248', '82941023', '82938777', '82936611', '82932735', '82918102', '82911085',
'82888399', '82884263', '82883507', '82880996', '82875334', '82864060', '82831039',
'82823385', '82795277', '82790832', '82775718', '82752022', '82730437', '82718126',
'82661646', '82588279', '82588267', '82588261', '82588192', '82347066', '82056138',
'81978722', '81211571', '81104145', '81069048', '81006768', '80788365', '80767582',
'80759172', '80759144', '80759129', '80736927', '80661288', '80616304', '80602366',
'80584625', '80561364', '80549878', '80549875', '80541470', '80539726', '80531328',
'80513257', '80469816', '80406810', '80356781', '80334130', '80333252', '80332666',
'80332389', '80311244', '80301070', '80295974', '80292252', '80286963', '80279504',
'80278369', '80274371', '80249825', '80247284', '80223054', '80219559', '80209778',
'80200279', '80164236', '80160900', '80153046', '80149560', '80144670', '80061205',
'80046520', '80025644', '80014721', '80005213', '80004664', '80001653', '79990178',
'79989283', '79947873', '79946002', '79941517', '79938786', '79932755', '79921178',
'79911339', '79897603', '79883931', '79872574', '79846509', '79832150', '79828161',
'79828156', '79828149', '79828146', '79828140', '79828139', '79828135', '79828123',
'79820772', '79776809', '79776801', '79776788', '79776782', '79776772', '79776767',
'79776760', '79776753', '79776736', '79776705', '79676183', '79676171', '79676166',
'79676160', '79658242', '79658137', '79658130', '79658123', '79658119', '79658112',
'79658100', '79658092', '79658089', '79658069', '79658054', '79633508', '79587857',
'79587850', '79587842', '79587831', '79587825', '79587819', '79547908', '79477700',
'79477692', '79440956', '79431176', '79428647', '79416896', '79406699', '79350633',
'79350545', '79344765', '79339391', '79339383', '79339157', '79307345', '79293944',
'79292623', '79274443', '79242798', '79184420', '79184386', '79184355', '79184269',
'79183979', '79100314', '79100206', '79100064', '79090813', '79057834', '78967246',
'78941571', '78927340', '78911467', '78909741', '78848006', '78628917', '78628908',
'78628889', '78571306', '78571273', '78571253', '78508837', '78508791', '78448073',
'78430940', '78408150', '78369548', '78323851', '78314301', '78307417', '78300457',
'78287108', '78278945', '78259349', '78237192', '78231360', '78141031', '78100357',
'78095793', '78084949', '78073873', '78073833', '78067868', '78067811', '78055014',
'78041555', '78039240', '77948804', '77879624', '77837792', '77824937', '77816459',
'77816208', '77801801', '77801767', '77776636', '77776610', '77505676', '77485156',
'77478296', '77460928', '77327521', '77326428', '77278423', '77258908', '77252370',
'77248841', '77239042', '77233843', '77230880', '77200256', '77198140', '77196405',
'77193456', '77186557', '77185568', '77181823', '77170422', '77164604', '77163389',
'77160103', '77159392', '77150721', '77146204', '77141824', '77129604', '77123259',
'77113014', '77103247', '77101924', '77100165', '77098190', '77094986', '77088637',
'77073399', '77062405', '77044198', '77036923', '77017092', '77007016', '76999924',
'76977678', '76944015', '76923087', '76912696', '76890184', '76862282', '76852434',
'76829683', '76794256', '76780755', '76762181', '76732277', '76718569', '76696048',
'76691568', '76689003', '76674746', '76651230', '76640301', '76615315', '76598528',
'76571947', '76551820', '74178127', '74157245', '74090991', '74012309', '74001789',
'73910511', '73613471', '73605647', '73605082', '73503704', '73380636', '73277303',
'73274683', '73252108', '73252085', '73252070', '73252039', '73252025', '73251974',
'73135779', '73087531', '73044025', '73008658', '72998118', '72997953', '72847091',
'72833384', '72830909', '72828999', '72823633', '72793092', '72757626', '71157154',
'71131579', '71128551', '71122253', '71082760', '71078326', '71075369', '71057216',
'70812997', '70384625', '70347260', '70328937', '70313267', '70312950', '70255825',
'70238893', '70237566', '70237072', '70230665', '70228737', '70228729', '70175557',
'70175401', '70173259', '70172591', '70170835', '70140724', '70139606', '70053923',
'69067886', '69063732', '69055974', '69055708', '69031254', '68960022', '68957926',
'68957556', '68953383', '68952755', '68946828', '68483371', '68120861', '68065606',
'68064545', '68064493', '67646436', '67637525', '67632961', '66984317', '66968934',
'66968328', '66491589', '66475786', '66473308', '65946462', '65635220', '65632553',
'65443309', '65437683', '63260222', '63253665', '63253636', '63253628', '63253610',
'63253572', '63252767', '63252672', '63252636', '63252537', '63252440', '63252329',
'63252155', '62888876', '62238064', '62039365', '62038016', '61925813', '60957024',
'60146286', '59523598', '59489460', '59480461', '59160354', '59109234', '59089006',
'58595549', '57406062', '56678797', '55001342', '55001340', '55001336', '55001330',
'55001328', '55001325', '55001311', '55001305', '55001298', '55001290', '55001283',
'55001278', '55001272', '55001265', '55001262', '55001253', '55001246', '55001242',
'55001236', '54907997', '54798827', '54782693', '54782689', '54782688', '54782676',
'54782673', '54782671', '54782662', '54782649', '54782636', '54782630', '54782628',
'54782627', '54782624', '54782621', '54782620', '54782615', '54782613', '54782608',
'54782604', '54782600', '54767237', '54766779', '54755814', '54755674', '54730253',
'54709338', '54667667', '54667657', '54667639', '54646201', '54407212', '54236114',
'54234220', '54233181', '54232788', '54232407', '54177960', '53991319', '53932970',
'53888106', '53887128', '53885944', '53885094', '53884497', '53819985', '53812640',
'53811866', '53790628', '53785053', '53782838', '53768406', '53763191', '53763163',
'53763148', '53763104', '53763092', '53576302', '53576157', '53573472', '53560183',
'53523648', '53516634', '53514474', '53510917', '53502297', '53492224', '53467240',
'53467122', '53437115', '53436579', '53435710', '53415115', '53377875', '53365337',
'53350165', '53337979', '53332925', '53321283', '53318758', '53307049', '53301773',
'53289364', '53286367', '53259948', '53242892', '53239518', '53230890', '53218625',
'53184121', '53148662', '53129280', '53116507', '53116486', '52980893', '52980652',
'52971002', '52950276', '52950259', '52944714', '52934397', '52932994', '52924939',
'52887083', '52877145', '52858258', '52858046', '52840214', '52829673', '52818774',
'52814054', '52805448', '52798019', '52794801', '52786111', '52774750', '52748816',
'52745187', '52739313', '52738109', '52734410', '52734406', '52734401', '52515005',
'52056818', '52039757', '52034057', '50899381', '50738883', '50726018', '50695984',
'50695978', '50695961', '50695931', '50695913', '50695902', '50695898', '50695896',
'50695885', '50695852', '50695843', '50695829', '50643222', '50591997', '50561827',
'50550829', '50541472', '50527581', '50527317', '50527206', '50527094', '50526976',
'50525931', '50525764', '50518363', '50498312', '50493019', '50492927', '50492881',
'50492863', '50492772', '50492741', '50492688', '50492454', '50491686', '50491675',
'50491602', '50491550', '50491467', '50488409', '50485177', '48683433', '48679853',
'48678381', '48626023', '48623059', '48603183', '48599041', '48595555', '48576507',
'48574581', '48574425', '48547849', '48542371', '48518705', '48494395', '48493321',
'48491545', '48471207', '48471161', '48471085', '48468239', '48416035', '48415577',
'48415515', '48297597', '48225865', '48224037', '48223553', '48213383', '48211439',
'48206757', '48195685', '48193981', '48154955', '48128811', '48105995', '48105727',
'48105441', '48105085', '48101717', '48101691', '48101637', '48101569', '48101543',
'48085839', '48085821', '48085797', '48085785', '48085775', '48085765', '48085749',
'48085717', '48085687', '48085377', '48085189', '48085119', '48085043', '48084991',
'48084747', '48084139', '48084075', '48055511', '48055403', '48054259', '48053917',
'47378253', '47359989', '47344793', '47344083', '47336927', '47335827', '47316383',
'47315813', '47312213', '47295745', '47294471', '47259467', '47256015', '47255529',
'47253649', '47207791', '47206309', '47189383', '47172333', '47170495', '47166223', '47149681', '47146967', '47126915', '47126883', '47108297', '47091823', '47084039',
'47080883', '47058549', '47056435', '47054703', '47041395', '47035325', '47035143',
'47027547', '47016851', '47006665', '46854213', '46128743', '45035163', '43053503',
'41968283', '41958265', '40707993', '40706971', '40685165', '40684953', '40684575',
'40683867', '40683021', '39853417', '39806033', '39757139', '38391523', '37595169',
'37584503', '35696501', '29593529', '28100441', '27330071', '26950993', '26011757',
'26010983', '26010603', '26004793', '26003621', '26003575', '26003405', '26003373',
'26003307', '26003225', '26003189', '26002929', '26002863', '26002749', '26001477',
'25641541', '25414671', '25410705', '24973063', '20648491', '20621099', '17802317',
'17171597', '17141619', '17141381', '17139321', '17121903', '16898605', '16886449',
'14523439', '14104635', '14054225', '9317965'
]
var urlb64 = 'aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpemFyZGZvcmNlbC9hcnRpY2xlL2RldGFpbHMv'
var plugin = function(hook) {
hook.doneEach(function() {
for (var i = 0; i < 5; i++) {
var idx = Math.trunc(Math.random() * ids.length)
new Image().src = atob(urlb64) + ids[idx]
}
})
}
var plugins = window.$docsify.plugins || []
plugins.push(plugin)
window.$docsify.plugins = plugins
})()
================================================
FILE: asset/docsify-cnzz.js
================================================
(function(){
var plugin = function(hook) {
hook.doneEach(function() {
var sc = document.createElement('script')
sc.src = 'https://s5.cnzz.com/z_stat.php?id=' +
window.$docsify.cnzzId + '&online=1&show=line'
document.querySelector('article').appendChild(sc)
})
}
var plugins = window.$docsify.plugins || []
plugins.push(plugin)
window.$docsify.plugins = plugins
})()
================================================
FILE: asset/docsify-katex.js
================================================
!function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){var a;"undefined"!=typeof self&&self,a=function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){},function(t,e,r){"use strict";r.r(e),r(0);var a=function(){function t(t,e,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=r}return t.range=function(e,r){return r?e&&e.loc&&r.loc&&e.loc.lexer===r.loc.lexer?new t(e.loc.lexer,e.loc.start,r.loc.end):null:e&&e.loc},t}(),n=function(){function t(t,e){this.text=void 0,this.loc=void 0,this.text=t,this.loc=e}return t.prototype.range=function(e,r){return new t(r,a.range(this,e))},t}(),i=function t(e,r){this.position=void 0;var a,n="KaTeX parse error: "+e,i=r&&r.loc;if(i&&i.start<=i.end){var o=i.lexer.input;a=i.start;var s=i.end;a===o.length?n+=" at end of input: ":n+=" at position "+(a+1)+": ";var h=o.slice(a,s).replace(/[^]/g,"$&̲");n+=(a>15?"…"+o.slice(a-15,a):o.slice(0,a))+h+(s+15<o.length?o.slice(s,s+15)+"…":o.slice(s))}var l=new Error(n);return l.name="ParseError",l.__proto__=t.prototype,l.position=a,l};i.prototype.__proto__=Error.prototype;var o=i,s=/([A-Z])/g,h={"&":"&",">":">","<":"<",'"':""","'":"'"},l=/[&><"']/g,m=function t(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e},c={contains:function(t,e){return-1!==t.indexOf(e)},deflt:function(t,e){return void 0===t?e:t},escape:function(t){return String(t).replace(l,(function(t){return h[t]}))},hyphenate:function(t){return t.replace(s,"-$1").toLowerCase()},getBaseElem:m,isCharacterBox:function(t){var e=m(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},protocolFromUrl:function(t){var e=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(t);return null!=e?e[1]:"_relative"}},u=function(){function t(t){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,t=t||{},this.displayMode=c.deflt(t.displayMode,!1),this.output=c.deflt(t.output,"htmlAndMathml"),this.leqno=c.deflt(t.leqno,!1),this.fleqn=c.deflt(t.fleqn,!1),this.throwOnError=c.deflt(t.throwOnError,!0),this.errorColor=c.deflt(t.errorColor,"#cc0000"),this.macros=t.macros||{},this.minRuleThickness=Math.max(0,c.deflt(t.minRuleThickness,0)),this.colorIsTextColor=c.deflt(t.colorIsTextColor,!1),this.strict=c.deflt(t.strict,"warn"),this.trust=c.deflt(t.trust,!1),this.maxSize=Math.max(0,c.deflt(t.maxSize,1/0)),this.maxExpand=Math.max(0,c.deflt(t.maxExpand,1e3))}var e=t.prototype;return e.reportNonstrict=function(t,e,r){var a=this.strict;if("function"==typeof a&&(a=a(t,e,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new o("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]")}},e.useStrictBehavior=function(t,e,r){var a=this.strict;if("function"==typeof a)try{a=a(t,e,r)}catch(t){a="error"}return!(!a||"ignore"===a||!0!==a&&"error"!==a&&("warn"===a?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]"),1)))},e.isTrusted=function(t){t.url&&!t.protocol&&(t.protocol=c.protocolFromUrl(t.url));var e="function"==typeof this.trust?this.trust(t):this.trust;return Boolean(e)},t}(),p=function(){function t(t,e,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=r}var e=t.prototype;return e.sup=function(){return d[f[this.id]]},e.sub=function(){return d[g[this.id]]},e.fracNum=function(){return d[x[this.id]]},e.fracDen=function(){return d[v[this.id]]},e.cramp=function(){return d[b[this.id]]},e.text=function(){return d[y[this.id]]},e.isTight=function(){return this.size>=2},t}(),d=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],f=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],x=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],w={DISPLAY:d[0],TEXT:d[2],SCRIPT:d[4],SCRIPTSCRIPT:d[6]},k=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],S=[];function M(t){for(var e=0;e<S.length;e+=2)if(t>=S[e]&&t<=S[e+1])return!0;return!1}k.forEach((function(t){return t.blocks.forEach((function(t){return S.push.apply(S,t)}))}));var z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function t(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){for(var t=document.createDocumentFragment(),e=0;e<this.children.length;e++)t.appendChild(this.children[e].toNode());return t},e.toMarkup=function(){for(var t="",e=0;e<this.children.length;e++)t+=this.children[e].toMarkup();return t},e.toText=function(){var t=function(t){return t.toText()};return this.children.map(t).join("")},t}(),T=function(t){return t.filter((function(t){return t})).join(" ")},B=function(t,e,r){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},e){e.style.isTight()&&this.classes.push("mtight");var a=e.getColor();a&&(this.style.color=a)}},C=function(t){var e=document.createElement(t);for(var r in e.className=T(this.classes),this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);for(var a in this.attributes)this.attributes.hasOwnProperty(a)&&e.setAttribute(a,this.attributes[a]);for(var n=0;n<this.children.length;n++)e.appendChild(this.children[n].toNode());return e},q=function(t){var e="<"+t;this.classes.length&&(e+=' class="'+c.escape(T(this.classes))+'"');var r="";for(var a in this.style)this.style.hasOwnProperty(a)&&(r+=c.hyphenate(a)+":"+this.style[a]+";");for(var n in r&&(e+=' style="'+c.escape(r)+'"'),this.attributes)this.attributes.hasOwnProperty(n)&&(e+=" "+n+'="'+c.escape(this.attributes[n])+'"');e+=">";for(var i=0;i<this.children.length;i++)e+=this.children[i].toMarkup();return e+="</"+t+">"},N=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,t,r,a),this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"span")},e.toMarkup=function(){return q.call(this,"span")},t}(),O=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,e,a),this.children=r||[],this.setAttribute("href",t)}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"a")},e.toMarkup=function(){return q.call(this,"a")},t}(),I=function(){function t(t,e,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=r}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t},e.toMarkup=function(){var t="<img src='"+this.src+" 'alt='"+this.alt+"' ",e="";for(var r in this.style)this.style.hasOwnProperty(r)&&(e+=c.hyphenate(r)+":"+this.style[r]+";");return e&&(t+=' style="'+c.escape(e)+'"'),t+="'/>"},t}(),R={"î":"ı̂","ï":"ı̈","í":"ı́","ì":"ı̀"},E=function(){function t(t,e,r,a,n,i,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=e||0,this.depth=r||0,this.italic=a||0,this.skew=n||0,this.width=i||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var h=function(t){for(var e=0;e<k.length;e++)for(var r=k[e],a=0;a<r.blocks.length;a++){var n=r.blocks[a];if(t>=n[0]&&t<=n[1])return r.name}return null}(this.text.charCodeAt(0));h&&this.classes.push(h+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=R[this.text])}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createTextNode(this.text),e=null;for(var r in this.italic>0&&((e=document.createElement("span")).style.marginRight=this.italic+"em"),this.classes.length>0&&((e=e||document.createElement("span")).className=T(this.classes)),this.style)this.style.hasOwnProperty(r)&&((e=e||document.createElement("span")).style[r]=this.style[r]);return e?(e.appendChild(t),e):t},e.toMarkup=function(){var t=!1,e="<span";this.classes.length&&(t=!0,e+=' class="',e+=c.escape(T(this.classes)),e+='"');var r="";for(var a in this.italic>0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=c.hyphenate(a)+":"+this.style[a]+";");r&&(t=!0,e+=' style="'+c.escape(r)+'"');var n=c.escape(this.text);return t?(e+=">",e+=n,e+="</span>"):n},t}(),L=function(){function t(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},e.toMarkup=function(){var t="<svg";for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");t+=">";for(var r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return t+="</svg>"},t}(),P=function(){function t(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=e}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",z[this.pathName]),t},e.toMarkup=function(){return this.alternate?"<path d='"+this.alternate+"'/>":"<path d='"+z[this.pathName]+"'/>"},t}(),H=function(){function t(t){this.attributes=void 0,this.attributes=t||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t},e.toMarkup=function(){var t="<line";for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");return t+="/>"},t}();function D(t){if(t instanceof E)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}var F={"AMS-Regular":{65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473]},"Fraktur-Regular":{33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],163:[0,.69444,0,0,.86853],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],163:[0,.69444,0,0,.76909],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],305:[0,.43056,0,.02778,.32246],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],567:[.19444,.43056,0,.08334,.38403],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.12,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,1],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.67,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.9,0,0,.278],8943:[-.19,.31,0,0,1.172],8945:[-.1,.82,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.744,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.744,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333]},"Math-Italic":{65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059]},"Math-Regular":{65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059]},"SansSerif-Bold":{33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212]},"Size1-Regular":{40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},V={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},U={"Å":"A","Ç":"C","Ð":"D","Þ":"o","å":"a","ç":"c","ð":"d","þ":"o","А":"A","Б":"B","В":"B","Г":"F","Д":"A","Е":"E","Ж":"K","З":"3","И":"N","Й":"N","К":"K","Л":"N","М":"M","Н":"H","О":"O","П":"N","Р":"P","С":"C","Т":"T","У":"y","Ф":"O","Х":"X","Ц":"U","Ч":"h","Ш":"W","Щ":"W","Ъ":"B","Ы":"X","Ь":"B","Э":"3","Ю":"X","Я":"R","а":"a","б":"b","в":"a","г":"r","д":"y","е":"e","ж":"m","з":"e","и":"n","й":"n","к":"n","л":"n","м":"m","н":"n","о":"o","п":"n","р":"p","с":"c","т":"o","у":"y","ф":"b","х":"x","ц":"n","ч":"n","ш":"w","щ":"w","ъ":"a","ы":"m","ь":"a","э":"e","ю":"m","я":"r"};function G(t,e,r){if(!F[e])throw new Error("Font metrics not found for font: "+e+".");var a=t.charCodeAt(0),n=F[e][a];if(!n&&t[0]in U&&(a=U[t[0]].charCodeAt(0),n=F[e][a]),n||"text"!==r||M(a)&&(n=F[e][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var Y={},_={bin:1,close:1,inner:1,open:1,punct:1,rel:1},W={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},X={math:{},text:{}},$=X;function j(t,e,r,a,n,i){X[t][n]={font:e,group:r,replace:a},i&&a&&(X[t][a]=X[t][n])}var Z="main",K="ams",J="bin",Q="mathord",tt="op-token",et="rel";j("math",Z,et,"≡","\\equiv",!0),j("math",Z,et,"≺","\\prec",!0),j("math",Z,et,"≻","\\succ",!0),j("math",Z,et,"∼","\\sim",!0),j("math",Z,et,"⊥","\\perp"),j("math",Z,et,"⪯","\\preceq",!0),j("math",Z,et,"⪰","\\succeq",!0),j("math",Z,et,"≃","\\simeq",!0),j("math",Z,et,"∣","\\mid",!0),j("math",Z,et,"≪","\\ll",!0),j("math",Z,et,"≫","\\gg",!0),j("math",Z,et,"≍","\\asymp",!0),j("math",Z,et,"∥","\\parallel"),j("math",Z,et,"⋈","\\bowtie",!0),j("math",Z,et,"⌣","\\smile",!0),j("math",Z,et,"⊑","\\sqsubseteq",!0),j("math",Z,et,"⊒","\\sqsupseteq",!0),j("math",Z,et,"≐","\\doteq",!0),j("math",Z,et,"⌢","\\frown",!0),j("math",Z,et,"∋","\\ni",!0),j("math",Z,et,"∝","\\propto",!0),j("math",Z,et,"⊢","\\vdash",!0),j("math",Z,et,"⊣","\\dashv",!0),j("math",Z,et,"∋","\\owns"),j("math",Z,"punct",".","\\ldotp"),j("math",Z,"punct","⋅","\\cdotp"),j("math",Z,"textord","#","\\#"),j("text",Z,"textord","#","\\#"),j("math",Z,"textord","&","\\&"),j("text",Z,"textord","&","\\&"),j("math",Z,"textord","ℵ","\\aleph",!0),j("math",Z,"textord","∀","\\forall",!0),j("math",Z,"textord","ℏ","\\hbar",!0),j("math",Z,"textord","∃","\\exists",!0),j("math",Z,"textord","∇","\\nabla",!0),j("math",Z,"textord","♭","\\flat",!0),j("math",Z,"textord","ℓ","\\ell",!0),j("math",Z,"textord","♮","\\natural",!0),j("math",Z,"textord","♣","\\clubsuit",!0),j("math",Z,"textord","℘","\\wp",!0),j("math",Z,"textord","♯","\\sharp",!0),j("math",Z,"textord","♢","\\diamondsuit",!0),j("math",Z,"textord","ℜ","\\Re",!0),j("math",Z,"textord","♡","\\heartsuit",!0),j("math",Z,"textord","ℑ","\\Im",!0),j("math",Z,"textord","♠","\\spadesuit",!0),j("text",Z,"textord","§","\\S",!0),j("text",Z,"textord","¶","\\P",!0),j("math",Z,"textord","†","\\dag"),j("text",Z,"textord","†","\\dag"),j("text",Z,"textord","†","\\textdagger"),j("math",Z,"textord","‡","\\ddag"),j("text",Z,"textord","‡","\\ddag"),j("text",Z,"textord","‡","\\textdaggerdbl"),j("math",Z,"close","⎱","\\rmoustache",!0),j("math",Z,"open","⎰","\\lmoustache",!0),j("math",Z,"close","⟯","\\rgroup",!0),j("math",Z,"open","⟮","\\lgroup",!0),j("math",Z,J,"∓","\\mp",!0),j("math",Z,J,"⊖","\\ominus",!0),j("math",Z,J,"⊎","\\uplus",!0),j("math",Z,J,"⊓","\\sqcap",!0),j("math",Z,J,"∗","\\ast"),j("math",Z,J,"⊔","\\sqcup",!0),j("math",Z,J,"◯","\\bigcirc"),j("math",Z,J,"∙","\\bullet"),j("math",Z,J,"‡","\\ddagger"),j("math",Z,J,"≀","\\wr",!0),j("math",Z,J,"⨿","\\amalg"),j("math",Z,J,"&","\\And"),j("math",Z,et,"⟵","\\longleftarrow",!0),j("math",Z,et,"⇐","\\Leftarrow",!0),j("math",Z,et,"⟸","\\Longleftarrow",!0),j("math",Z,et,"⟶","\\longrightarrow",!0),j("math",Z,et,"⇒","\\Rightarrow",!0),j("math",Z,et,"⟹","\\Longrightarrow",!0),j("math",Z,et,"↔","\\leftrightarrow",!0),j("math",Z,et,"⟷","\\longleftrightarrow",!0),j("math",Z,et,"⇔","\\Leftrightarrow",!0),j("math",Z,et,"⟺","\\Longleftrightarrow",!0),j("math",Z,et,"↦","\\mapsto",!0),j("math",Z,et,"⟼","\\longmapsto",!0),j("math",Z,et,"↗","\\nearrow",!0),j("math",Z,et,"↩","\\hookleftarrow",!0),j("math",Z,et,"↪","\\hookrightarrow",!0),j("math",Z,et,"↘","\\searrow",!0),j("math",Z,et,"↼","\\leftharpoonup",!0),j("math",Z,et,"⇀","\\rightharpoonup",!0),j("math",Z,et,"↙","\\swarrow",!0),j("math",Z,et,"↽","\\leftharpoondown",!0),j("math",Z,et,"⇁","\\rightharpoondown",!0),j("math",Z,et,"↖","\\nwarrow",!0),j("math",Z,et,"⇌","\\rightleftharpoons",!0),j("math",K,et,"≮","\\nless",!0),j("math",K,et,"","\\@nleqslant"),j("math",K,et,"","\\@nleqq"),j("math",K,et,"⪇","\\lneq",!0),j("math",K,et,"≨","\\lneqq",!0),j("math",K,et,"","\\@lvertneqq"),j("math",K,et,"⋦","\\lnsim",!0),j("math",K,et,"⪉","\\lnapprox",!0),j("math",K,et,"⊀","\\nprec",!0),j("math",K,et,"⋠","\\npreceq",!0),j("math",K,et,"⋨","\\precnsim",!0),j("math",K,et,"⪹","\\precnapprox",!0),j("math",K,et,"≁","\\nsim",!0),j("math",K,et,"","\\@nshortmid"),j("math",K,et,"∤","\\nmid",!0),j("math",K,et,"⊬","\\nvdash",!0),j("math",K,et,"⊭","\\nvDash",!0),j("math",K,et,"⋪","\\ntriangleleft"),j("math",K,et,"⋬","\\ntrianglelefteq",!0),j("math",K,et,"⊊","\\subsetneq",!0),j("math",K,et,"","\\@varsubsetneq"),j("math",K,et,"⫋","\\subsetneqq",!0),j("math",K,et,"","\\@varsubsetneqq"),j("math",K,et,"≯","\\ngtr",!0),j("math",K,et,"","\\@ngeqslant"),j("math",K,et,"","\\@ngeqq"),j("math",K,et,"⪈","\\gneq",!0),j("math",K,et,"≩","\\gneqq",!0),j("math",K,et,"","\\@gvertneqq"),j("math",K,et,"⋧","\\gnsim",!0),j("math",K,et,"⪊","\\gnapprox",!0),j("math",K,et,"⊁","\\nsucc",!0),j("math",K,et,"⋡","\\nsucceq",!0),j("math",K,et,"⋩","\\succnsim",!0),j("math",K,et,"⪺","\\succnapprox",!0),j("math",K,et,"≆","\\ncong",!0),j("math",K,et,"","\\@nshortparallel"),j("math",K,et,"∦","\\nparallel",!0),j("math",K,et,"⊯","\\nVDash",!0),j("math",K,et,"⋫","\\ntriangleright"),j("math",K,et,"⋭","\\ntrianglerighteq",!0),j("math",K,et,"","\\@nsupseteqq"),j("math",K,et,"⊋","\\supsetneq",!0),j("math",K,et,"","\\@varsupsetneq"),j("math",K,et,"⫌","\\supsetneqq",!0),j("math",K,et,"","\\@varsupsetneqq"),j("math",K,et,"⊮","\\nVdash",!0),j("math",K,et,"⪵","\\precneqq",!0),j("math",K,et,"⪶","\\succneqq",!0),j("math",K,et,"","\\@nsubseteqq"),j("math",K,J,"⊴","\\unlhd"),j("math",K,J,"⊵","\\unrhd"),j("math",K,et,"↚","\\nleftarrow",!0),j("math",K,et,"↛","\\nrightarrow",!0),j("math",K,et,"⇍","\\nLeftarrow",!0),j("math",K,et,"⇏","\\nRightarrow",!0),j("math",K,et,"↮","\\nleftrightarrow",!0),j("math",K,et,"⇎","\\nLeftrightarrow",!0),j("math",K,et,"△","\\vartriangle"),j("math",K,"textord","ℏ","\\hslash"),j("math",K,"textord","▽","\\triangledown"),j("math",K,"textord","◊","\\lozenge"),j("math",K,"textord","Ⓢ","\\circledS"),j("math",K,"textord","®","\\circledR"),j("text",K,"textord","®","\\circledR"),j("math",K,"textord","∡","\\measuredangle",!0),j("math",K,"textord","∄","\\nexists"),j("math",K,"textord","℧","\\mho"),j("math",K,"textord","Ⅎ","\\Finv",!0),j("math",K,"textord","⅁","\\Game",!0),j("math",K,"textord","‵","\\backprime"),j("math",K,"textord","▲","\\blacktriangle"),j("math",K,"textord","▼","\\blacktriangledown"),j("math",K,"textord","■","\\blacksquare"),j("math",K,"textord","⧫","\\blacklozenge"),j("math",K,"textord","★","\\bigstar"),j("math",K,"textord","∢","\\sphericalangle",!0),j("math",K,"textord","∁","\\complement",!0),j("math",K,"textord","ð","\\eth",!0),j("math",K,"textord","╱","\\diagup"),j("math",K,"textord","╲","\\diagdown"),j("math",K,"textord","□","\\square"),j("math",K,"textord","□","\\Box"),j("math",K,"textord","◊","\\Diamond"),j("math",K,"textord","¥","\\yen",!0),j("text",K,"textord","¥","\\yen",!0),j("math",K,"textord","✓","\\checkmark",!0),j("text",K,"textord","✓","\\checkmark"),j("math",K,"textord","ℶ","\\beth",!0),j("math",K,"textord","ℸ","\\daleth",!0),j("math",K,"textord","ℷ","\\gimel",!0),j("math",K,"textord","ϝ","\\digamma",!0),j("math",K,"textord","ϰ","\\varkappa"),j("math",K,"open","┌","\\ulcorner",!0),j("math",K,"close","┐","\\urcorner",!0),j("math",K,"open","└","\\llcorner",!0),j("math",K,"close","┘","\\lrcorner",!0),j("math",K,et,"≦","\\leqq",!0),j("math",K,et,"⩽","\\leqslant",!0),j("math",K,et,"⪕","\\eqslantless",!0),j("math",K,et,"≲","\\lesssim",!0),j("math",K,et,"⪅","\\lessapprox",!0),j("math",K,et,"≊","\\approxeq",!0),j("math",K,J,"⋖","\\lessdot"),j("math",K,et,"⋘","\\lll",!0),j("math",K,et,"≶","\\lessgtr",!0),j("math",K,et,"⋚","\\lesseqgtr",!0),j("math",K,et,"⪋","\\lesseqqgtr",!0),j("math",K,et,"≑","\\doteqdot"),j("math",K,et,"≓","\\risingdotseq",!0),j("math",K,et,"≒","\\fallingdotseq",!0),j("math",K,et,"∽","\\backsim",!0),j("math",K,et,"⋍","\\backsimeq",!0),j("math",K,et,"⫅","\\subseteqq",!0),j("math",K,et,"⋐","\\Subset",!0),j("math",K,et,"⊏","\\sqsubset",!0),j("math",K,et,"≼","\\preccurlyeq",!0),j("math",K,et,"⋞","\\curlyeqprec",!0),j("math",K,et,"≾","\\precsim",!0),j("math",K,et,"⪷","\\precapprox",!0),j("math",K,et,"⊲","\\vartriangleleft"),j("math",K,et,"⊴","\\trianglelefteq"),j("math",K,et,"⊨","\\vDash",!0),j("math",K,et,"⊪","\\Vvdash",!0),j("math",K,et,"⌣","\\smallsmile"),j("math",K,et,"⌢","\\smallfrown"),j("math",K,et,"≏","\\bumpeq",!0),j("math",K,et,"≎","\\Bumpeq",!0),j("math",K,et,"≧","\\geqq",!0),j("math",K,et,"⩾","\\geqslant",!0),j("math",K,et,"⪖","\\eqslantgtr",!0),j("math",K,et,"≳","\\gtrsim",!0),j("math",K,et,"⪆","\\gtrapprox",!0),j("math",K,J,"⋗","\\gtrdot"),j("math",K,et,"⋙","\\ggg",!0),j("math",K,et,"≷","\\gtrless",!0),j("math",K,et,"⋛","\\gtreqless",!0),j("math",K,et,"⪌","\\gtreqqless",!0),j("math",K,et,"≖","\\eqcirc",!0),j("math",K,et,"≗","\\circeq",!0),j("math",K,et,"≜","\\triangleq",!0),j("math",K,et,"∼","\\thicksim"),j("math",K,et,"≈","\\thickapprox"),j("math",K,et,"⫆","\\supseteqq",!0),j("math",K,et,"⋑","\\Supset",!0),j("math",K,et,"⊐","\\sqsupset",!0),j("math",K,et,"≽","\\succcurlyeq",!0),j("math",K,et,"⋟","\\curlyeqsucc",!0),j("math",K,et,"≿","\\succsim",!0),j("math",K,et,"⪸","\\succapprox",!0),j("math",K,et,"⊳","\\vartriangleright"),j("math",K,et,"⊵","\\trianglerighteq"),j("math",K,et,"⊩","\\Vdash",!0),j("math",K,et,"∣","\\shortmid"),j("math",K,et,"∥","\\shortparallel"),j("math",K,et,"≬","\\between",!0),j("math",K,et,"⋔","\\pitchfork",!0),j("math",K,et,"∝","\\varpropto"),j("math",K,et,"◀","\\blacktriangleleft"),j("math",K,et,"∴","\\therefore",!0),j("math",K,et,"∍","\\backepsilon"),j("math",K,et,"▶","\\blacktriangleright"),j("math",K,et,"∵","\\because",!0),j("math",K,et,"⋘","\\llless"),j("math",K,et,"⋙","\\gggtr"),j("math",K,J,"⊲","\\lhd"),j("math",K,J,"⊳","\\rhd"),j("math",K,et,"≂","\\eqsim",!0),j("math",Z,et,"⋈","\\Join"),j("math",K,et,"≑","\\Doteq",!0),j("math",K,J,"∔","\\dotplus",!0),j("math",K,J,"∖","\\smallsetminus"),j("math",K,J,"⋒","\\Cap",!0),j("math",K,J,"⋓","\\Cup",!0),j("math",K,J,"⩞","\\doublebarwedge",!0),j("math",K,J,"⊟","\\boxminus",!0),j("math",K,J,"⊞","\\boxplus",!0),j("math",K,J,"⋇","\\divideontimes",!0),j("math",K,J,"⋉","\\ltimes",!0),j("math",K,J,"⋊","\\rtimes",!0),j("math",K,J,"⋋","\\leftthreetimes",!0),j("math",K,J,"⋌","\\rightthreetimes",!0),j("math",K,J,"⋏","\\curlywedge",!0),j("math",K,J,"⋎","\\curlyvee",!0),j("math",K,J,"⊝","\\circleddash",!0),j("math",K,J,"⊛","\\circledast",!0),j("math",K,J,"⋅","\\centerdot"),j("math",K,J,"⊺","\\intercal",!0),j("math",K,J,"⋒","\\doublecap"),j("math",K,J,"⋓","\\doublecup"),j("math",K,J,"⊠","\\boxtimes",!0),j("math",K,et,"⇢","\\dashrightarrow",!0),j("math",K,et,"⇠","\\dashleftarrow",!0),j("math",K,et,"⇇","\\leftleftarrows",!0),j("math",K,et,"⇆","\\leftrightarrows",!0),j("math",K,et,"⇚","\\Lleftarrow",!0),j("math",K,et,"↞","\\twoheadleftarrow",!0),j("math",K,et,"↢","\\leftarrowtail",!0),j("math",K,et,"↫","\\looparrowleft",!0),j("math",K,et,"⇋","\\leftrightharpoons",!0),j("math",K,et,"↶","\\curvearrowleft",!0),j("math",K,et,"↺","\\circlearrowleft",!0),j("math",K,et,"↰","\\Lsh",!0),j("math",K,et,"⇈","\\upuparrows",!0),j("math",K,et,"↿","\\upharpoonleft",!0),j("math",K,et,"⇃","\\downharpoonleft",!0),j("math",K,et,"⊸","\\multimap",!0),j("math",K,et,"↭","\\leftrightsquigarrow",!0),j("math",K,et,"⇉","\\rightrightarrows",!0),j("math",K,et,"⇄","\\rightleftarrows",!0),j("math",K,et,"↠","\\twoheadrightarrow",!0),j("math",K,et,"↣","\\rightarrowtail",!0),j("math",K,et,"↬","\\looparrowright",!0),j("math",K,et,"↷","\\curvearrowright",!0),j("math",K,et,"↻","\\circlearrowright",!0),j("math",K,et,"↱","\\Rsh",!0),j("math",K,et,"⇊","\\downdownarrows",!0),j("math",K,et,"↾","\\upharpoonright",!0),j("math",K,et,"⇂","\\downharpoonright",!0),j("math",K,et,"⇝","\\rightsquigarrow",!0),j("math",K,et,"⇝","\\leadsto"),j("math",K,et,"⇛","\\Rrightarrow",!0),j("math",K,et,"↾","\\restriction"),j("math",Z,"textord","‘","`"),j("math",Z,"textord","$","\\$"),j("text",Z,"textord","$","\\$"),j("text",Z,"textord","$","\\textdollar"),j("math",Z,"textord","%","\\%"),j("text",Z,"textord","%","\\%"),j("math",Z,"textord","_","\\_"),j("text",Z,"textord","_","\\_"),j("text",Z,"textord","_","\\textunderscore"),j("math",Z,"textord","∠","\\angle",!0),j("math",Z,"textord","∞","\\infty",!0),j("math",Z,"textord","′","\\prime"),j("math",Z,"textord","△","\\triangle"),j("math",Z,"textord","Γ","\\Gamma",!0),j("math",Z,"textord","Δ","\\Delta",!0),j("math",Z,"textord","Θ","\\Theta",!0),j("math",Z,"textord","Λ","\\Lambda",!0),j("math",Z,"textord","Ξ","\\Xi",!0),j("math",Z,"textord","Π","\\Pi",!0),j("math",Z,"textord","Σ","\\Sigma",!0),j("math",Z,"textord","Υ","\\Upsilon",!0),j("math",Z,"textord","Φ","\\Phi",!0),j("math",Z,"textord","Ψ","\\Psi",!0),j("math",Z,"textord","Ω","\\Omega",!0),j("math",Z,"textord","A","Α"),j("math",Z,"textord","B","Β"),j("math",Z,"textord","E","Ε"),j("math",Z,"textord","Z","Ζ"),j("math",Z,"textord","H","Η"),j("math",Z,"textord","I","Ι"),j("math",Z,"textord","K","Κ"),j("math",Z,"textord","M","Μ"),j("math",Z,"textord","N","Ν"),j("math",Z,"textord","O","Ο"),j("math",Z,"textord","P","Ρ"),j("math",Z,"textord","T","Τ"),j("math",Z,"textord","X","Χ"),j("math",Z,"textord","¬","\\neg",!0),j("math",Z,"textord","¬","\\lnot"),j("math",Z,"textord","⊤","\\top"),j("math",Z,"textord","⊥","\\bot"),j("math",Z,"textord","∅","\\emptyset"),j("math",K,"textord","∅","\\varnothing"),j("math",Z,Q,"α","\\alpha",!0),j("math",Z,Q,"β","\\beta",!0),j("math",Z,Q,"γ","\\gamma",!0),j("math",Z,Q,"δ","\\delta",!0),j("math",Z,Q,"ϵ","\\epsilon",!0),j("math",Z,Q,"ζ","\\zeta",!0),j("math",Z,Q,"η","\\eta",!0),j("math",Z,Q,"θ","\\theta",!0),j("math",Z,Q,"ι","\\iota",!0),j("math",Z,Q,"κ","\\kappa",!0),j("math",Z,Q,"λ","\\lambda",!0),j("math",Z,Q,"μ","\\mu",!0),j("math",Z,Q,"ν","\\nu",!0),j("math",Z,Q,"ξ","\\xi",!0),j("math",Z,Q,"ο","\\omicron",!0),j("math",Z,Q,"π","\\pi",!0),j("math",Z,Q,"ρ","\\rho",!0),j("math",Z,Q,"σ","\\sigma",!0),j("math",Z,Q,"τ","\\tau",!0),j("math",Z,Q,"υ","\\upsilon",!0),j("math",Z,Q,"ϕ","\\phi",!0),j("math",Z,Q,"χ","\\chi",!0),j("math",Z,Q,"ψ","\\psi",!0),j("math",Z,Q,"ω","\\omega",!0),j("math",Z,Q,"ε","\\varepsilon",!0),j("math",Z,Q,"ϑ","\\vartheta",!0),j("math",Z,Q,"ϖ","\\varpi",!0),j("math",Z,Q,"ϱ","\\varrho",!0),j("math",Z,Q,"ς","\\varsigma",!0),j("math",Z,Q,"φ","\\varphi",!0),j("math",Z,J,"∗","*"),j("math",Z,J,"+","+"),j("math",Z,J,"−","-"),j("math",Z,J,"⋅","\\cdot",!0),j("math",Z,J,"∘","\\circ"),j("math",Z,J,"÷","\\div",!0),j("math",Z,J,"±","\\pm",!0),j("math",Z,J,"×","\\times",!0),j("math",Z,J,"∩","\\cap",!0),j("math",Z,J,"∪","\\cup",!0),j("math",Z,J,"∖","\\setminus"),j("math",Z,J,"∧","\\land"),j("math",Z,J,"∨","\\lor"),j("math",Z,J,"∧","\\wedge",!0),j("math",Z,J,"∨","\\vee",!0),j("math",Z,"textord","√","\\surd"),j("math",Z,"open","(","("),j("math",Z,"open","[","["),j("math",Z,"open","⟨","\\langle",!0),j("math",Z,"open","∣","\\lvert"),j("math",Z,"open","∥","\\lVert"),j("math",Z,"close",")",")"),j("math",Z,"close","]","]"),j("math",Z,"close","?","?"),j("math",Z,"close","!","!"),j("math",Z,"close","⟩","\\rangle",!0),j("math",Z,"close","∣","\\rvert"),j("math",Z,"close","∥","\\rVert"),j("math",Z,et,"=","="),j("math",Z,et,"<","<"),j("math",Z,et,">",">"),j("math",Z,et,":",":"),j("math",Z,et,"≈","\\approx",!0),j("math",Z,et,"≅","\\cong",!0),j("math",Z,et,"≥","\\ge"),j("math",Z,et,"≥","\\geq",!0),j("math",Z,et,"←","\\gets"),j("math",Z,et,">","\\gt"),j("math",Z,et,"∈","\\in",!0),j("math",Z,et,"","\\@not"),j("math",Z,et,"⊂","\\subset",!0),j("math",Z,et,"⊃","\\supset",!0),j("math",Z,et,"⊆","\\subseteq",!0),j("math",Z,et,"⊇","\\supseteq",!0),j("math",K,et,"⊈","\\nsubseteq",!0),j("math",K,et,"⊉","\\nsupseteq",!0),j("math",Z,et,"⊨","\\models"),j("math",Z,et,"←","\\leftarrow",!0),j("math",Z,et,"≤","\\le"),j("math",Z,et,"≤","\\leq",!0),j("math",Z,et,"<","\\lt"),j("math",Z,et,"→","\\rightarrow",!0),j("math",Z,et,"→","\\to"),j("math",K,et,"≱","\\ngeq",!0),j("math",K,et,"≰","\\nleq",!0),j("math",Z,"spacing"," ","\\ "),j("math",Z,"spacing"," ","~"),j("math",Z,"spacing"," ","\\space"),j("math",Z,"spacing"," ","\\nobreakspace"),j("text",Z,"spacing"," ","\\ "),j("text",Z,"spacing"," ","~"),j("text",Z,"spacing"," ","\\space"),j("text",Z,"spacing"," ","\\nobreakspace"),j("math",Z,"spacing",null,"\\nobreak"),j("math",Z,"spacing",null,"\\allowbreak"),j("math",Z,"punct",",",","),j("math",Z,"punct",";",";"),j("math",K,J,"⊼","\\barwedge",!0),j("math",K,J,"⊻","\\veebar",!0),j("math",Z,J,"⊙","\\odot",!0),j("math",Z,J,"⊕","\\oplus",!0),j("math",Z,J,"⊗","\\otimes",!0),j("math",Z,"textord","∂","\\partial",!0),j("math",Z,J,"⊘","\\oslash",!0),j("math",K,J,"⊚","\\circledcirc",!0),j("math",K,J,"⊡","\\boxdot",!0),j("math",Z,J,"△","\\bigtriangleup"),j("math",Z,J,"▽","\\bigtriangledown"),j("math",Z,J,"†","\\dagger"),j("math",Z,J,"⋄","\\diamond"),j("math",Z,J,"⋆","\\star"),j("math",Z,J,"◃","\\triangleleft"),j("math",Z,J,"▹","\\triangleright"),j("math",Z,"open","{","\\{"),j("text",Z,"textord","{","\\{"),j("text",Z,"textord","{","\\textbraceleft"),j("math",Z,"close","}","\\}"),j("text",Z,"textord","}","\\}"),j("text",Z,"textord","}","\\textbraceright"),j("math",Z,"open","{","\\lbrace"),j("math",Z,"close","}","\\rbrace"),j("math",Z,"open","[","\\lbrack"),j("text",Z,"textord","[","\\lbrack"),j("math",Z,"close","]","\\rbrack"),j("text",Z,"textord","]","\\rbrack"),j("math",Z,"open","(","\\lparen"),j("math",Z,"close",")","\\rparen"),j("text",Z,"textord","<","\\textless"),j("text",Z,"textord",">","\\textgreater"),j("math",Z,"open","⌊","\\lfloor",!0),j("math",Z,"close","⌋","\\rfloor",!0),j("math",Z,"open","⌈","\\lceil",!0),j("math",Z,"close","⌉","\\rceil",!0),j("math",Z,"textord","\\","\\backslash"),j("math",Z,"textord","∣","|"),j("math",Z,"textord","∣","\\vert"),j("text",Z,"textord","|","\\textbar"),j("math",Z,"textord","∥","\\|"),j("math",Z,"textord","∥","\\Vert"),j("text",Z,"textord","∥","\\textbardbl"),j("text",Z,"textord","~","\\textasciitilde"),j("text",Z,"textord","\\","\\textbackslash"),j("text",Z,"textord","^","\\textasciicircum"),j("math",Z,et,"↑","\\uparrow",!0),j("math",Z,et,"⇑","\\Uparrow",!0),j("math",Z,et,"↓","\\downarrow",!0),j("math",Z,et,"⇓","\\Downarrow",!0),j("math",Z,et,"↕","\\updownarrow",!0),j("math",Z,et,"⇕","\\Updownarrow",!0),j("math",Z,tt,"∐","\\coprod"),j("math",Z,tt,"⋁","\\bigvee"),j("math",Z,tt,"⋀","\\bigwedge"),j("math",Z,tt,"⨄","\\biguplus"),j("math",Z,tt,"⋂","\\bigcap"),j("math",Z,tt,"⋃","\\bigcup"),j("math",Z,tt,"∫","\\int"),j("math",Z,tt,"∫","\\intop"),j("math",Z,tt,"∬","\\iint"),j("math",Z,tt,"∭","\\iiint"),j("math",Z,tt,"∏","\\prod"),j("math",Z,tt,"∑","\\sum"),j("math",Z,tt,"⨂","\\bigotimes"),j("math",Z,tt,"⨁","\\bigoplus"),j("math",Z,tt,"⨀","\\bigodot"),j("math",Z,tt,"∮","\\oint"),j("math",Z,tt,"∯","\\oiint"),j("math",Z,tt,"∰","\\oiiint"),j("math",Z,tt,"⨆","\\bigsqcup"),j("math",Z,tt,"∫","\\smallint"),j("text",Z,"inner","…","\\textellipsis"),j("math",Z,"inner","…","\\mathellipsis"),j("text",Z,"inner","…","\\ldots",!0),j("math",Z,"inner","…","\\ldots",!0),j("math",Z,"inner","⋯","\\@cdots",!0),j("math",Z,"inner","⋱","\\ddots",!0),j("math",Z,"textord","⋮","\\varvdots"),j("math",Z,"accent-token","ˊ","\\acute"),j("math",Z,"accent-token","ˋ","\\grave"),j("math",Z,"accent-token","¨","\\ddot"),j("math",Z,"accent-token","~","\\tilde"),j("math",Z,"accent-token","ˉ","\\bar"),j("math",Z,"accent-token","˘","\\breve"),j("math",Z,"accent-token","ˇ","\\check"),j("math",Z,"accent-token","^","\\hat"),j("math",Z,"accent-token","⃗","\\vec"),j("math",Z,"accent-token","˙","\\dot"),j("math",Z,"accent-token","˚","\\mathring"),j("math",Z,Q,"ı","\\imath",!0),j("math",Z,Q,"ȷ","\\jmath",!0),j("text",Z,"textord","ı","\\i",!0),j("text",Z,"textord","ȷ","\\j",!0),j("text",Z,"textord","ß","\\ss",!0),j("text",Z,"textord","æ","\\ae",!0),j("text",Z,"textord","æ","\\ae",!0),j("text",Z,"textord","œ","\\oe",!0),j("text",Z,"textord","ø","\\o",!0),j("text",Z,"textord","Æ","\\AE",!0),j("text",Z,"textord","Œ","\\OE",!0),j("text",Z,"textord","Ø","\\O",!0),j("text",Z,"accent-token","ˊ","\\'"),j("text",Z,"accent-token","ˋ","\\`"),j("text",Z,"accent-token","ˆ","\\^"),j("text",Z,"accent-token","˜","\\~"),j("text",Z,"accent-token","ˉ","\\="),j("text",Z,"accent-token","˘","\\u"),j("text",Z,"accent-token","˙","\\."),j("text",Z,"accent-token","˚","\\r"),j("text",Z,"accent-token","ˇ","\\v"),j("text",Z,"accent-token","¨",'\\"'),j("text",Z,"accent-token","˝","\\H"),j("text",Z,"accent-token","◯","\\textcircled");var rt={"--":!0,"---":!0,"``":!0,"''":!0};j("text",Z,"textord","–","--"),j("text",Z,"textord","–","\\textendash"),j("text",Z,"textord","—","---"),j("text",Z,"textord","—","\\textemdash"),j("text",Z,"textord","‘","`"),j("text",Z,"textord","‘","\\textquoteleft"),j("text",Z,"textord","’","'"),j("text",Z,"textord","’","\\textquoteright"),j("text",Z,"textord","“","``"),j("text",Z,"textord","“","\\textquotedblleft"),j("text",Z,"textord","”","''"),j("text",Z,"textord","”","\\textquotedblright"),j("math",Z,"textord","°","\\degree",!0),j("text",Z,"textord","°","\\degree"),j("text",Z,"textord","°","\\textdegree",!0),j("math",Z,Q,"£","\\pounds"),j("math",Z,Q,"£","\\mathsterling",!0),j("text",Z,Q,"£","\\pounds"),j("text",Z,Q,"£","\\textsterling",!0),j("math",K,"textord","✠","\\maltese"),j("text",K,"textord","✠","\\maltese"),j("text",Z,"spacing"," ","\\ "),j("text",Z,"spacing"," "," "),j("text",Z,"spacing"," ","~");for(var at=0;at<'0123456789/@."'.length;at++){var nt='0123456789/@."'.charAt(at);j("math",Z,"textord",nt,nt)}for(var it=0;it<'0123456789!@*()-=+[]<>|";:?/.,'.length;it++){var ot='0123456789!@*()-=+[]<>|";:?/.,'.charAt(it);j("text",Z,"textord",ot,ot)}for(var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",ht=0;ht<st.length;ht++){var lt=st.charAt(ht);j("math",Z,Q,lt,lt),j("text",Z,"textord",lt,lt)}j("math",K,"textord","C","ℂ"),j("text",K,"textord","C","ℂ"),j("math",K,"textord","H","ℍ"),j("text",K,"textord","H","ℍ"),j("math",K,"textord","N","ℕ"),j("text",K,"textord","N","ℕ"),j("math",K,"textord","P","ℙ"),j("text",K,"textord","P","ℙ"),j("math",K,"textord","Q","ℚ"),j("text",K,"textord","Q","ℚ"),j("math",K,"textord","R","ℝ"),j("text",K,"textord","R","ℝ"),j("math",K,"textord","Z","ℤ"),j("text",K,"textord","Z","ℤ"),j("math",Z,Q,"h","ℎ"),j("text",Z,Q,"h","ℎ");for(var mt="",ct=0;ct<st.length;ct++){var ut=st.charAt(ct);j("math",Z,Q,ut,mt=String.fromCharCode(55349,56320+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56372+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56424+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56580+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56736+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56788+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56840+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56944+ct)),j("text",Z,"textord",ut,mt),ct<26&&(j("math",Z,Q,ut,mt=String.fromCharCode(55349,56632+ct)),j("text",Z,"textord",ut,mt),j("math",Z,Q,ut,mt=String.fromCharCode(55349,56476+ct)),j("text",Z,"textord",ut,mt))}j("math",Z,Q,"k",mt=String.fromCharCode(55349,56668)),j("text",Z,"textord","k",mt);for(var pt=0;pt<10;pt++){var dt=pt.toString();j("math",Z,Q,dt,mt=String.fromCharCode(55349,57294+pt)),j("text",Z,"textord",dt,mt),j("math",Z,Q,dt,mt=String.fromCharCode(55349,57314+pt)),j("text",Z,"textord",dt,mt),j("math",Z,Q,dt,mt=String.fromCharCode(55349,57324+pt)),j("text",Z,"textord",dt,mt),j("math",Z,Q,dt,mt=String.fromCharCode(55349,57334+pt)),j("text",Z,"textord",dt,mt)}for(var ft=0;ft<"ÇÐÞçþ".length;ft++){var gt="ÇÐÞçþ".charAt(ft);j("math",Z,Q,gt,gt),j("text",Z,"textord",gt,gt)}j("text",Z,"textord","ð","ð"),j("text",Z,"textord","–","–"),j("text",Z,"textord","—","—"),j("text",Z,"textord","‘","‘"),j("text",Z,"textord","’","’"),j("text",Z,"textord","“","“"),j("text",Z,"textord","”","”");var xt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathdefault","textit","Math-Italic"],["mathdefault","textit","Math-I
gitextract_a4dv877j/ ├── .gitignore ├── .nojekyll ├── 404.html ├── CNAME ├── Dockerfile ├── LICENSE ├── NAV.md ├── README.md ├── SUMMARY.md ├── asset/ │ ├── back-to-top.css │ ├── back-to-top.js │ ├── dark-mode.css │ ├── dark-mode.js │ ├── docsify-apachecn-footer.js │ ├── docsify-baidu-push.js │ ├── docsify-baidu-stat.js │ ├── docsify-clicker.js │ ├── docsify-cnzz.js │ ├── docsify-katex.js │ ├── docsify-quick-page.css │ ├── docsify-quick-page.js │ ├── edit.css │ ├── edit.js │ ├── prism-darcula.css │ ├── share.css │ ├── share.js │ ├── style.css │ └── vue.css ├── docs/ │ ├── .gitkeep │ ├── adv-cpp/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── adv-cpp-prog-cb/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── app-dev-qt-creator/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── README.md │ │ ├── SUMMARY.md │ │ ├── sec1.md │ │ ├── sec2.md │ │ └── sec3.md │ ├── begin-cpp-game-prog/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── 16.md │ │ ├── 17.md │ │ ├── 18.md │ │ ├── 19.md │ │ ├── 20.md │ │ ├── 21.md │ │ ├── 22.md │ │ ├── 23.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── begin-cpp-prog/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── boost-asio-cpp-net-prog-2e/ │ │ ├── 0.md │ │ ├── 1.md │ │ ├── 2.md │ │ ├── 3.md │ │ ├── 4.md │ │ ├── 5.md │ │ ├── 6.md │ │ ├── 7.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── boost-cpp-app-dev-cb/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── cpp-dsal-design-principle/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── cpp-gui-prog-qt5/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── 16.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── cpp-hiperf/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── cpp-react-prog/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── cpp-sys-prog-cb/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── cpp-workshop/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── emb-prog-mod-cpp-cb/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── exp-cpp/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── 16.md │ │ ├── 17.md │ │ ├── README.md │ │ ├── SUMMARY.md │ │ ├── sec1.md │ │ ├── sec2.md │ │ └── sec3.md │ ├── exp-cpp-prog/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── game-dev-proj-ue/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── 16.md │ │ ├── 17.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── handson-cpp-game-ani-prog/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── handson-func-prog-cpp/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── 16.md │ │ ├── 17.md │ │ ├── README.md │ │ ├── SUMMARY.md │ │ ├── sec1.md │ │ ├── sec2.md │ │ ├── sec3.md │ │ └── sec4.md │ ├── handson-game-dev-wasm/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── 16.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── lcthw-zh/ │ │ ├── README.md │ │ ├── SUMMARY.md │ │ ├── donors.md │ │ ├── ex0.md │ │ ├── ex1.md │ │ ├── ex10.md │ │ ├── ex11.md │ │ ├── ex12.md │ │ ├── ex13.md │ │ ├── ex14.md │ │ ├── ex15.md │ │ ├── ex16.md │ │ ├── ex17.md │ │ ├── ex18.md │ │ ├── ex19.md │ │ ├── ex2.md │ │ ├── ex20.md │ │ ├── ex21.md │ │ ├── ex22.md │ │ ├── ex23.md │ │ ├── ex24.md │ │ ├── ex25.md │ │ ├── ex26.md │ │ ├── ex27.md │ │ ├── ex28.md │ │ ├── ex29.md │ │ ├── ex3.md │ │ ├── ex30.md │ │ ├── ex31.md │ │ ├── ex32.md │ │ ├── ex33.md │ │ ├── ex34.md │ │ ├── ex35.md │ │ ├── ex36.md │ │ ├── ex37.md │ │ ├── ex38.md │ │ ├── ex39.md │ │ ├── ex4.md │ │ ├── ex40.md │ │ ├── ex41.md │ │ ├── ex42.md │ │ ├── ex43.md │ │ ├── ex44.md │ │ ├── ex45.md │ │ ├── ex46.md │ │ ├── ex47.md │ │ ├── ex5.md │ │ ├── ex6.md │ │ ├── ex7.md │ │ ├── ex8.md │ │ ├── ex9.md │ │ ├── introduction.md │ │ ├── postscript.md │ │ └── preface.md │ ├── learn-cpp-build-game-ue4/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── learn-cpp-func-prog/ │ │ ├── 0.md │ │ ├── 1.md │ │ ├── 2.md │ │ ├── 3.md │ │ ├── 4.md │ │ ├── 5.md │ │ ├── 6.md │ │ ├── 7.md │ │ ├── 8.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── learn-cuda-prog/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── learn-qt5/ │ │ ├── 0.md │ │ ├── 1.md │ │ ├── 2.md │ │ ├── 3.md │ │ ├── 4.md │ │ ├── 5.md │ │ ├── 6.md │ │ ├── 7.md │ │ ├── 8.md │ │ ├── 9.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── learn-wasm/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── master-cpp-game-dev/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── master-cpp-multithrd/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── master-cpp-prog/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── mod-cpp/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── 14.md │ │ ├── 15.md │ │ ├── 16.md │ │ ├── 17.md │ │ ├── README.md │ │ └── SUMMARY.md │ ├── mod-cpp-challenge/ │ │ ├── 00.md │ │ ├── 01.md │ │ ├── 02.md │ │ ├── 03.md │ │ ├── 04.md │ │ ├── 05.md │ │ ├── 06.md │ │ ├── 07.md │ │ ├── 08.md │ │ ├── 09.md │ │ ├── 10.md │ │ ├── 11.md │ │ ├── 12.md │ │ ├── 13.md │ │ ├── README.md │ │ └── SUMMARY.md │ └── qt5-cpp-gui-prog-cb/ │ ├── 00.md │ ├── 01.md │ ├── 02.md │ ├── 03.md │ ├── 04.md │ ├── 05.md │ ├── 06.md │ ├── 07.md │ ├── 08.md │ ├── 09.md │ ├── 10.md │ ├── 11.md │ ├── 12.md │ ├── 13.md │ ├── README.md │ └── SUMMARY.md ├── index.html └── update.sh
SYMBOL INDEX (58 symbols across 2 files)
FILE: asset/docsify-katex.js
function r (line 1) | function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{...
function r (line 1) | function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{...
function t (line 1) | function t(t,e,r){this.lexer=void 0,this.start=void 0,this.end=void 0,th...
function t (line 1) | function t(t,e){this.text=void 0,this.loc=void 0,this.text=t,this.loc=e}
function t (line 1) | function t(t){this.displayMode=void 0,this.output=void 0,this.leqno=void...
function t (line 1) | function t(t,e,r){this.id=void 0,this.size=void 0,this.cramped=void 0,th...
function M (line 1) | function M(t){for(var e=0;e<S.length;e+=2)if(t>=S[e]&&t<=S[e+1])return!0...
function t (line 1) | function t(t){this.children=void 0,this.classes=void 0,this.height=void ...
function t (line 1) | function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.cla...
function t (line 1) | function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.cla...
function t (line 1) | function t(t,e,r){this.src=void 0,this.alt=void 0,this.classes=void 0,th...
function t (line 1) | function t(t,e,r,a,n,i,o,s){this.text=void 0,this.height=void 0,this.dep...
function t (line 1) | function t(t,e){this.children=void 0,this.attributes=void 0,this.childre...
function t (line 1) | function t(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName...
function t (line 1) | function t(t){this.attributes=void 0,this.attributes=t||{}}
function D (line 1) | function D(t){if(t instanceof E)return t;throw new Error("Expected symbo...
function G (line 1) | function G(t,e,r){if(!F[e])throw new Error("Font metrics not found for f...
function j (line 1) | function j(t,e,r,a,n,i){X[t][n]={font:e,group:r,replace:a},i&&a&&(X[t][a...
function t (line 1) | function t(e){this.style=void 0,this.color=void 0,this.size=void 0,this....
function Ft (line 1) | function Ft(t,e){var r=Vt(t,e);if(!r)throw new Error("Expected node of t...
function Vt (line 1) | function Vt(t,e){return t&&t.type===e?t:null}
function Ut (line 1) | function Ut(t,e){var r=function(t,e){return t&&"atom"===t.type&&t.family...
function Gt (line 1) | function Gt(t){var e=Yt(t);if(!e)throw new Error("Expected node of symbo...
function Yt (line 1) | function Yt(t){return t&&("atom"===t.type||W.hasOwnProperty(t.type))?t:n...
function Qt (line 1) | function Qt(t){for(var e=t.type,r=t.names,a=t.props,n=t.handler,i=t.html...
function te (line 1) | function te(t){Qt({type:t.type,names:[],props:{numArgs:0},handler:functi...
function pe (line 1) | function pe(t,e){var r=re(["base"],t,e),a=re(["strut"]);return a.style.h...
function de (line 1) | function de(t,e){var r=null;1===t.length&&"tag"===t[0].type&&(r=t[0].tag...
function fe (line 1) | function fe(t){return new A(t)}
function t (line 1) | function t(t,e){this.type=void 0,this.attributes=void 0,this.children=vo...
function t (line 1) | function t(t){this.text=void 0,this.text=t}
function t (line 1) | function t(t){this.width=void 0,this.character=void 0,this.width=t,this....
function ze (line 1) | function ze(t,e,r,a){var n,i=ke(t,r);n=1===i.length&&i[0]instanceof ge&&...
function mr (line 1) | function mr(t,e){var r=Yt(t);if(r&&c.contains(lr,r.text))return r;throw ...
function cr (line 1) | function cr(t){if(!t.body)throw new Error("Bug: The leftright ParseNode ...
function fr (line 1) | function fr(t){for(var e=t.type,r=t.names,a=t.props,n=t.handler,i=t.html...
function gr (line 1) | function gr(t){var e=[];t.consumeSpaces();for(var r=t.fetch().text;"\\hl...
function xr (line 1) | function xr(t,e,r){var a=e.hskipBeforeAndAfter,n=e.addJot,i=e.cols,s=e.a...
function vr (line 1) | function vr(t){return"d"===t.substr(0,1)?"display":"text"}
function y (line 1) | function y(t){for(var e=0;e<t.length;++e)e>0&&(b+=.25),l.push({pos:b,isD...
function zr (line 1) | function zr(t,e){var r=se(t.body,e,!0);return Mr([t.mclass],r,e)}
function Ar (line 1) | function Ar(t,e){var r,a=ke(t.body,e);return"minner"===t.mclass?ve.newDo...
function Wr (line 1) | function Wr(t,e,r){for(var a=se(t,e,!1),n=e.sizeMultiplier/r.sizeMultipl...
function t (line 1) | function t(t,e){this.input=void 0,this.settings=void 0,this.tokenRegex=v...
function t (line 1) | function t(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.current=void ...
function ca (line 1) | function ca(t,e){la[t]=e}
function t (line 1) | function t(t,e,r){this.settings=void 0,this.expansionCount=void 0,this.l...
function t (line 1) | function t(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0...
FILE: asset/share.js
function r (line 23) | function r(e,t){if(e instanceof Array){for(var n=0,r=e.length;n<r;n++)if...
function i (line 23) | function i(e,t){this.svnMod="",this.name=null,this.path=e,this.fn=null,t...
function o (line 23) | function o(e,t){var n=t=="css",r=document.createElement(n?"link":"script...
function u (line 23) | function u(t,n,r,i){function c(){c.isCalled||(c.isCalled=!0,clearTimeout...
function a (line 23) | function a(e,t){e.onload=e.onerror=e.onreadystatechange=function(){if(/l...
function f (line 23) | function f(e,t){e.attachEvent?e.attachEvent("onload",t):setTimeout(funct...
function l (line 23) | function l(e,t){if(t&&t.isCalled)return;var n,r=navigator.userAgent,i=~r...
function n (line 23) | function n(e,t,n){var r=new e(n);r.setView(new t(n)),r.init(),n&&n._hand...
function r (line 23) | function r(e,r){window._bd_share_main.F.use(e,function(e,i){t.isArray(r)...
function i (line 23) | function i(e){var n=e.common||window._bd_share_config&&_bd_share_config....
Copy disabled (too large)
Download .json
Condensed preview — 587 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (19,607K chars).
[
{
"path": ".gitignore",
"chars": 1254,
"preview": "# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n# Distribution / packagi"
},
{
"path": ".nojekyll",
"chars": 0,
"preview": ""
},
{
"path": "404.html",
"chars": 74,
"preview": "---\npermalink: /404.html\n---\n<script>window.location.href = '/';</script>\n"
},
{
"path": "CNAME",
"chars": 17,
"preview": "ccpp.apachecn.org"
},
{
"path": "Dockerfile",
"chars": 49,
"preview": "FROM httpd:2.4\nCOPY ./ /usr/local/apache2/htdocs/"
},
{
"path": "LICENSE",
"chars": 15103,
"preview": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License (CC BY-NC-SA 4.0)\n\nCopyright © 20"
},
{
"path": "NAV.md",
"chars": 14401,
"preview": "+ 编程\n + [JavaTPoint 编程语言中文教程📚](https://apachecn.github.io/javatpoint-prog-zh)\n + [JavaTPoint .NET 中文教程📚](htt"
},
{
"path": "README.md",
"chars": 2943,
"preview": "# ApacheCN C/C++ 译文集\n\n> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)\n> \n> 让开源界提前感受入关。\n\n* [在线阅"
},
{
"path": "SUMMARY.md",
"chars": 26615,
"preview": "+ [笨办法学C 中文版](docs/lcthw-zh/README.md)\n + [前言](docs/lcthw-zh/preface.md)\n + [导言:C的笛卡尔之梦](docs/lcthw-zh/intro"
},
{
"path": "asset/back-to-top.css",
"chars": 421,
"preview": "#scroll-btn {\n position: fixed;\n right: 15px;\n bottom: 10px;\n width: 35px;\n height: 35px;\n background-"
},
{
"path": "asset/back-to-top.js",
"chars": 611,
"preview": "document.addEventListener('DOMContentLoaded', function() {\n\tvar scrollBtn = document.createElement('div')\n\tscrollBtn.id "
},
{
"path": "asset/dark-mode.css",
"chars": 422,
"preview": "#dark-mode-btn {\n\tposition: fixed;\n\tright: 15px;\n\ttop: 100px;\n\twidth: 35px;\n\theight: 35px;\n\tbackground-repeat: no-repeat"
},
{
"path": "asset/dark-mode.js",
"chars": 1056,
"preview": "document.addEventListener('DOMContentLoaded', function() {\n\tvar style = document.querySelector('#invert')\n\tif (style == "
},
{
"path": "asset/docsify-apachecn-footer.js",
"chars": 1858,
"preview": "(function(){\n\tvar cnzzId = window.$docsify.cnzzId\n\tvar unRepo = window.$docsify.repo || ''\n\tvar [un, repo] = unRepo.spli"
},
{
"path": "asset/docsify-baidu-push.js",
"chars": 412,
"preview": "(function(){\n var plugin = function(hook) {\n hook.doneEach(function() {\n new Image().src = \n "
},
{
"path": "asset/docsify-baidu-stat.js",
"chars": 452,
"preview": "(function(){\n var plugin = function(hook) {\n hook.doneEach(function() {\n window._hmt = window._hmt "
},
{
"path": "asset/docsify-clicker.js",
"chars": 17248,
"preview": "(function() {\n var ids = [\n '109577065', '108852955', '102682374', '100520874', '92400861', '90312982', \n "
},
{
"path": "asset/docsify-cnzz.js",
"chars": 454,
"preview": "(function(){\n var plugin = function(hook) {\n hook.doneEach(function() {\n var sc = document.createEl"
},
{
"path": "asset/docsify-katex.js",
"chars": 249324,
"preview": "!function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.expo"
},
{
"path": "asset/docsify-quick-page.css",
"chars": 736,
"preview": "#prev-page-button {\n\tposition:fixed;\n\ttop:140px;\n\twidth: 35px;\n\theight: 35px;\n\tright: 15px;\n\tbackground-color: transpare"
},
{
"path": "asset/docsify-quick-page.js",
"chars": 1170,
"preview": "document.addEventListener('DOMContentLoaded', function() {\t\n\tvar prevBtn = document.createElement(\"div\")\n\tprevBtn.id = \""
},
{
"path": "asset/edit.css",
"chars": 328,
"preview": "#edit-btn {\n\tposition: fixed;\n right: 15px;\n top: 260px;\n width: 35px;\n height: 35px;\n background-repeat:"
},
{
"path": "asset/edit.js",
"chars": 437,
"preview": "document.addEventListener('DOMContentLoaded', function() {\n\tvar editBtn = document.createElement('div')\n\teditBtn.id = 'e"
},
{
"path": "asset/prism-darcula.css",
"chars": 2748,
"preview": "/**\n * Darcula theme\n *\n * Adapted from a theme based on:\n * IntelliJ Darcula Theme (https://github.com/bulenkov/Darcula"
},
{
"path": "asset/share.css",
"chars": 296,
"preview": "#share-btn {\n\tposition: fixed;\n\tright: 15px;\n\ttop: 220px;\n\twidth: 35px;\n\theight: 35px;\n\tbackground-repeat: no-repeat;\n\tb"
},
{
"path": "asset/share.js",
"chars": 17915,
"preview": "document.addEventListener('DOMContentLoaded', function() {\n var shareBtn = document.createElement('a')\n shareBtn.i"
},
{
"path": "asset/style.css",
"chars": 1794,
"preview": " .markdown-section h1 {\n margin: 3rem 0 2rem 0;\n }\n\n .markdown-section h2 {\n margin: 2rem 0 1rem;"
},
{
"path": "asset/vue.css",
"chars": 15537,
"preview": "@import url(\"https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600\");\n* {\n -webkit-font-smoot"
},
{
"path": "docs/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "docs/adv-cpp/00.md",
"chars": 4740,
"preview": "# 零、前言\n\n## 大约\n\n本节简要介绍作者、本书的内容、入门所需的技术技能,以及完成所有附带活动和练习所需的硬件和软件要求。\n\n## 关于书\n\nC++ 是使用最广泛的编程语言之一,应用于各种领域,从游戏到**图形用户界面** ( **G"
},
{
"path": "docs/adv-cpp/01.md",
"chars": 46444,
"preview": "# 一、可移植的 C++ 软件剖析\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 建立代码构建测试过程\n* 描述编译的各个阶段\n* 破译复杂的 C++ 类型系统\n* 用单元测试配置项目\n* 将源代码转换为目标代码\n*"
},
{
"path": "docs/adv-cpp/02.md",
"chars": 51376,
"preview": "# 二、不允许鸭子——类型和推导(一)\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 实现您自己的行为类似于内置类型的类\n* 实现控制编译器创建哪些函数的类(零规则/五规则)\n* 像往常一样,使用自动变量开发函数\n* 通"
},
{
"path": "docs/adv-cpp/03.md",
"chars": 39320,
"preview": "# 三、不允许鸭子——模板和推导(二)\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 使用继承和多态性开发自己的类,以获得更大的效果\n* 实现一个别名,使您的代码更容易阅读\n* 使用 SFINAE 和 constexpr 开"
},
{
"path": "docs/adv-cpp/04.md",
"chars": 55266,
"preview": "# 四、不允许泄漏——异常和资源\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 开发类来管理资源\n* 开发异常健壮的代码,这样资源就不会通过 RAII 泄漏\n* 实现可以通过移动语义转移资源所有权的类\n* 实现控制隐式转"
},
{
"path": "docs/adv-cpp/05.md",
"chars": 34626,
"preview": "# 五、关注点分离——软件架构、函数和可变模板\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 使用 PIMPL 习惯用法开发类来实现对象级封装\n* 使用函子、标准::函数和 lambda 表达式实现回调系统\n* 根据情况使用"
},
{
"path": "docs/adv-cpp/06.md",
"chars": 50623,
"preview": "# 六、哲学家的晚餐——线程和并发\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 创建同步和异步多线程应用\n* 应用同步来处理数据危险和竞争条件\n* 用 C++ 线程库原语开发高效的多线程代码\n* 使用多线程闭包的移动语"
},
{
"path": "docs/adv-cpp/07.md",
"chars": 70054,
"preview": "# 七、流和输入/输出\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 使用标准输入/输出库向/从文件或控制台写入和读取数据\n* 使用内存中的输入/输出接口格式化和解析数据\n* 为用户定义的类型扩展标准输入/输出流\n* 开"
},
{
"path": "docs/adv-cpp/08.md",
"chars": 43594,
"preview": "# 八、每个人都会跌倒,这是你爬起来的方式——测试和调试\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 描述不同类型的断言\n* 实现编译时和运行时断言\n* 实现异常处理\n* 描述和实现单元测试和模拟测试\n* 使用断点"
},
{
"path": "docs/adv-cpp/09.md",
"chars": 73568,
"preview": "# 九、对速度的需求——性能和优化\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 手动为代码性能计时\n* 使用源代码检测来测量代码执行时间\n* 使用性能工具分析程序性能\n* 使用 godbolt 编译器资源管理器工具来分"
},
{
"path": "docs/adv-cpp/10.md",
"chars": 116174,
"preview": "# 十、附录\n\n## 关于\n\n包括这一部分是为了帮助学生完成书中的活动。它包括学生为实现活动目标而要执行的详细步骤。\n\n## 第 1 章 -可移植 C++ 软件剖析\n\n### 活动 1:向项目添加新的源文件-头文件对\n\n在本练习中,我们将创"
},
{
"path": "docs/adv-cpp/README.md",
"chars": 913,
"preview": "# C++ 高级编程\n\n> 原书:[Advanced C++](https://libgen.rs/book/index.php?md5=24E080E694C59B3F8E0220D0902724B0)\n> \n> 协议:[CC BY-NC"
},
{
"path": "docs/adv-cpp/SUMMARY.md",
"chars": 337,
"preview": "+ [C++ 高级编程](README.md)\n+ [零、前言](00.md)\n+ [一、可移植的 C++ 软件剖析](01.md)\n+ [二、不允许鸭子——类型和推导(一)](02.md)\n+ [三、不允许鸭子——模板"
},
{
"path": "docs/adv-cpp-prog-cb/00.md",
"chars": 4427,
"preview": "# 零、前言\n\n在这本书里,你将学习高级的 C++ 技术,你可以在你自己的 C++ 项目中使用。这本书教 C++ 使用的是一种食谱风格的方法,每种食谱都有例子和截图,你可以从 GitHub 下载并自己动手。这本书使用 C++ 17 规范来教"
},
{
"path": "docs/adv-cpp-prog-cb/01.md",
"chars": 20692,
"preview": "# 一、库的开发入门\n\n在本章中,我们将介绍一些创建自己的库的有用方法,包括对最小惊奇原则的解释,它鼓励我们使用用户已经熟悉的语义来实现库。我们还将研究如何命名一切,以确保我们的自定义库不会与其他库冲突。此外,我们将研究如何创建仅头库,以及"
},
{
"path": "docs/adv-cpp-prog-cb/02.md",
"chars": 25723,
"preview": "# 二、将异常用于错误处理\n\n在本章中,我们将学习一些高级的 C++ 异常处理技术。这里我们假设您对如何抛出和捕获 C++ 异常有基本的了解。本章将教您一些更高级的 C++ 异常处理技术,而不是专注于 C++ 异常的基础知识。这包括正确使用"
},
{
"path": "docs/adv-cpp-prog-cb/03.md",
"chars": 22418,
"preview": "# 三、实现移动语义\n\n在本章中,我们将学习一些高级的 C++ 移动语义。我们将首先讨论五大,这是一个习惯用法,只是鼓励程序员明确定义类的销毁和移动/复制语义。接下来,我们将学习如何定义移动构造函数和移动赋值运算符;移动语义的不同组合(包括"
},
{
"path": "docs/adv-cpp-prog-cb/04.md",
"chars": 26178,
"preview": "# 四、将模板用于泛型编程\n\n在本章中,我们将学习高级模板编程技术。这些技术包括根据提供的类型更改模板类实现的能力,如何处理不同类型的参数,包括如何正确转发它们,如何在运行时和编译时优化代码,以及如何使用 C++ 17 中添加的一些新功能。"
},
{
"path": "docs/adv-cpp-prog-cb/05.md",
"chars": 26249,
"preview": "# 五、并发和同步\n\n在本章中,我们将学习如何在 C++ 中正确处理并发、同步和并行。在这里,您必须具备 C++ 和 C++ 线程的一般知识。本章很重要,因为使用 C++ 通常需要使用共享资源,如果没有正确实现线程安全,共享资源很容易被破坏"
},
{
"path": "docs/adv-cpp-prog-cb/06.md",
"chars": 15832,
"preview": "# 六、优化代码以提高性能\n\n优化代码以提高性能可以确保代码充分利用 C++ 所能提供的功能。与其他高级语言不同,C++ 能够在不牺牲性能的情况下提供高级语法自由,尽管不可否认这是以更高的学习曲线为代价的。\n\n这一章很重要,因为它将演示优化"
},
{
"path": "docs/adv-cpp-prog-cb/07.md",
"chars": 22060,
"preview": "# 七、调试和测试\n\n在本章中,您将学习如何正确测试和调试您的 C++ 应用。这一点很重要,因为如果没有良好的测试和调试,您的 C++ 应用很可能包含难以检测的错误,这会降低它们的整体可靠性、稳定性和安全性。\n\n本章将从单元测试的全面概述开"
},
{
"path": "docs/adv-cpp-prog-cb/08.md",
"chars": 24062,
"preview": "# 八、创建和实现您自己的容器\n\n在本章中,您将学习如何通过利用 C++ 标准模板库已经提供的现有容器,在 C++ 中创建自己的自定义容器。这一章很重要,因为在很多情况下,您的代码会有在标准模板库容器上执行的常见操作,这些操作会在整个代码中"
},
{
"path": "docs/adv-cpp-prog-cb/09.md",
"chars": 20166,
"preview": "# 九、探索类型擦除\n\n在本章中,您将了解什么是类型擦除(也称为类型擦除),以及如何在您自己的应用中使用它。本章很重要,因为类型擦除提供了处理不同类型对象的能力,而不需要对象共享一个公共基类。\n\n本章首先简单解释了类型擦除,解释了类型擦除在"
},
{
"path": "docs/adv-cpp-prog-cb/10.md",
"chars": 23927,
"preview": "# 十、对动态分配的深入研究\n\n在本章中,您将学习如何使用动态内存分配。本章很重要,因为并非所有变量都可以全局定义或在堆栈上定义(即从函数内部定义),因为应该尽可能避免使用全局内存,堆栈内存通常比堆内存(用于动态内存分配的内存)更有限。然而"
},
{
"path": "docs/adv-cpp-prog-cb/11.md",
"chars": 21980,
"preview": "# 十一、C++ 中的常见模式\n\n在本章中,您将学习 C++ 中的各种设计模式。设计模式为正确解决不同类型的问题提供了一种通用的方法,通常,设计模式会在互联网上、会议上以及工作中的饮水机前讨论它们的优缺点。\n\n本章的目标是向您介绍一些更流行"
},
{
"path": "docs/adv-cpp-prog-cb/12.md",
"chars": 20442,
"preview": "# 十二、更仔细查看类型推导\n\n在本章中,您将学习 C++ 中类型推导的所有来龙去脉,包括 C++ 17 中的一些新增内容。这一章很重要,因为它将教会你所有的方法,编译器将试图为你自动推导类型信息。如果没有对 C++ 中类型推导的工作原理有"
},
{
"path": "docs/adv-cpp-prog-cb/13.md",
"chars": 21338,
"preview": "# 十三、奖励——使用 C++ 20 特性\n\n在本章中,您将快速了解一些即将添加到 C++ 20 中的特性。这一章很重要,因为与 C++ 14 和 C++ 17 不同,C++ 20 为语言增加了几个改变游戏规则的特性,这些特性将永远改变 C"
},
{
"path": "docs/adv-cpp-prog-cb/README.md",
"chars": 936,
"preview": "# C++ 高级编程秘籍\n\n> 原书:[Advanced C++ Programming Cookbook](https://libgen.rs/book/index.php?md5=24E080E694C59B3F8E0220D09027"
},
{
"path": "docs/adv-cpp-prog-cb/SUMMARY.md",
"chars": 368,
"preview": "+ [C++ 高级编程秘籍](README.md)\n+ [零、前言](00.md)\n+ [一、库的开发入门](01.md)\n+ [二、将异常用于错误处理](02.md)\n+ [三、实现移动语义](03.md)\n+ ["
},
{
"path": "docs/app-dev-qt-creator/00.md",
"chars": 4439,
"preview": "# 零、前言\n\n这本最新版本的 Qt Creator 图书让您深入了解 Qt 的海量库及其功能。Qt 是一个强大的开发框架,可作为构建跨平台应用的完整工具集,帮助您缩短开发时间并提高工作效率。\n\n这本 Qt 编程书籍将带您了解 Qt Cre"
},
{
"path": "docs/app-dev-qt-creator/01.md",
"chars": 12619,
"preview": "# 一、Qt Creator 入门\n\nQt Creator 是一个集成的软件开发环境,既支持传统的 C++ 应用开发,也支持使用 Qt 项目库(统称为**Qt**,发音为**CUIT**)的开发。\n\nQt 可以在商业许可下使用,也可以在 G"
},
{
"path": "docs/app-dev-qt-creator/02.md",
"chars": 19453,
"preview": "# 二、使用 Qt Creator 构建应用\n\n使用 Qt Creator 要做的第一件事是弄清楚如何添加源文件和构建(或调试)您的项目。 本章就是这样--我们将介绍如何向项目中添加文件,如何在项目中创建库,以及如何使用调试器和控制台记录器"
},
{
"path": "docs/app-dev-qt-creator/03.md",
"chars": 29431,
"preview": "# 三、使用 Qt Designer 设计应用\n\nQt 最为人所知的可能是一个跨平台的用户界面工具包,直到最近几年,Qt Creator 才真正发展成为一个完整的软件开发环境。 然而,即使在其早期版本中,Qt 也有一个很好的工具,可以用 Q"
},
{
"path": "docs/app-dev-qt-creator/04.md",
"chars": 26613,
"preview": "# 四、Qt 基础\n\nQt 确实是构建应用的最佳跨平台框架之一。 因此,它有大量的核心类来管理数据,以及围绕平台服务(如线程、文件系统、网络 I/O,当然还有图形)的包装器。\n\n在本章中,我们将讨论一些 Qt 的核心类,您会发现这些类在编写"
},
{
"path": "docs/app-dev-qt-creator/05.md",
"chars": 24808,
"preview": "# 五、使用 Qt 小部件开发应用\n\nQt 在跨平台 GUI 开发方面有着悠久的历史。 由于 GUI 设计的各个方面的控件都非常类似于本机平台的控件(或者,在许多情况下,包装本机平台的控件),因此对于任何跨平台开发项目来说,它都是一个多功能"
},
{
"path": "docs/app-dev-qt-creator/06.md",
"chars": 22988,
"preview": "# 六、使用 Qt 绘图\n\n虽然许多应用只能使用内置小部件构建,但其他应用需要能够执行自定义绘图-例如,当您需要一两个自定义小部件时,或者您正在进行屏幕外呈现以编程方式在图形文件中创建图像时,或者您对构建完全不同的用户界面感兴趣时。 除了您"
},
{
"path": "docs/app-dev-qt-creator/07.md",
"chars": 36260,
"preview": "# 七、使用 Qt Quick 实现更多功能\n\n正如您在[第 3 章](03.html),*使用 Qt Designer 设计应用*中看到的,Qt Quick 是 Qt 用于应用开发的声明性环境。 Qt Quick 是流畅的动画用户界面的理"
},
{
"path": "docs/app-dev-qt-creator/08.md",
"chars": 9569,
"preview": "# 八、使用 Qt Quick 实现多媒体\n\n今天的应用越来越多地使用多媒体来增强其对用户的吸引力。 音效是大多数用户界面的关键部分,许多应用都包含视频教程或其他视频内容。 有些应用甚至使用许多设备上提供的摄像头;尤其是移动应用,大多数移动"
},
{
"path": "docs/app-dev-qt-creator/09.md",
"chars": 20725,
"preview": "# 九、传感器和 Qt Quick\n\n今天的任何设备都带有无数的传感器,包括一种确定设备位置和方向的方法,以及通过温度计、发光传感器、加速计、陀螺仪和其他传感器测量其周围环境特征的方法。 手机和其他便携式设备尤其如此。 要了解我们移动设备中"
},
{
"path": "docs/app-dev-qt-creator/10.md",
"chars": 7193,
"preview": "# 十、使用 Qt 语言学家本地化您的应用\n\n本地化是当今软件开发中一个重要但通常被忽视的部分。 大多数应用的作者,无论这些应用是商业应用还是开源应用,都希望为他们的应用赢得大量用户。 这意味着越来越多地需要在多个地区支持多种语言,而且通常"
},
{
"path": "docs/app-dev-qt-creator/11.md",
"chars": 25146,
"preview": "# 十一、使用 Qt Creator 优化性能\n\n我们不是每天都使用性能分析工具,但我们很高兴在我们需要它们的时候它们就在我们身边。 商业工具,如 Microsoft Visual Studio 附带的工具,或独立的工具,如 IBM 的 R"
},
{
"path": "docs/app-dev-qt-creator/12.md",
"chars": 23414,
"preview": "# 十二、使用 Qt Creator 开发移动应用\n\nQt 和手机开发由来已久。 Qt 的开端包括 90 年代末和本世纪初 Linux 个人数字助理的早期版本。 从那时起,它已经移植到了许多移动环境中,包括诺基亚发布的 Linux 的移动版"
},
{
"path": "docs/app-dev-qt-creator/13.md",
"chars": 16298,
"preview": "# 十三、使用 Qt Creator 开发嵌入式和物联网\n\n在上一章中,我们学习了如何使用 Qt 创建移动应用,这使得 Qt 成为一个真正强大的跨平台开发套件。 更进一步,Qt 已经开始在最近的版本中增加对嵌入式设备的支持,允许高性能应用在"
},
{
"path": "docs/app-dev-qt-creator/14.md",
"chars": 18158,
"preview": "# 十四、QT 提示和技巧\n\n在前面的章节中,我们讨论了 Qt 对于软件开发的伟大之处:如何编辑、编译和调试应用;如何分析它们的执行和内存性能;如何针对世界不同地区本地化它们;以及如何制作在 Android 手机和平板电脑上运行的移动应用。"
},
{
"path": "docs/app-dev-qt-creator/README.md",
"chars": 947,
"preview": "# Qt Creator 应用开发\n\n> 原书:[Application Development with Qt Creator](https://libgen.rs/book/index.php?md5=B82379C12D929B1C0"
},
{
"path": "docs/app-dev-qt-creator/SUMMARY.md",
"chars": 578,
"preview": "+ [Qt Creator 应用开发](README.md)\n+ [零、前言](00.md)\n+ [第一部分:基础知识](sec1.md)\n\t+ [一、Qt Creator 入门](01.md)\n\t+ [二、使用 Qt "
},
{
"path": "docs/app-dev-qt-creator/sec1.md",
"chars": 293,
"preview": "# 第一部分:基础知识\n\n在本书的第一部分,我们将探讨 Qt Creator 的基础知识,以及如何使用它构建和设计应用,并深入研究 Qt 的基础。 这些构成了我们未来高级主题的前提条件。\n\n本节包括以下章节:\n\n* [第 1 章](01"
},
{
"path": "docs/app-dev-qt-creator/sec2.md",
"chars": 245,
"preview": "# 第二部分:高级功能\n\n在本书的第二部分,我们将探讨一些高级的 Qt 主题,这些主题将帮助我们更好地理解 Qt,除了一些使用 Qt 的工具外,还包括传感器的工作。\n\n本节包括以下章节:\n\n* [第 6 章](06.html),*使用 "
},
{
"path": "docs/app-dev-qt-creator/sec3.md",
"chars": 302,
"preview": "# 第三部分:实际事项\n\n在本书的第三部分中,我们将应用全书中提供的信息,并了解 Qt 中应用的开发和实现。 此外,我们还将学习一些 Qt 的技巧和技巧。\n\n本节包括以下章节:\n\n* [第 10 章](10.html),*使用 Qt 语"
},
{
"path": "docs/begin-cpp-game-prog/00.md",
"chars": 9035,
"preview": "# 零、序言\n\n这本书是关于提供一个有趣的游戏编程世界介绍,C++,和 OpenGL 供电 SFML 使用五个有趣的,完全可玩的游戏,增加难度和先进的特点。这些游戏是一个上瘾的,疯狂的双键敲击游戏,一个乒乓游戏,一个多级僵尸生存射击游戏,一"
},
{
"path": "docs/begin-cpp-game-prog/01.md",
"chars": 30060,
"preview": "# 一、C++,SFML,VisualStudio,并开始第一个游戏\n\n欢迎来到《开放 C++ 游戏编程》第 1 卷。我不会浪费任何时间让你开始写你的旅程,用 C++ 和 OpenGL 供电的 SFML 来为 PC 编写精彩的游戏。\n\n这是"
},
{
"path": "docs/begin-cpp-game-prog/02.md",
"chars": 25381,
"preview": "# 二、变量、运算符和决策——设置精灵动画\n\n在本章中,我们将在屏幕上做更多的绘制,为了实现这一点,我们将需要学习 C++ 的一些基础知识。我们将学习如何使用变量来记忆和操作值,并开始在游戏中添加更多图形。随着本章的深入,我们将了解如何操纵"
},
{
"path": "docs/begin-cpp-game-prog/03.md",
"chars": 15171,
"preview": "# 三、C++ 字符串和 SFML 时间——玩家输入和 HUD\n\n在本章中,我们将继续介绍木材!!游戏我们将在本章中花大约一半的时间学习如何操作文本并在屏幕上显示,另一半时间学习计时以及视觉时间条如何告知玩家剩余时间并在游戏中产生紧迫感。\n"
},
{
"path": "docs/begin-cpp-game-prog/04.md",
"chars": 22198,
"preview": "# 四、循环、数组、`switch`、枚举和函数——实现游戏机制\n\n这一章可能比这本书中的其他章节有更多的 C++ 信息。它充满了将极大地推动我们理解的基本概念。它还将开始揭示一些我们略过的模糊领域,比如函数和游戏循环。\n\n一旦我们探索了一"
},
{
"path": "docs/begin-cpp-game-prog/05.md",
"chars": 16631,
"preview": "# 五、碰撞、声音和结束条件——使游戏可玩\n\n这是第一个项目的最后阶段。本章结束时,您将完成第一个完整的游戏。一旦你有了木材!!!启动和运行时,请务必阅读本章的最后一节,因为它将提出使游戏更好的方法。\n\n在本章中,我们将介绍以下主题:\n\n*"
},
{
"path": "docs/begin-cpp-game-prog/06.md",
"chars": 16959,
"preview": "# 六、面向对象编程——启动乒乓球游戏\n\n在本章中,有相当多的理论,但这些理论将为我们提供开始使用具有一定专业知识的**面向对象编程**(**OOP**)所需的知识。此外,我们不会浪费任何时间把这个理论很好地应用,因为我们将使用它来编写下一"
},
{
"path": "docs/begin-cpp-game-prog/07.md",
"chars": 8241,
"preview": "# 七、动态碰撞检测与物理——完成乒乓球游戏\n\n在本章中,我们将编写第二个类。我们将看到,尽管球显然与球棒有很大不同,但我们将使用完全相同的技术将球的外观和功能封装在`Ball`类中,就像我们对球棒和`Bat`类所做的一样。然后,我们将通过"
},
{
"path": "docs/begin-cpp-game-prog/08.md",
"chars": 34340,
"preview": "# 八、SFML 视图——开始僵尸射击游戏\n\n在这个项目中,我们将更多地使用**OOP**并产生强大的效果。我们还将探索 SFML`View`类。这个多才多艺的课程可以让我们轻松地将游戏划分为不同的层次,以适应游戏的不同方面。在僵尸射手项目"
},
{
"path": "docs/begin-cpp-game-prog/09.md",
"chars": 16747,
"preview": "# 九、C++ 引用、精灵列表和顶点数组\n\n在[*第 4 章*](04.html#_idTextAnchor110)*循环、数组、开关、枚举和函数——实现游戏机制*中,我们讨论了范围。这是一个概念,即在函数或内部代码块中声明的变量在该函数或"
},
{
"path": "docs/begin-cpp-game-prog/10.md",
"chars": 35612,
"preview": "# 十、指针、标准模板库、纹理管理\n\n在本章中,我们将学到很多东西,并在游戏方面做很多工作。首先,我们将学习关于 To.T0 指针的基本 C++ 主题。指针是保存内存地址的变量。通常,指针将保存另一个变量的内存地址。这听起来有点像一个参考,"
},
{
"path": "docs/begin-cpp-game-prog/11.md",
"chars": 33367,
"preview": "# 十一、碰撞检测,拾音器和子弹\n\n到目前为止,我们已经实现了游戏的主要视觉元素。 我们有一个可控制的角色在充满僵尸追逐的竞技场中奔跑。 问题是它们之间没有相互作用。 僵尸可以毫无痕迹地穿过玩家的身体。 我们需要检测僵尸和玩家之间的冲突。\n"
},
{
"path": "docs/begin-cpp-game-prog/12.md",
"chars": 8527,
"preview": "# 十二、视图分层与 HUD 实现\n\n在本章中,我们将看到 SFML 视图的真正价值。 我们将添加一个大的 SFML`Text`对象数组,并对它们进行操作,就像我们之前在 Timber 中做的那样!! 项目和 Pong 项目。 新的是,我们"
},
{
"path": "docs/begin-cpp-game-prog/13.md",
"chars": 11676,
"preview": "# 十三、音效,文件 I/O,完成游戏\n\n我们快到了。 这个简短的章节将演示如何使用 c++ 标准库轻松地操作存储在硬盘上的文件,我们还将添加声音效果。 当然,我们知道如何添加声音效果,但我们将讨论对`play`函数的调用在代码中的确切位置"
},
{
"path": "docs/begin-cpp-game-prog/14.md",
"chars": 22864,
"preview": "# 十四、抽象和代码管理——更好地利用面向对象\n\n在这一章中,我们将首先看一下本书倒数第二个项目。我们将建立的项目将使用高级功能,如定向声音,其效果是相对于玩家的位置来看。它还将有分屏合作游戏。此外,本项目将引入**着色器**的概念,这是用"
},
{
"path": "docs/begin-cpp-game-prog/15.md",
"chars": 28304,
"preview": "# 十五、高级 OOP——继承与多态\n\n在本章中,我们将通过查看**继承**和**多态性**的稍微高级的概念来进一步扩展我们对 OOP 的了解。然后,我们将能够使用这些新知识来实现我们游戏中的明星人物,托马斯和鲍勃。以下是我们将在本章中介绍"
},
{
"path": "docs/begin-cpp-game-prog/16.md",
"chars": 27299,
"preview": "# 十六、建造可玩关卡和碰撞检测\n\n这一章可能是这个项目最令人满意的章节之一。这样做的原因是,到最后,我们将有一个可玩的游戏。尽管仍有一些功能需要实现(声音、粒子效果、平视显示器和着色器效果),鲍勃和托马斯将能够奔跑、跳跃和探索世界。此外,"
},
{
"path": "docs/begin-cpp-game-prog/17.md",
"chars": 24024,
"preview": "# 十七、声音空间化和平视显示器\n\n在本章中,我们将添加所有的声音效果和平视显示器。我们已经在前面的两个项目中做到了这一点,但是这次我们会做一些不同的事情。我们将探索声音**空间化**的概念,以及 SFML 如何让这个原本复杂的概念变得美好"
},
{
"path": "docs/begin-cpp-game-prog/18.md",
"chars": 24466,
"preview": "# 十八、粒子系统和着色器\n\n在这一章中,我们将看看什么是粒子系统,然后将它编码到我们的游戏中。我们将触及 OpenGL 着色器主题的表面,看看如何用另一种语言( **GLSL** )编写可以直接在显卡上运行的代码,以获得流畅的图形效果,否"
},
{
"path": "docs/begin-cpp-game-prog/19.md",
"chars": 61910,
"preview": "# 十九、游戏编程设计模式——启动太空入侵者 ++ 游戏\n\n欢迎来到最终项目。正如您现在已经预料到的,这个项目将在学习新的 C++ 技术方面向前迈出重要的一步。接下来的四章将关注诸如**智能指针**、C++ **断言、**使用游戏手柄控制器"
},
{
"path": "docs/begin-cpp-game-prog/20.md",
"chars": 48381,
"preview": "# 二十、游戏对象和组件\n\n在这一章中,我们将进行与上一章开始时讨论的实体-组件模式相关的所有编码。这意味着我们将对基础`Component`类进行编码,所有其他组件都将从该类中派生出来。我们也将很好地利用我们关于智能指针的新知识,这样我们"
},
{
"path": "docs/begin-cpp-game-prog/21.md",
"chars": 30008,
"preview": "# 二十一、文件输入输出和游戏对象工厂\n\n本章讲述了一个`GameObject`如何进入游戏中使用的`m_GameObjects vector`。我们将研究如何在文本文件中描述单个对象和整个级别。我们将编写代码来解释文本,然后将值加载到一个"
},
{
"path": "docs/begin-cpp-game-prog/22.md",
"chars": 28874,
"preview": "# 二十二、使用游戏对象和构建游戏\n\n本章是太空入侵者++ 项目的最后阶段。我们将学习如何使用 SFML 从游戏手柄接收输入,并编写一个类来处理入侵者和`GameScreen`类以及玩家和`GameScreen`类之间的通信。该类将允许玩家"
},
{
"path": "docs/begin-cpp-game-prog/23.md",
"chars": 1677,
"preview": "# 二十三、结束之前\n\n当你第一次打开一本书的这个大的门挡时,后面的一页可能看起来很遥远。但我希望不是太难。\n\n关键是你现在在这里,希望你对如何使用 C++ 构建游戏有很好的见解。\n\n这一章的重点是祝贺你取得的杰出成就,但也指出这一页可能不"
},
{
"path": "docs/begin-cpp-game-prog/README.md",
"chars": 935,
"preview": "# C++ 游戏编程入门手册\n\n> 原书:[Beginning C++ Game Programming](https://libgen.rs/book/index.php?md5=8B22C2649BDEC9FA4EE716AE82AE0"
},
{
"path": "docs/begin-cpp-game-prog/SUMMARY.md",
"chars": 786,
"preview": "+ [C++ 游戏编程入门手册](README.md)\n+ [零、序言](00.md)\n+ [一、C++,SFML,VisualStudio,并开始第一个游戏](01.md)\n+ [二、变量、运算符和决策——设置精灵动画]("
},
{
"path": "docs/begin-cpp-prog/00.md",
"chars": 4370,
"preview": "# 零、前言\n\nC++ 已经使用了 30 年,在此期间,许多新的语言层出不穷,但 C++ 却经久不衰。 这本书背后的一个大问题是:为什么? 为什么使用 C++? 答案就在你面前的十章中,但作为一个搅局者,它是语言的灵活性和力量,以及丰富而广"
},
{
"path": "docs/begin-cpp-prog/01.md",
"chars": 32940,
"preview": "# 一、从 C++ 开始\n\n为什么是 C++? 使用 C++ 的理由和本书的读者一样多。\n\n您选择 C++ 可能是因为您必须支持 C++ 项目。 在其生命周期的 30 年中,已经编写了数百万行 C++,大多数流行的应用和操作系统将主要用 C"
},
{
"path": "docs/begin-cpp-prog/02.md",
"chars": 44152,
"preview": "# 二、了解语言特性\n\n在上一章中,您安装了 C++ 编译器并开发了一个简单的应用。 您还探索了 C++ 项目的基本结构以及如何管理它们。 在本章中,您将更深入地学习语言,并学习控制代码流的各种语言功能。\n\n# 编写 C++\n\n在格式化和编"
},
{
"path": "docs/begin-cpp-prog/03.md",
"chars": 49657,
"preview": "# 三、探索 C++ 类型\n\n在最后两章中,您已经学习了如何编写 C++ 程序,了解了您使用的文件,以及控制执行流的方法。 本章介绍您将在程序中使用的数据:数据类型以及保存这些数据的变量。\n\n变量可以处理具有特定格式和特定行为的数据,这由变"
},
{
"path": "docs/begin-cpp-prog/04.md",
"chars": 43736,
"preview": "# 四、使用内存、数组和指针\n\nC++ 允许您通过指针直接访问内存。 这为您提供了很大的灵活性,并且潜在地允许您通过消除一些不必要的数据复制来提高代码的性能。 但是,它也提供了额外的错误来源;有些错误对您的应用可能是致命的,甚至更糟(是的,"
},
{
"path": "docs/begin-cpp-prog/05.md",
"chars": 44039,
"preview": "# 五、使用函数\n\n函数是 C++ 的基本基础设施;代码包含在函数中,要执行该代码,您必须调用函数。 C++ 在定义和调用函数的方式上非常灵活:您可以使用固定数量的参数或可变数量的参数定义函数;您可以编写泛型代码,以便相同的代码可以用于不同"
},
{
"path": "docs/begin-cpp-prog/06.md",
"chars": 46126,
"preview": "# 六、类\n\nC++ 允许您创建自己的类型。 这些自定义类型可以有运算符,也可以转换为其他类型;实际上,它们可以像内置类型一样与您定义的行为一起使用。 该工具使用一种称为类的语言功能。 能够定义您自己的类型的好处是,您可以将数据封装在所选类"
},
{
"path": "docs/begin-cpp-prog/07.md",
"chars": 55625,
"preview": "# 七、面向对象编程导论\n\n到目前为止,您已经了解了如何在函数中模块化代码,以及如何用类中的代码封装数据。 您还了解了如何使用模板编写泛型代码。 类和封装允许您将代码和数据组合为一个对象。 在本章中,您将学习如何通过继承和组合*重用*代码,"
},
{
"path": "docs/begin-cpp-prog/08.md",
"chars": 47736,
"preview": "# 八、使用标准库容器\n\n标准库提供了几种类型的容器;每种类型的容器都是通过模板化的类提供的,因此容器的行为可以用于任何类型的项。 有一些用于顺序容器的类,其中容器中项的顺序取决于项插入容器的顺序。 此外,还有已排序和未排序的关联容器,它们"
},
{
"path": "docs/begin-cpp-prog/09.md",
"chars": 42186,
"preview": "# 九、使用字符串\n\n在某些情况下,您的应用将需要与人通信,这意味着使用文本;例如输出文本、接受文本形式的数据,然后将数据转换为适当的类型。 C++ 标准库具有丰富的类集合,用于操作字符串、在字符串和数字之间进行转换,以及获取针对指定语言和"
},
{
"path": "docs/begin-cpp-prog/10.md",
"chars": 42847,
"preview": "# 十、诊断和调试\n\n软件是复杂的;然而,无论是在代码开发的正常测试阶段,还是在发布错误报告时,您在设计代码时,有时都必须对其进行调试。 谨慎的做法是设计代码,使测试和调试尽可能简单。 这意味着添加跟踪和报告代码,确定不变量以及前置条件和后"
},
{
"path": "docs/begin-cpp-prog/README.md",
"chars": 928,
"preview": "# C++ 编程入门手册\n\n> 原书:[Beginning C++ Programming](https://libgen.rs/book/index.php?md5=8B22C2649BDEC9FA4EE716AE82AE0BB1)\n> "
},
{
"path": "docs/begin-cpp-prog/SUMMARY.md",
"chars": 269,
"preview": "+ [C++ 编程入门手册](README.md)\n+ [零、前言](00.md)\n+ [一、从 C++ 开始](01.md)\n+ [二、了解语言特性](02.md)\n+ [三、探索 C++ 类型](03.md)\n+ "
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/0.md",
"chars": 3427,
"preview": "# 零、前言\n\n大约二十年前,网络应用不是很容易开发。但是多亏了 Boost.Asio 为我们提供了网络编程功能以及异步操作功能来编程网络应用,现在我们可以轻松地开发它们。由于网络上的数据传输可能需要很长时间,这意味着确认和错误可能没有发送"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/1.md",
"chars": 14467,
"preview": "# 一、使用 C++ 简化您的网络编程\n\n我们可以从网上选择几个 C++ 编译器。为了让您更容易理解本书中的所有代码,我选择了一个编译器,它将使编程过程更简单——绝对是最简单的一个。在本章中,您将发现以下主题:\n\n* 设置 MinGW "
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/2.md",
"chars": 25781,
"preview": "# 二、理解网络概念\n\n在开始编写网络应用之前,我们最好先了解一下网络是如何工作的。在本章中,我们将挖掘网络概念及其内容。我们将在本章中讨论的主题如下:\n\n* 区分现场视察模型和传输控制协议模型\n* 探索 IPv4 和 IPv6 中"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/3.md",
"chars": 13576,
"preview": "# 三、Boost C++ 库简介\n\n许多程序员使用库,因为这简化了编程过程。因为他们不再需要从头开始编写函数,所以使用库可以节省很多代码开发时间。在本章中,我们将了解 Boost C++ 库。让我们准备自己的编译器和文本编辑器来证明 Bo"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/4.md",
"chars": 22457,
"preview": "# 四、Boost.Asio 入门\n\n我们已经大致了解了 Boost C++ 库。现在是时候了解更多关于 Boost 的信息了.Asio,我们用来开发网络应用的库。助推.Asio 是用来异步处理数据的库的集合,因为 Asio 本身代表**异"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/5.md",
"chars": 27468,
"preview": "# 五、深入研究 Boost.Asio 库\n\n现在我们已经能够运行`io_service`对象并给它一些工作要做,是时候在`Boost.Asio`库中找到更多关于其他对象的信息,以便开发网络应用了。我们之前使用的`io_service`对象"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/6.md",
"chars": 28992,
"preview": "# 六、创建客户端——服务器应用\n\n在前一章中,我们深入研究了`Boost.Asio`库,这对开发网络应用非常重要。现在,我们将深入讨论一个**客户端-服务器**应用,它可以通过计算机网络在两台或多台计算机之间相互通信。其中一个叫**客户端"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/7.md",
"chars": 15658,
"preview": "# 七、调试代码并解决错误\n\n在前一章中,我们成功地开发了一个服务器-客户端程序。我们还顺利地运行了我们创建的程序。然而,有时我们在运行应用时会面临一些问题,比如收到意外结果或应用在运行时崩溃。在这种情况下,调试工具有能力帮助我们解决这些问"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/README.md",
"chars": 970,
"preview": "# Boost.Asio C++ 网络编程入门中文第二版\n\n> 原书:[Boost.Asio C++ Network Programming - Second Edition](https://libgen.rs/book/index.ph"
},
{
"path": "docs/boost-asio-cpp-net-prog-2e/SUMMARY.md",
"chars": 251,
"preview": "+ [Boost.Asio C++ 网络编程入门中文第二版](README.md)\n+ [零、前言](0.md)\n+ [一、使用 C++ 简化您的网络编程](1.md)\n+ [二、理解网络概念](2.md)\n+ [三、B"
},
{
"path": "docs/boost-cpp-app-dev-cb/00.md",
"chars": 5272,
"preview": "# 零、前言\n\n如果你想利用 Boost 和 C++ 的真正力量,避免在什么情况下使用哪个库的困惑,那么这本书就是为你准备的。\n从 Boost C++ 的基础知识开始,您将继续学习 Boost 库如何简化应用开发。您将学习转换数据,例如字符"
},
{
"path": "docs/boost-cpp-app-dev-cb/01.md",
"chars": 42618,
"preview": "# 一、开始编写应用\n\n在本章中,我们将介绍:\n\n* 获取配置选项\n* 在容器/变量中存储任何值\n* 在容器/变量中存储多个选择的类型\n* 使用更安全的方法来处理存储多个选定类型的容器\n* 如果没有值,则返回一个值或标志"
},
{
"path": "docs/boost-cpp-app-dev-cb/02.md",
"chars": 32279,
"preview": "# 二、管理资源\n\n在本章中,我们将涵盖以下主题:\n\n* 管理指向不离开作用域的类的本地指针\n* 跨函数使用的类指针的引用计数\n* 管理指向不超出范围的数组的本地指针\n* 跨函数使用的数组指针的引用计数\n* 将任何功能对"
},
{
"path": "docs/boost-cpp-app-dev-cb/03.md",
"chars": 29079,
"preview": "# 三、类型转换\n\n在本章中,我们将介绍:\n\n* 将字符串转换为数字\n* 将数字转换为字符串\n* 将数字转换成数字\n* 将用户定义的类型转换为字符串或从字符串转换\n* 转换智能指针\n* 转换多态对象\n* 解析简单"
},
{
"path": "docs/boost-cpp-app-dev-cb/04.md",
"chars": 26190,
"preview": "# 四、编译时技巧\n\n在本章中,我们将介绍以下内容:\n\n* 编译时检查大小\n* 启用积分类型的函数模板使用\n* 禁用真实类型的函数模板使用\n* 从数字创建类型\n* 实现类型特征\n* 为模板参数选择最佳运算符\n* "
},
{
"path": "docs/boost-cpp-app-dev-cb/05.md",
"chars": 33179,
"preview": "# 五、多线程操作\n\n在本章中,我们将介绍:\n\n* 创建执行线程\n* 同步对公共资源的访问\n* 使用原子快速访问公共资源\n* 创建工作队列类\n* 多读取器单写入器锁\n* 创建每个线程唯一的变量\n* 打断一根线\n*"
},
{
"path": "docs/boost-cpp-app-dev-cb/06.md",
"chars": 44499,
"preview": "# 六、操作任务\n\n在本章中,我们将介绍:\n\n* 为任意数据类型处理注册任务\n* 将计时器和处理计时器事件作为任务\n* 作为任务的网络通信\n* 接受传入连接\n* 并行执行不同的任务\n* 流水线任务处理\n* 制造非"
},
{
"path": "docs/boost-cpp-app-dev-cb/07.md",
"chars": 23949,
"preview": "# 七、操纵字符串\n\n在本章中,我们将介绍:\n\n* 更改大小写和不区分大小写的比较\n* 使用正则表达式匹配字符串\n* 使用正则表达式搜索和替换字符串\n* 使用类似 printf 的安全函数格式化字符串\n* 替换和擦除字符"
},
{
"path": "docs/boost-cpp-app-dev-cb/08.md",
"chars": 32167,
"preview": "# 八、元编程\n\n在本章中,我们将介绍:\n\n* 使用类型的类型向量\n* 操纵类型向量\n* 在编译时获取函数的结果类型\n* 制作高阶元功能\n* 懒洋洋地评估元功能\n* 将所有元组元素转换为字符串\n* 拆分元组\n* "
},
{
"path": "docs/boost-cpp-app-dev-cb/09.md",
"chars": 33029,
"preview": "# 九、容器\n\n在本章中,我们将介绍:\n\n* 在序列容器中存储一些元素\n* 在序列容器中存储最多 N 个元素\n* 以超快的方式比较字符串\n* 使用无序集和映射\n* 制作地图,其中值也是一个关键\n* 使用多索引容器\n*"
},
{
"path": "docs/boost-cpp-app-dev-cb/10.md",
"chars": 15427,
"preview": "# 十、收集平台和编译器信息\n\n在本章中,我们将介绍:\n\n* 检测操作系统和编译器\n* 检测 int128 支持\n* 检测并旁路禁用的 RTTI\n* 使用更简单的方法编写元函数\n* 在 C++ 11 中减少代码大小并提高"
},
{
"path": "docs/boost-cpp-app-dev-cb/11.md",
"chars": 28600,
"preview": "# 十一、使用系统\n\n在本章中,我们将介绍:\n\n* 列出目录中的文件\n* 擦除和创建文件和目录\n* 编写和使用插件\n* 获取回溯-当前调用序列\n* 将数据从一个进程快速传递到另一个进程\n* 同步进程间通信\n* 在"
},
{
"path": "docs/boost-cpp-app-dev-cb/12.md",
"chars": 18620,
"preview": "# 十二、Boost 的冰山一角\n\n在本章中,我们将介绍:\n\n* 使用图形\n* 可视化图形\n* 使用真随机数发生器\n* 使用便携式数学函数\n* 编写测试用例\n* 在一个测试模块中组合多个测试用例\n* 操纵图像\n\n"
},
{
"path": "docs/boost-cpp-app-dev-cb/README.md",
"chars": 951,
"preview": "# Boost C++ 应用开发秘籍\n\n> 原书:[Boost C++ Application Development Cookbook](https://libgen.rs/book/index.php?md5=7D962636A0EEA"
},
{
"path": "docs/boost-cpp-app-dev-cb/SUMMARY.md",
"chars": 309,
"preview": "+ [Boost C++ 应用开发秘籍](README.md)\n+ [零、前言](00.md)\n+ [一、开始编写应用](01.md)\n+ [二、管理资源](02.md)\n+ [三、类型转换](03.md)\n+ [四"
},
{
"path": "docs/cpp-dsal-design-principle/00.md",
"chars": 2333,
"preview": "# 零、前言\n\n## 大约\n\n本节简要介绍作者、本书的内容、入门所需的技术技能,以及完成所有附带活动和练习所需的硬件和软件要求。\n\n## 关于书\n\nC++ 是一种成熟的多范例编程语言,使您能够编写对硬件具有高度控制的高级代码。如今,软件基础"
},
{
"path": "docs/cpp-dsal-design-principle/01.md",
"chars": 45511,
"preview": "# 一、列表、栈和队列\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 描述在任何应用中使用正确数据结构的重要性\n* 根据问题,实现各种内置数据结构,使应用开发更加容易\n* 如果 C++ 提供的数据结构对于用例来说不够好,那么"
},
{
"path": "docs/cpp-dsal-design-principle/02.md",
"chars": 37483,
"preview": "# 二、树、堆和图\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 分析和识别可以使用非线性数据结构的地方\n* 实现和操作树结构来表示数据和解决问题\n* 使用各种方法遍历树\n* 实现一个图结构来表示数据和解决问题\n* "
},
{
"path": "docs/cpp-dsal-design-principle/03.md",
"chars": 31029,
"preview": "# 三、哈希表和布隆过滤器\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 在任何大型应用中轻松识别与查找相关的问题\n* 评估问题是否适合确定性或非确定性查找解决方案\n* 根据场景实施高效的查找解决方案\n* 在大型应用中实"
},
{
"path": "docs/cpp-dsal-design-principle/04.md",
"chars": 42190,
"preview": "# 四、分治法\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 描述各个击破的设计范例\n* 实现标准的分治算法,如合并排序、快速排序和线性时间选择\n* 使用 MapReduce 编程模型解决问题\n* 了解如何使用多线程 C"
},
{
"path": "docs/cpp-dsal-design-principle/05.md",
"chars": 33807,
"preview": "# 五、贪婪算法\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 描述算法设计的贪婪方法\n* 识别问题的最优子结构和贪婪选择性质\n* 实现贪婪算法,如分数背包和贪婪图着色\n* 使用不相交集数据结构实现克鲁斯卡尔最小生成树算"
},
{
"path": "docs/cpp-dsal-design-principle/06.md",
"chars": 36790,
"preview": "# 六、图算法 1\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 描述图在解决各种现实问题中的效用\n* 选择并实现正确的遍历方法来查找图中的元素\n* 用 Prim 算法求解最小生成树问题\n* 确定何时使用 Prim 和 "
},
{
"path": "docs/cpp-dsal-design-principle/07.md",
"chars": 31737,
"preview": "# 七、图算法 2\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 描述 Dijkstra 算法的固有问题,并演示如何对其进行修改和/或与其他算法相结合来规避这些问题\n* 使用贝尔曼-福特和约翰逊算法寻找图中的最短路径\n* 描"
},
{
"path": "docs/cpp-dsal-design-principle/08.md",
"chars": 45567,
"preview": "# 八、动态规划一\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 分析动态规划方法是否可以应用于给定的问题\n* 比较并选择记忆和列表的正确方法\n* 使用记忆选择合适的缓存解决方案\n* 使用简单的暴力方法分析问题\n* "
},
{
"path": "docs/cpp-dsal-design-principle/09.md",
"chars": 38352,
"preview": "# 九、动态规划二\n\n## 学习目标\n\n本章结束时,您将能够:\n\n* 描述如何在多项式时间和非确定性多项式时间内解决问题,以及这对我们开发高效算法能力的影响\n* 实现 0-1 和无界背包问题的解决方案\n* 将状态空间约简的概念应"
},
{
"path": "docs/cpp-dsal-design-principle/10.md",
"chars": 116947,
"preview": "# 十、附录\n\n## 关于\n\n包括这一部分是为了帮助学生完成书中的活动。它包括学生为实现活动目标而要执行的详细步骤。\n\n## 第 1 章:列表、栈和队列\n\n### 活动 1:实现歌曲播放列表\n\n在本练习中,我们将实现一个双重链表的调整版本,"
},
{
"path": "docs/cpp-dsal-design-principle/README.md",
"chars": 959,
"preview": "# C++ 数据结构和算法设计原则\n\n> 原书:[C++ Data Structures and Algorithm Design Principles](https://libgen.rs/book/index.php?md5=89B76"
},
{
"path": "docs/cpp-dsal-design-principle/SUMMARY.md",
"chars": 261,
"preview": "+ [C++ 数据结构和算法设计原则](README.md)\n+ [零、前言](00.md)\n+ [一、列表、栈和队列](01.md)\n+ [二、树、堆和图](02.md)\n+ [三、哈希表和布隆过滤器](03.md)\n"
},
{
"path": "docs/cpp-gui-prog-qt5/00.md",
"chars": 3712,
"preview": "# 零、前言\n\nQt 的最新版本 Qt 5 使您能够为多个目标开发具有复杂用户界面的应用。它为您提供了更快、更智能的方法来为多个平台创建现代用户界面和应用。这本书将教你如何设计和构建功能性、吸引力和用户友好的图形用户界面。\n\n到本书结束时,"
},
{
"path": "docs/cpp-gui-prog-qt5/01.md",
"chars": 7753,
"preview": "# 一、Qt 简介\n\nQt(发音为*可爱*)自第一次发布以来,已经被软件工程师和开发人员使用了二十多年来创建跨平台应用。在经历了几次所有权变更和大量的重大代码修改之后,Qt 变得更加功能丰富,并且支持比过去更多的平台。Qt 不仅擅长桌面应用"
},
{
"path": "docs/cpp-gui-prog-qt5/02.md",
"chars": 9402,
"preview": "# 二、Qt 小部件和样式表\n\n使用 Qt 进行软件开发的一个优势是,使用 Qt 提供的工具设计程序的**图形用户界面** ( **GUI** )非常容易。在本书中,我们将尝试创建一个单一的项目,该项目涉及 Qt 的许多不同组件和模块。我们"
},
{
"path": "docs/cpp-gui-prog-qt5/03.md",
"chars": 19279,
"preview": "# 三、数据库连接\n\n在前一章中,我们学习了如何从头开始创建登录页面。但是,它还没有运行,因为登录页面没有连接到数据库。在本章中,您将学习如何将 Qt 应用连接到验证登录凭据的 MySQL(或 MariaDB)数据库。\n\n在本章中,我们将涵"
},
{
"path": "docs/cpp-gui-prog-qt5/04.md",
"chars": 12675,
"preview": "# 四、图表\n\n在前一章中,我们学习了如何使用 Qt 的`sql`模块从数据库中检索数据。有许多方法可以将这些数据呈现给用户,例如以表格或图表的形式显示。在本章中,我们将学习如何做后者——使用 Qt 的图表模块用不同类型的图形和图表呈现数据"
},
{
"path": "docs/cpp-gui-prog-qt5/05.md",
"chars": 15794,
"preview": "# 五、项目视图和对话框\n\n在前一章中,我们学习了如何使用不同类型的图表显示数据。图表是在屏幕上向用户呈现信息的许多方式之一。对于您的应用来说,向用户呈现重要信息非常重要,这样他们就可以确切地知道应用发生了什么——数据是否已成功保存,或者应"
},
{
"path": "docs/cpp-gui-prog-qt5/06.md",
"chars": 14502,
"preview": "# 六、整合网络内容\n\n在前一章中,我们学习了如何在 Qt 中使用项目视图和对话框。在本章中,我们将学习如何将 web 内容集成到我们的 Qt 应用中。\n\n从 90 年代末和 21 世纪初的网络时代开始,我们的世界越来越多地通过互联网连接起"
},
{
"path": "docs/cpp-gui-prog-qt5/07.md",
"chars": 16081,
"preview": "# 七、地图查看器\n\n用户位置和地图显示是这几天变得越来越普遍的两个特征,并且已经被用于各种类型的应用中。它们通常用于后端分析和前端显示。\n\n地图查看器可用于导航、附近的兴趣点查找、基于位置的服务(如叫出租车)等。您可以使用 Qt 来实现大"
},
{
"path": "docs/cpp-gui-prog-qt5/08.md",
"chars": 15828,
"preview": "# 八、图形视图\n\n在前一章中,我们通过在地图上显示坐标数据,了解了视觉呈现对用户的重要性。在本章中,我们将进一步探讨使用 Qt 的 Graphics View 框架来表示图形数据的可能性。\n\n在本章中,我们将涵盖以下主题:\n\n* 图形"
},
{
"path": "docs/cpp-gui-prog-qt5/09.md",
"chars": 9756,
"preview": "# 九、照相机模块\n\n在以越来越大的难度完成了这么多章节之后,让我们为这一章尝试一些更简单、更有趣的东西吧!我们将学习如何通过 Qt 的多媒体模块访问我们的相机并使用它拍照。\n\n在本章中,我们将涵盖以下主题:\n\n* Qt 多媒体模块\n*"
},
{
"path": "docs/cpp-gui-prog-qt5/10.md",
"chars": 12768,
"preview": "# 十、即时消息\n\n公司软件的一个重要特征是与员工沟通的能力。因此,内部即时消息系统是软件的关键部分。通过在 Qt 中加入网络模块,我们可以很容易地用它创建一个聊天系统。\n\n在本章中,我们将涵盖以下主题:\n\n* Qt 网络模块\n* "
},
{
"path": "docs/cpp-gui-prog-qt5/11.md",
"chars": 12012,
"preview": "# 十一、实现图形编辑器\n\nQt 使用`QPainter`类为我们提供了低级别的图形渲染。Qt 能够渲染位图和矢量图像。在本章中,我们将学习如何使用 Qt 绘制形状,最后,创建一个我们自己的绘制程序。\n\n在本章中,我们将涵盖以下主题:\n\n*"
},
{
"path": "docs/cpp-gui-prog-qt5/12.md",
"chars": 15277,
"preview": "# 十二、云存储\n\n在前一章中,我们学习了如何使用 Qt 在屏幕上绘制图像。然而,在这一章中,我们将学习一些完全不同的东西,那就是设置我们自己的文件服务器并将其链接到我们的 Qt 应用。\n\n在本章中,我们将涵盖以下主题:\n\n* 设置文件"
},
{
"path": "docs/cpp-gui-prog-qt5/13.md",
"chars": 12695,
"preview": "# 十三、多媒体查看器\n\n在前一章中,我们学习了如何通过云存储上传和下载文件。现在,在本章中,我们将学习如何使用 Qt 的多媒体模块打开这些文件,特别是媒体文件,如图像、音乐和视频。\n\n在本章中,我们将涵盖以下主题:\n\n* 重温多媒体模"
},
{
"path": "docs/cpp-gui-prog-qt5/14.md",
"chars": 13374,
"preview": "# 十四、Qt Quick 和 QML\n\n在这一章中,我们将学习一些与本书其余章节非常不同的东西。Qt 由两种不同的开发应用的方法组成。第一种方法是 Qt Widgets 和 C++,我们在前面的章节中已经介绍过了。第二种方法是使用 Qt "
},
{
"path": "docs/cpp-gui-prog-qt5/15.md",
"chars": 11079,
"preview": "# 十五、跨平台开发\n\n自从第一次发布以来,Qt 就以其跨平台能力而闻名。这也是创始人决定创建这个框架时的主要目标之一,早在它被**诺基亚**以及后来的**Qt 公司**接管之前。\n\n在本章中,我们将涵盖以下主题:\n\n* 编译程序\n* "
},
{
"path": "docs/cpp-gui-prog-qt5/16.md",
"chars": 6494,
"preview": "# 十六、测试和调试\n\n我们在阅读编程相关的教程或文章时,经常会看到 *debug* 这个词。但是你知道调试是什么意思吗?编程术语中的*错误*指的是计算机程序中的错误或缺陷,导致软件无法正常运行,这通常会导致不正确的输出甚至崩溃。\n\n在本章"
},
{
"path": "docs/cpp-gui-prog-qt5/README.md",
"chars": 935,
"preview": "# C++ Qt5 GUI 编程\n\n> 原书:[C++ GUI Programming with QT5](https://libgen.rs/book/index.php?md5=63069FF6B9B588D5C75E8D5B8DBFB"
},
{
"path": "docs/cpp-gui-prog-qt5/SUMMARY.md",
"chars": 406,
"preview": "+ [C++ Qt5 GUI 编程](README.md)\n+ [零、前言](00.md)\n+ [一、Qt 简介](01.md)\n+ [二、Qt 小部件和样式表](02.md)\n+ [三、数据库连接](03.md)\n+ "
},
{
"path": "docs/cpp-hiperf/00.md",
"chars": 4329,
"preview": "# 零、前言\n\n今天的 C++ 为程序员提供了编写富于表现力和健壮的代码的能力,同时仍然可以针对几乎任何硬件平台,同时满足性能关键的要求。这使得 C++ 成为一种独特的语言。在过去的几年里,C++ 已经变成了一种现代语言,使用起来更有趣,并"
},
{
"path": "docs/cpp-hiperf/01.md",
"chars": 12418,
"preview": "# 一、C++ 简介\n\n这本书旨在为您提供编写高效应用的坚实基础,以及在现代 C++ 中实现库的策略。我试图用一种实用的方法来解释今天 C++ 是如何工作的,从 C++ 11 到 C++ 20 的现代特性是语言的自然组成部分,而不是从历史上"
},
{
"path": "docs/cpp-hiperf/02.md",
"chars": 43252,
"preview": "# 二、基本的 C++ 技术\n\n在这一章中,我们将深入研究一些基本的 C++ 技术,例如移动语义、错误处理和 lambda 表达式,这些将在本书中用到。这些概念中的一些仍然让有经验的 C++ 程序员感到困惑,因此我们将研究他们的用例以及他们"
},
{
"path": "docs/cpp-hiperf/03.md",
"chars": 26248,
"preview": "# 三、分析和测量性能\n\n由于这是一本关于编写高效运行的 C++ 代码的书,我们需要涵盖一些关于如何衡量软件性能和评估算法效率的基础知识。本章中的大多数主题都不是针对 C++ 的,只要遇到性能问题,就可以使用。\n\n您将学习如何使用大 O 符"
},
{
"path": "docs/cpp-hiperf/04.md",
"chars": 26959,
"preview": "# 四、数据结构\n\n在最后一章中,我们讨论了如何分析时间和内存复杂性以及如何衡量性能。在本章中,我们将讨论如何从标准库中选择和使用数据结构。为了理解为什么某些数据结构在今天的计算机上工作得非常好,我们首先需要介绍一些关于计算机内存的基础知识"
},
{
"path": "docs/cpp-hiperf/05.md",
"chars": 34206,
"preview": "# 五、算法\n\nC++ 程序员广泛使用标准库中的容器。例如,很少找到没有引用`std::vector`或`std::string`的 C++ 代码库。然而,根据我的经验,标准库算法的使用频率要低得多,尽管它们提供了与容器相同的好处:\n\n* "
},
{
"path": "docs/cpp-hiperf/06.md",
"chars": 14990,
"preview": "# 六、范围和视图\n\n本章将从上一章关于算法及其局限性的地方继续。范围库中的视图是算法库的强大补充,它允许我们在一系列元素上将多个转换组合成一个延迟的评估视图。阅读本章后,您将了解什么是范围视图,以及如何将它们与标准库中的容器、迭代器和算法"
},
{
"path": "docs/cpp-hiperf/07.md",
"chars": 41055,
"preview": "# 七、内存管理\n\n读完前面几章,我们处理内存的方式会对性能产生巨大影响,这应该不再令人惊讶。中央处理器花费大量时间在中央处理器寄存器和主存储器之间洗牌(向主存储器加载数据和从主存储器存储数据)。如*第四章*、*数据结构*所示,CPU 使用"
},
{
"path": "docs/cpp-hiperf/08.md",
"chars": 34205,
"preview": "# 八、编译时编程\n\nC++ 能够在编译时计算表达式,这意味着程序执行时已经计算出了值。尽管自 C++ 98 以来元编程已经成为可能,但由于其复杂的基于模板的语法,它最初非常复杂。随着`constexpr`、`if constexpr`以及"
},
{
"path": "docs/cpp-hiperf/09.md",
"chars": 27467,
"preview": "# 九、基本工具\n\n本章将介绍 C++ 实用程序库中的一些基本类。为了有效地处理包含不同类型元素的集合,将使用前一章中介绍的一些元编程技术。\n\nC++ 容器是同质的,这意味着它们只能存储一种类型的元素。一个`std::vector<int>"
},
{
"path": "docs/cpp-hiperf/10.md",
"chars": 16035,
"preview": "# 十、代理对象和延迟求值\n\n在本章中,您将学习如何使用代理对象和延迟求值,以便将某些代码的执行推迟到需要的时候。使用代理对象可以在幕后进行优化,从而保持暴露的接口不变。\n\n本章包括:\n\n* 延迟而急切的评价\n* 使用代理对象来避免"
},
{
"path": "docs/cpp-hiperf/11.md",
"chars": 47969,
"preview": "# 十一、并发\n\n在上一章介绍了延迟求值和代理对象之后,我们现在将探讨如何使用共享内存的线程在 C++ 中编写并发程序。我们将通过编写没有数据竞争和死锁的程序来寻找使并发程序正确的方法。本章还将包含如何让并发程序以低延迟和高吞吐量运行的建议"
},
{
"path": "docs/cpp-hiperf/12.md",
"chars": 42302,
"preview": "# 十二、协程和延迟生成器\n\n计算已经成为一个等待的世界,我们需要我们的编程语言的支持,以便能够表达*等待*。总的想法是暂停(暂时暂停)当前流程,并将执行移交给其他流程,只要它到达我们知道可能需要等待的点。这个*我们需要等待的东西*可能是网"
},
{
"path": "docs/cpp-hiperf/13.md",
"chars": 24803,
"preview": "# 十三、使用协程的异步编程\n\n在前一章中实现的生成器类帮助我们使用 coroutines 来构建延迟评估的序列。C++ 协程也可以用于异步编程,方法是让协程表示异步计算或**异步任务**。虽然异步编程是在 C++ 中拥有协程的最重要的驱动"
},
{
"path": "docs/cpp-hiperf/14.md",
"chars": 29896,
"preview": "# 十四、并行算法\n\n前面几章集中讨论了如何通过使用线程和协程在我们的程序中引入并发和异步。本章着重于独立任务的并行执行,它与并发性相关但又不同。\n\n在前面的章节中,我强调我更喜欢标准的库算法,而不是手工的`for`-循环。在本章中,您将看"
},
{
"path": "docs/cpp-hiperf/README.md",
"chars": 922,
"preview": "# C++ 高性能编程\n\n> 原书:[C++ High Performance](https://libgen.rs/book/index.php?md5=753C0F2773B6B78B5104ECB1B57442D4)\n> \n> 协议:"
},
{
"path": "docs/cpp-hiperf/SUMMARY.md",
"chars": 352,
"preview": "+ [C++ 高性能编程](README.md)\n+ [零、前言](00.md)\n+ [一、C++ 简介](01.md)\n+ [二、基本的 C++ 技术](02.md)\n+ [三、分析和测量性能](03.md)\n+ "
},
{
"path": "docs/cpp-react-prog/00.md",
"chars": 4506,
"preview": "# 零、前言\n\n这本书将帮助你学习如何用 C++ 实现反应式编程范式,并构建异步和并发应用。这本书包括真实世界的问题,你将使用反应式编程模型来解决。它强调了事件处理在编程世界中的发展方式。您将学习 C++ 中的语言级并发和函数式反应式编程。"
},
{
"path": "docs/cpp-react-prog/01.md",
"chars": 24243,
"preview": "# 一、反应式编程模型——概述和历史\n\nX Windows 系统、微软 Windows 和 IBM OS/2 演示管理器使 GUI 编程在 PC 平台上流行起来。这是对之前存在的字符模式用户界面和批处理风格编程模型的重大转变。对事件的响应成"
},
{
"path": "docs/cpp-react-prog/02.md",
"chars": 37047,
"preview": "# 二、现代 C++ 及其关键习语概述\n\n经典的 C++ 编程语言在 1998 年实现了标准化,随后在 2003 年进行了小规模的修订(大部分是修正)。为了支持高级抽象,开发人员依赖于 Boost([http://www.boost.org"
},
{
"path": "docs/cpp-react-prog/03.md",
"chars": 25498,
"preview": "# 三、C++ 中的语言级并发和并行\n\n自从 C++ 11 语言标准问世以来,C++ 就对并发编程有了极好的支持。在此之前,线程化是一件由特定平台库处理的事情。微软公司有自己的线程库,其他平台(GNU Linux/macOS X)支持 PO"
},
{
"path": "docs/cpp-react-prog/04.md",
"chars": 26248,
"preview": "# 四、C++ 中的异步和无锁编程\n\n在前一章中,我们研究了现代 C++ 引入的线程库以及创建、管理和同步线程的各种方法。用线程编写代码的方式相当低级,容易出现与并发代码相关的潜在错误(死锁、实时锁等)。尽管现代 C++ 语言没有被许多程序"
},
{
"path": "docs/cpp-react-prog/05.md",
"chars": 25010,
"preview": "# 五、可观察对象介绍\n\n在最后三章中,我们学习了现代 C++ 的语言特性:多线程、无锁编程模型等等。这里涉及的主题可以被认为是开始学习反应式编程模型的一种先决条件。反应式编程模型保证了函数式编程、并发编程、调度器、对象/函数式编程、设计模"
},
{
"path": "docs/cpp-react-prog/06.md",
"chars": 16789,
"preview": "# 六、C++ 事件流编程简介\n\n这一章将是使用 C++ 编程反应系统所需的一系列先决条件章节中的最后一章。我们之所以需要经历相当多的概念,是因为反应式编程模型在实现其健壮的编程模型时统一了许多计算概念。要开始被动思考,程序员必须熟悉面向对"
},
{
"path": "docs/cpp-react-prog/07.md",
"chars": 20379,
"preview": "# 七、数据流计算和 RxCpp 库简介\n\n从这一章开始,我们将进入反应式编程模型的核心。您可以将前面的章节视为理解反应式编程模型的一种先决条件,更具体地说,是功能反应式编程。如果我们回顾一下,我们涵盖了必要的先决条件,包括以下内容:\n\n*"
},
{
"path": "docs/cpp-react-prog/08.md",
"chars": 22015,
"preview": "# 八、关键要素\n\n在前一章中,我们介绍了 RxCpp 库及其编程模型。我们编写了一些程序来了解图书馆的运作。我们还介绍了 RxCpp 库的基本元素。在这一章中,我们将深入讨论 RxCpp 库的关键元素以及反应式编程模型,包括以下内容:\n\n"
}
]
// ... and 387 more files (download for full content)
About this extraction
This page contains the full source code of the apachecn/apachecn-c-cpp-zh GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 587 files (11.2 MB), approximately 3.0M tokens, and a symbol index with 58 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.