From 399d4d579f1f9e2cac1db074d789107ec42942bf Mon Sep 17 00:00:00 2001 From: chai2010 Date: Tue, 13 Aug 2024 08:23:55 +0800 Subject: [PATCH] first commit --- .gitattributes | 1 + .nojekyll | 0 Makefile | 34 + appendix/a-goyacc/calc.y | 63 + .../a-goyacc/examples/calculator/Makefile | 18 + appendix/a-goyacc/examples/calculator/calc.l | 31 + .../a-goyacc/examples/calculator/calc.lex.c | 1808 +++++++++++ .../a-goyacc/examples/calculator/calc.lex.h | 322 ++ .../a-goyacc/examples/calculator/calc.y.go | 540 ++++ appendix/a-goyacc/examples/calculator/go.mod | 7 + appendix/a-goyacc/examples/calculator/lex.go | 90 + appendix/a-goyacc/examples/calculator/main.go | 36 + appendix/a-goyacc/examples/calculator/tok.h | 21 + appendix/a-goyacc/readme.html | 477 +++ appendix/b-antlr4/Calc.g4 | 19 + appendix/b-antlr4/Makefile | 7 + appendix/b-antlr4/calc/Calc.interp | 25 + appendix/b-antlr4/calc/Calc.tokens | 10 + appendix/b-antlr4/calc/CalcLexer.interp | 35 + appendix/b-antlr4/calc/CalcLexer.tokens | 10 + appendix/b-antlr4/calc/calc_base_listener.go | 46 + appendix/b-antlr4/calc/calc_base_visitor.go | 25 + appendix/b-antlr4/calc/calc_lexer.go | 99 + appendix/b-antlr4/calc/calc_listener.go | 34 + appendix/b-antlr4/calc/calc_parser.go | 601 ++++ appendix/b-antlr4/calc/calc_visitor.go | 22 + appendix/b-antlr4/go.mod | 7 + appendix/b-antlr4/go.sum | 2 + appendix/b-antlr4/listener.go | 37 + appendix/b-antlr4/main.go | 27 + appendix/b-antlr4/readme.html | 395 +++ appendix/b-antlr4/stack.go | 17 + appendix/b-antlr4/visitor.go | 56 + appendix/b-antlr4/vscode.png | Bin 0 -> 662716 bytes ch1/examples/01/main.go | 25 + ch1/examples/02/main.go | 23 + ch1/readme.html | 515 ++++ ch10/examples/01/main.go | 36 + ch10/examples/02/main.go | 35 + ch10/examples/03/main.go | 35 + ch10/examples/04/main.go | 35 + ch10/examples/05/main.go | 35 + ch10/examples/06/main.go | 35 + ch10/examples/07/main.go | 35 + ch10/examples/08/main.go | 35 + ch10/examples/09/main.go | 25 + ch10/examples/10/main.go | 27 + ch10/readme.html | 756 +++++ ch11/examples/01/main.go | 25 + ch11/examples/02/main.go | 35 + ch11/examples/03/main.go | 39 + ch11/examples/04/main.go | 86 + ch11/readme.html | 447 +++ ch12/examples/01/fmt/print.go | 5 + ch12/examples/01/hello/hello.go | 11 + ch12/examples/01/main.go | 92 + ch12/readme.html | 265 ++ ch13/examples/00/go.mod | 5 + ch13/examples/00/go.sum | 18 + ch13/examples/00/main.go | 80 + ch13/examples/01/go.mod | 5 + ch13/examples/01/go.sum | 18 + ch13/examples/01/main.go | 118 + ch13/examples/02/go.mod | 5 + ch13/examples/02/go.sum | 18 + ch13/examples/02/main.go | 92 + ch13/readme.html | 264 ++ ch14/examples/01-hello/Makefile | 6 + ch14/examples/01-hello/_a.ll | 10 + ch14/examples/01-hello/go.mod | 8 + ch14/examples/01-hello/go.sum | 38 + ch14/examples/01-hello/ll.go | 67 + ch14/examples/01-hello/main.go | 52 + ch14/examples/01-hello/run.go | 96 + ch14/examples/02-global-var/main.go | 60 + ch14/examples/02-global-var/run.go | 148 + .../examples/02-global-var/wabuildin/print.go | 29 + .../02-global-var/waops/ops_const_value.go | 70 + .../examples/02-global-var/waops/ops_un_op.go | 86 + ch14/examples/02-global-var/waops/ops_zero.go | 71 + ch14/examples/02-global-var/waops/utils.go | 15 + ch14/examples/02-global-var/watypes/value.go | 49 + ch14/examples/03-frame/main.go | 60 + ch14/examples/03-frame/run.go | 168 ++ ch14/examples/03-frame/wabuildin/print.go | 29 + .../03-frame/waops/ops_const_value.go | 70 + ch14/examples/03-frame/waops/ops_un_op.go | 86 + ch14/examples/03-frame/waops/ops_zero.go | 71 + ch14/examples/03-frame/waops/utils.go | 15 + ch14/examples/03-frame/watypes/value.go | 49 + ch14/examples/04-bi-op/main.go | 63 + ch14/examples/04-bi-op/run.go | 171 ++ ch14/examples/04-bi-op/wabuildin/print.go | 29 + ch14/examples/04-bi-op/waops/ops_bin_op.go | 422 +++ .../04-bi-op/waops/ops_const_value.go | 70 + ch14/examples/04-bi-op/waops/ops_un_op.go | 86 + ch14/examples/04-bi-op/waops/ops_zero.go | 71 + ch14/examples/04-bi-op/waops/utils.go | 15 + ch14/examples/04-bi-op/watypes/value.go | 92 + ch14/examples/05-branch/main.go | 79 + ch14/examples/05-branch/run.go | 197 ++ ch14/examples/05-branch/wabuildin/print.go | 29 + ch14/examples/05-branch/waops/ops_bin_op.go | 422 +++ .../05-branch/waops/ops_const_value.go | 70 + ch14/examples/05-branch/waops/ops_un_op.go | 86 + ch14/examples/05-branch/waops/ops_zero.go | 71 + ch14/examples/05-branch/waops/utils.go | 15 + ch14/examples/05-branch/watypes/value.go | 92 + ch14/examples/06-import-func/main.go | 75 + ch14/examples/06-import-func/run.go | 211 ++ .../06-import-func/wabuildin/print.go | 29 + .../06-import-func/waops/ops_bin_op.go | 422 +++ .../06-import-func/waops/ops_const_value.go | 70 + .../06-import-func/waops/ops_un_op.go | 86 + .../examples/06-import-func/waops/ops_zero.go | 71 + ch14/examples/06-import-func/waops/utils.go | 15 + ch14/examples/06-import-func/watypes/value.go | 92 + ch14/readme.html | 264 ++ ch15/examples/01/.keep | 0 ch15/readme.html | 264 ++ ch16/examples/01/.keep | 0 ch16/examples/tests/test0.w | 7 + ch16/examples/tests/test1.w | 1 + ch16/examples/tests/test2.w | 1 + ch16/examples/tests/test3.w | 1 + ch16/examples/tests/test4.w | 1 + ch16/examples/tests/test5.w | 1 + ch16/examples/tests/test6.w | 1 + ch16/examples/tests/test7.w | 1 + ch16/examples/tests/test8.w | 2 + ch16/examples/tests/test9.w | 3 + ch16/examples/wcc/wcc.go | 244 ++ ch16/readme.html | 264 ++ ch2/examples/01/main.go | 14 + ch2/examples/02/main.go | 11 + ch2/examples/03/main.go | 13 + ch2/readme.html | 407 +++ ch3/examples/01/main.go | 35 + ch3/examples/02/main.go | 39 + ch3/readme.html | 436 +++ ch4/code/ch1/main.go | 52 + ch4/code/ch2/main.go | 46 + ch4/examples/01/main.go | 41 + ch4/examples/02/main.go | 73 + ch4/examples/03/main.go | 170 ++ ch4/examples/04/main.go | 224 ++ ch4/examples/05/main.go | 178 ++ ch4/examples/06/main.go | 43 + ch4/examples/0x/main.go | 45 + ch4/readme.html | 423 +++ ch5/examples/01/main.go | 27 + ch5/examples/02/main.go | 29 + ch5/examples/03/main.go | 30 + ch5/examples/04/main.go | 29 + ch5/examples/xx/main.go | 46 + ch5/readme.html | 515 ++++ ch6/examples/01/main.go | 36 + ch6/readme.html | 328 ++ ch7/examples/01/main.go | 25 + ch7/examples/02/main.go | 25 + ch7/examples/03/main.go | 24 + ch7/examples/04/main.go | 24 + ch7/examples/05/main.go | 27 + ch7/examples/06/main.go | 24 + ch7/examples/07/main.go | 24 + ch7/examples/08/main.go | 24 + ch7/examples/09/main.go | 26 + ch7/examples/0x-001/main.go | 24 + ch7/readme.html | 778 +++++ ch8/examples/01/main.go | 11 + ch8/examples/02/main.go | 11 + ch8/examples/03/main.go | 13 + ch8/examples/04/main.go | 11 + ch8/examples/05/main.go | 14 + ch8/examples/06/main.go | 11 + ch8/readme.html | 493 +++ ch9/examples/01/main.go | 11 + ch9/examples/02/main.go | 11 + ch9/examples/03/main.go | 11 + ch9/examples/04/main.go | 11 + ch9/examples/05/main.go | 11 + ch9/readme.html | 475 +++ cover.jpg | Bin 0 -> 44449 bytes favicon.ico | Bin 0 -> 4286 bytes favicon.png | Bin 0 -> 27668 bytes favicon.svg | 22 + images/ch1-file-set-01.ditaa.png | Bin 0 -> 6300 bytes images/ch1-token-01.png | Bin 0 -> 73262 bytes images/ch1-token.ditaa.png | Bin 0 -> 9270 bytes images/ch2-lit-01.png | Bin 0 -> 35124 bytes images/ch3-expr-01.png | Bin 0 -> 34282 bytes images/ch4-file-struct-01.png | Bin 0 -> 64198 bytes images/ch4-file-struct-02.png | Bin 0 -> 47959 bytes images/ch4-file-struct-03.png | Bin 0 -> 107580 bytes images/ch4-file-struct-04.png | Bin 0 -> 73638 bytes images/ch4-file-struct-05.png | Bin 0 -> 68803 bytes images/ch5-decl-group-01.png | Bin 0 -> 62050 bytes images/ch5-import-01.png | Bin 0 -> 66744 bytes images/ch6-func-decl-01.png | Bin 0 -> 73110 bytes .../donate-alipay-github-chai2010-20yuan.jpg | Bin 0 -> 27183 bytes .../donate-weixin-github-chai2010-20yuan.jpg | Bin 0 -> 24935 bytes index.html | 276 ++ preface.html | 276 ++ static/present/font.css | 370 +++ static/present/jquery-ui.js | 6 + static/present/jquery.js | 2 + static/present/notes.css | 32 + static/present/notes.js | 151 + static/present/slides.js | 611 ++++ static/present/styles.css | 558 ++++ .../wabook/FontAwesome/css/font-awesome.css | 4 + .../wabook/FontAwesome/fonts/FontAwesome.ttf | Bin 0 -> 165548 bytes .../FontAwesome/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../FontAwesome/fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ .../FontAwesome/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes static/wabook/ayu-highlight.css | 79 + static/wabook/book.js | 603 ++++ static/wabook/clipboard.min.js | 7 + static/wabook/cover-example.svg | 35 + static/wabook/css/chrome.css | 495 +++ static/wabook/css/general.css | 182 ++ static/wabook/css/print.css | 54 + static/wabook/css/variables.css | 253 ++ static/wabook/fonts/OPEN-SANS-LICENSE.txt | 202 ++ .../wabook/fonts/SOURCE-CODE-PRO-LICENSE.txt | 93 + static/wabook/fonts/fonts.css | 100 + .../open-sans-v17-all-charsets-300.woff2 | Bin 0 -> 44352 bytes ...open-sans-v17-all-charsets-300italic.woff2 | Bin 0 -> 40656 bytes .../open-sans-v17-all-charsets-600.woff2 | Bin 0 -> 44936 bytes ...open-sans-v17-all-charsets-600italic.woff2 | Bin 0 -> 42120 bytes .../open-sans-v17-all-charsets-700.woff2 | Bin 0 -> 44988 bytes ...open-sans-v17-all-charsets-700italic.woff2 | Bin 0 -> 40800 bytes .../open-sans-v17-all-charsets-800.woff2 | Bin 0 -> 44536 bytes ...open-sans-v17-all-charsets-800italic.woff2 | Bin 0 -> 40812 bytes .../open-sans-v17-all-charsets-italic.woff2 | Bin 0 -> 41076 bytes .../open-sans-v17-all-charsets-regular.woff2 | Bin 0 -> 43236 bytes ...source-code-pro-v11-all-charsets-500.woff2 | Bin 0 -> 59140 bytes static/wabook/giscus.js | 146 + static/wabook/highlight.css | 83 + static/wabook/highlight.js | 6 + static/wabook/mark.min.js | 7 + static/wabook/tomorrow-night.css | 104 + style.css | 54 + weixin-guanggu-coder.jpeg | Bin 0 -> 27617 bytes 246 files changed, 26652 insertions(+) create mode 100644 .gitattributes create mode 100644 .nojekyll create mode 100644 Makefile create mode 100644 appendix/a-goyacc/calc.y create mode 100644 appendix/a-goyacc/examples/calculator/Makefile create mode 100644 appendix/a-goyacc/examples/calculator/calc.l create mode 100644 appendix/a-goyacc/examples/calculator/calc.lex.c create mode 100644 appendix/a-goyacc/examples/calculator/calc.lex.h create mode 100644 appendix/a-goyacc/examples/calculator/calc.y.go create mode 100644 appendix/a-goyacc/examples/calculator/go.mod create mode 100644 appendix/a-goyacc/examples/calculator/lex.go create mode 100644 appendix/a-goyacc/examples/calculator/main.go create mode 100644 appendix/a-goyacc/examples/calculator/tok.h create mode 100644 appendix/a-goyacc/readme.html create mode 100644 appendix/b-antlr4/Calc.g4 create mode 100644 appendix/b-antlr4/Makefile create mode 100644 appendix/b-antlr4/calc/Calc.interp create mode 100644 appendix/b-antlr4/calc/Calc.tokens create mode 100644 appendix/b-antlr4/calc/CalcLexer.interp create mode 100644 appendix/b-antlr4/calc/CalcLexer.tokens create mode 100644 appendix/b-antlr4/calc/calc_base_listener.go create mode 100644 appendix/b-antlr4/calc/calc_base_visitor.go create mode 100644 appendix/b-antlr4/calc/calc_lexer.go create mode 100644 appendix/b-antlr4/calc/calc_listener.go create mode 100644 appendix/b-antlr4/calc/calc_parser.go create mode 100644 appendix/b-antlr4/calc/calc_visitor.go create mode 100644 appendix/b-antlr4/go.mod create mode 100644 appendix/b-antlr4/go.sum create mode 100644 appendix/b-antlr4/listener.go create mode 100644 appendix/b-antlr4/main.go create mode 100644 appendix/b-antlr4/readme.html create mode 100644 appendix/b-antlr4/stack.go create mode 100644 appendix/b-antlr4/visitor.go create mode 100644 appendix/b-antlr4/vscode.png create mode 100644 ch1/examples/01/main.go create mode 100644 ch1/examples/02/main.go create mode 100644 ch1/readme.html create mode 100644 ch10/examples/01/main.go create mode 100644 ch10/examples/02/main.go create mode 100644 ch10/examples/03/main.go create mode 100644 ch10/examples/04/main.go create mode 100644 ch10/examples/05/main.go create mode 100644 ch10/examples/06/main.go create mode 100644 ch10/examples/07/main.go create mode 100644 ch10/examples/08/main.go create mode 100644 ch10/examples/09/main.go create mode 100644 ch10/examples/10/main.go create mode 100644 ch10/readme.html create mode 100644 ch11/examples/01/main.go create mode 100644 ch11/examples/02/main.go create mode 100644 ch11/examples/03/main.go create mode 100644 ch11/examples/04/main.go create mode 100644 ch11/readme.html create mode 100644 ch12/examples/01/fmt/print.go create mode 100644 ch12/examples/01/hello/hello.go create mode 100644 ch12/examples/01/main.go create mode 100644 ch12/readme.html create mode 100644 ch13/examples/00/go.mod create mode 100644 ch13/examples/00/go.sum create mode 100644 ch13/examples/00/main.go create mode 100644 ch13/examples/01/go.mod create mode 100644 ch13/examples/01/go.sum create mode 100644 ch13/examples/01/main.go create mode 100644 ch13/examples/02/go.mod create mode 100644 ch13/examples/02/go.sum create mode 100644 ch13/examples/02/main.go create mode 100644 ch13/readme.html create mode 100644 ch14/examples/01-hello/Makefile create mode 100644 ch14/examples/01-hello/_a.ll create mode 100644 ch14/examples/01-hello/go.mod create mode 100644 ch14/examples/01-hello/go.sum create mode 100644 ch14/examples/01-hello/ll.go create mode 100644 ch14/examples/01-hello/main.go create mode 100644 ch14/examples/01-hello/run.go create mode 100644 ch14/examples/02-global-var/main.go create mode 100644 ch14/examples/02-global-var/run.go create mode 100644 ch14/examples/02-global-var/wabuildin/print.go create mode 100644 ch14/examples/02-global-var/waops/ops_const_value.go create mode 100644 ch14/examples/02-global-var/waops/ops_un_op.go create mode 100644 ch14/examples/02-global-var/waops/ops_zero.go create mode 100644 ch14/examples/02-global-var/waops/utils.go create mode 100644 ch14/examples/02-global-var/watypes/value.go create mode 100644 ch14/examples/03-frame/main.go create mode 100644 ch14/examples/03-frame/run.go create mode 100644 ch14/examples/03-frame/wabuildin/print.go create mode 100644 ch14/examples/03-frame/waops/ops_const_value.go create mode 100644 ch14/examples/03-frame/waops/ops_un_op.go create mode 100644 ch14/examples/03-frame/waops/ops_zero.go create mode 100644 ch14/examples/03-frame/waops/utils.go create mode 100644 ch14/examples/03-frame/watypes/value.go create mode 100644 ch14/examples/04-bi-op/main.go create mode 100644 ch14/examples/04-bi-op/run.go create mode 100644 ch14/examples/04-bi-op/wabuildin/print.go create mode 100644 ch14/examples/04-bi-op/waops/ops_bin_op.go create mode 100644 ch14/examples/04-bi-op/waops/ops_const_value.go create mode 100644 ch14/examples/04-bi-op/waops/ops_un_op.go create mode 100644 ch14/examples/04-bi-op/waops/ops_zero.go create mode 100644 ch14/examples/04-bi-op/waops/utils.go create mode 100644 ch14/examples/04-bi-op/watypes/value.go create mode 100644 ch14/examples/05-branch/main.go create mode 100644 ch14/examples/05-branch/run.go create mode 100644 ch14/examples/05-branch/wabuildin/print.go create mode 100644 ch14/examples/05-branch/waops/ops_bin_op.go create mode 100644 ch14/examples/05-branch/waops/ops_const_value.go create mode 100644 ch14/examples/05-branch/waops/ops_un_op.go create mode 100644 ch14/examples/05-branch/waops/ops_zero.go create mode 100644 ch14/examples/05-branch/waops/utils.go create mode 100644 ch14/examples/05-branch/watypes/value.go create mode 100644 ch14/examples/06-import-func/main.go create mode 100644 ch14/examples/06-import-func/run.go create mode 100644 ch14/examples/06-import-func/wabuildin/print.go create mode 100644 ch14/examples/06-import-func/waops/ops_bin_op.go create mode 100644 ch14/examples/06-import-func/waops/ops_const_value.go create mode 100644 ch14/examples/06-import-func/waops/ops_un_op.go create mode 100644 ch14/examples/06-import-func/waops/ops_zero.go create mode 100644 ch14/examples/06-import-func/waops/utils.go create mode 100644 ch14/examples/06-import-func/watypes/value.go create mode 100644 ch14/readme.html create mode 100644 ch15/examples/01/.keep create mode 100644 ch15/readme.html create mode 100644 ch16/examples/01/.keep create mode 100644 ch16/examples/tests/test0.w create mode 100644 ch16/examples/tests/test1.w create mode 100644 ch16/examples/tests/test2.w create mode 100644 ch16/examples/tests/test3.w create mode 100644 ch16/examples/tests/test4.w create mode 100644 ch16/examples/tests/test5.w create mode 100644 ch16/examples/tests/test6.w create mode 100644 ch16/examples/tests/test7.w create mode 100644 ch16/examples/tests/test8.w create mode 100644 ch16/examples/tests/test9.w create mode 100644 ch16/examples/wcc/wcc.go create mode 100644 ch16/readme.html create mode 100644 ch2/examples/01/main.go create mode 100644 ch2/examples/02/main.go create mode 100644 ch2/examples/03/main.go create mode 100644 ch2/readme.html create mode 100644 ch3/examples/01/main.go create mode 100644 ch3/examples/02/main.go create mode 100644 ch3/readme.html create mode 100644 ch4/code/ch1/main.go create mode 100644 ch4/code/ch2/main.go create mode 100644 ch4/examples/01/main.go create mode 100644 ch4/examples/02/main.go create mode 100644 ch4/examples/03/main.go create mode 100644 ch4/examples/04/main.go create mode 100644 ch4/examples/05/main.go create mode 100644 ch4/examples/06/main.go create mode 100644 ch4/examples/0x/main.go create mode 100644 ch4/readme.html create mode 100644 ch5/examples/01/main.go create mode 100644 ch5/examples/02/main.go create mode 100644 ch5/examples/03/main.go create mode 100644 ch5/examples/04/main.go create mode 100644 ch5/examples/xx/main.go create mode 100644 ch5/readme.html create mode 100644 ch6/examples/01/main.go create mode 100644 ch6/readme.html create mode 100644 ch7/examples/01/main.go create mode 100644 ch7/examples/02/main.go create mode 100644 ch7/examples/03/main.go create mode 100644 ch7/examples/04/main.go create mode 100644 ch7/examples/05/main.go create mode 100644 ch7/examples/06/main.go create mode 100644 ch7/examples/07/main.go create mode 100644 ch7/examples/08/main.go create mode 100644 ch7/examples/09/main.go create mode 100644 ch7/examples/0x-001/main.go create mode 100644 ch7/readme.html create mode 100644 ch8/examples/01/main.go create mode 100644 ch8/examples/02/main.go create mode 100644 ch8/examples/03/main.go create mode 100644 ch8/examples/04/main.go create mode 100644 ch8/examples/05/main.go create mode 100644 ch8/examples/06/main.go create mode 100644 ch8/readme.html create mode 100644 ch9/examples/01/main.go create mode 100644 ch9/examples/02/main.go create mode 100644 ch9/examples/03/main.go create mode 100644 ch9/examples/04/main.go create mode 100644 ch9/examples/05/main.go create mode 100644 ch9/readme.html create mode 100644 cover.jpg create mode 100644 favicon.ico create mode 100644 favicon.png create mode 100644 favicon.svg create mode 100644 images/ch1-file-set-01.ditaa.png create mode 100644 images/ch1-token-01.png create mode 100644 images/ch1-token.ditaa.png create mode 100644 images/ch2-lit-01.png create mode 100644 images/ch3-expr-01.png create mode 100644 images/ch4-file-struct-01.png create mode 100644 images/ch4-file-struct-02.png create mode 100644 images/ch4-file-struct-03.png create mode 100644 images/ch4-file-struct-04.png create mode 100644 images/ch4-file-struct-05.png create mode 100644 images/ch5-decl-group-01.png create mode 100644 images/ch5-import-01.png create mode 100644 images/ch6-func-decl-01.png create mode 100644 images/donate-alipay-github-chai2010-20yuan.jpg create mode 100644 images/donate-weixin-github-chai2010-20yuan.jpg create mode 100644 index.html create mode 100644 preface.html create mode 100644 static/present/font.css create mode 100644 static/present/jquery-ui.js create mode 100644 static/present/jquery.js create mode 100644 static/present/notes.css create mode 100644 static/present/notes.js create mode 100644 static/present/slides.js create mode 100644 static/present/styles.css create mode 100644 static/wabook/FontAwesome/css/font-awesome.css create mode 100644 static/wabook/FontAwesome/fonts/FontAwesome.ttf create mode 100644 static/wabook/FontAwesome/fonts/fontawesome-webfont.eot create mode 100644 static/wabook/FontAwesome/fonts/fontawesome-webfont.svg create mode 100644 static/wabook/FontAwesome/fonts/fontawesome-webfont.ttf create mode 100644 static/wabook/FontAwesome/fonts/fontawesome-webfont.woff create mode 100644 static/wabook/FontAwesome/fonts/fontawesome-webfont.woff2 create mode 100644 static/wabook/ayu-highlight.css create mode 100644 static/wabook/book.js create mode 100644 static/wabook/clipboard.min.js create mode 100644 static/wabook/cover-example.svg create mode 100644 static/wabook/css/chrome.css create mode 100644 static/wabook/css/general.css create mode 100644 static/wabook/css/print.css create mode 100644 static/wabook/css/variables.css create mode 100644 static/wabook/fonts/OPEN-SANS-LICENSE.txt create mode 100644 static/wabook/fonts/SOURCE-CODE-PRO-LICENSE.txt create mode 100644 static/wabook/fonts/fonts.css create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-300.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-300italic.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-600.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-600italic.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-700.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-700italic.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-800.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-800italic.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-italic.woff2 create mode 100644 static/wabook/fonts/open-sans-v17-all-charsets-regular.woff2 create mode 100644 static/wabook/fonts/source-code-pro-v11-all-charsets-500.woff2 create mode 100644 static/wabook/giscus.js create mode 100644 static/wabook/highlight.css create mode 100644 static/wabook/highlight.js create mode 100644 static/wabook/mark.min.js create mode 100644 static/wabook/tomorrow-night.css create mode 100644 style.css create mode 100644 weixin-guanggu-coder.jpeg diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..5282307 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.c linguist-language=Go diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a5da2c4 --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +# Copyright 2019 . All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# +# waBook: Mini Markdown Book +# https://github.com/wa-lang/wabook +# + +default: + wabook serve + +build: + -rm book + wabook build + -rm book/.gitignore + -rm -rf book/.git + +deploy: + -@make clean + wabook build + -rm book/.gitignore + -rm -rf book/.git + -rm -rf book/examples + + cd book && git init + cd book && git add . + cd book && git commit -m "first commit" + cd book && git branch -M gh-pages + cd book && git remote add origin git@github.com:chai2010/go-ast-book.git + cd book && git push -f origin gh-pages + +clean: + -rm -rf book diff --git a/appendix/a-goyacc/calc.y b/appendix/a-goyacc/calc.y new file mode 100644 index 0000000..d6cef97 --- /dev/null +++ b/appendix/a-goyacc/calc.y @@ -0,0 +1,63 @@ +/* Copyright 2019 . All rights reserved. */ +/* Use of this source code is governed by a Apache */ +/* license that can be found in the LICENSE file. */ + +/* simplest version of calculator */ + +%{ +package main + +import ( + "fmt" +) + +var idValueMap = map[string]int{} +%} + +%union { + value int + id string +} + +%type exp factor term +%token NUMBER +%token ID + +%token ADD SUB MUL DIV ABS +%token LPAREN RPAREN ASSIGN +%token EOL + +%% +calclist + : // nothing + | calclist exp EOL { + idValueMap["_"] = $2 + fmt.Printf("= %v\n", $2) + } + | calclist ID ASSIGN exp EOL { + idValueMap["_"] = $4 + idValueMap[$2] = $4 + fmt.Printf("= %v\n", $4) + } + ; + +exp + : factor { $$ = $1 } + | exp ADD factor { $$ = $1 + $3 } + | exp SUB factor { $$ = $1 - $3 } + ; + +factor + : term { $$ = $1 } + | factor MUL term { $$ = $1 * $3 } + | factor DIV term { $$ = $1 / $3 } + ; + +term + : NUMBER { $$ = $1 } + | ID { $$ = idValueMap[$1] } + | ABS term { if $2 >= 0 { $$ = $2 } else { $$ = -$2 } } + | LPAREN exp RPAREN { $$ = $2 } + ; + +%% diff --git a/appendix/a-goyacc/examples/calculator/Makefile b/appendix/a-goyacc/examples/calculator/Makefile new file mode 100644 index 0000000..bedfa05 --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/Makefile @@ -0,0 +1,18 @@ +# Copyright 2019 . All rights reserved. +# Use of this source code is governed by a Apache +# license that can be found in the LICENSE file. + +run: + make flex + make goyacc + + @go fmt + go run . + +flex: + flex --prefix=yy --header-file=calc.lex.h -o calc.lex.c calc.l + +goyacc: + goyacc -o calc.y.go -p "calc" calc.y + +clean: diff --git a/appendix/a-goyacc/examples/calculator/calc.l b/appendix/a-goyacc/examples/calculator/calc.l new file mode 100644 index 0000000..b8bfd08 --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/calc.l @@ -0,0 +1,31 @@ +/* Copyright 2019 . All rights reserved. */ +/* Use of this source code is governed by a Apache */ +/* license that can be found in the LICENSE file. */ + +%option noyywrap + +%{ +#include "tok.h" +%} + +%% + +[_a-zA-Z]+ { return ID; } +[0-9]+ { return NUMBER; } + +"+" { return ADD; } +"-" { return SUB; } +"*" { return MUL; } +"/" { return DIV; } +"|" { return ABS; } + +"(" { return LPAREN; } +")" { return RPAREN; } +"=" { return ASSIGN; } + +\n { return EOL; } +[ \t] { /* ignore whitespace */ } +. { return ILLEGAL; } + +%% + diff --git a/appendix/a-goyacc/examples/calculator/calc.lex.c b/appendix/a-goyacc/examples/calculator/calc.lex.c new file mode 100644 index 0000000..5bcb362 --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/calc.lex.c @@ -0,0 +1,1808 @@ +#line 2 "calc.lex.c" + +#line 4 "calc.lex.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. + */ +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN (yy_start) = 1 + 2 * + +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START (((yy_start) - 1) / 2) +#define YYSTATE YY_START + +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE yyrestart(yyin ) + +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#define YY_BUF_SIZE 16384 +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern yy_size_t yyleng; + +extern FILE *yyin, *yyout; + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = (yy_hold_char); \ + YY_RESTORE_YY_MORE_OFFSET \ + (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) + +#define unput(c) yyunput( c, (yytext_ptr) ) + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + yy_size_t yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* Stack of input buffers. */ +static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ + : NULL) + +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] + +/* yy_hold_char holds the character lost when yytext is formed. */ +static char yy_hold_char; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t yyleng; + +/* Points to current character in buffer. */ +static char *yy_c_buf_p = (char *) 0; +static int yy_init = 0; /* whether we need to initialize */ +static int yy_start = 0; /* start state number */ + +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... + */ +static int yy_did_buffer_switch_on_eof; + +void yyrestart (FILE *input_file ); +void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); +void yy_delete_buffer (YY_BUFFER_STATE b ); +void yy_flush_buffer (YY_BUFFER_STATE b ); +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state (void ); + +static void yyensure_buffer_stack (void ); +static void yy_load_buffer_state (void ); +static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); + +#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); + +void *yyalloc (yy_size_t ); +void *yyrealloc (void *,yy_size_t ); +void yyfree (void * ); + +#define yy_new_buffer yy_create_buffer + +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer(yyin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } + +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer(yyin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } + +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +#define yywrap(n) 1 +#define YY_SKIP_YYWRAP + +typedef unsigned char YY_CHAR; + +FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; + +typedef int yy_state_type; + +extern int yylineno; + +int yylineno = 1; + +extern char *yytext; +#define yytext_ptr yytext + +static yy_state_type yy_get_previous_state (void ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +static int yy_get_next_buffer (void ); +static void yy_fatal_error (yyconst char msg[] ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + (yytext_ptr) = yy_bp; \ + yyleng = (yy_size_t) (yy_cp - yy_bp); \ + (yy_hold_char) = *yy_cp; \ + *yy_cp = '\0'; \ + (yy_c_buf_p) = yy_cp; + +#define YY_NUM_RULES 14 +#define YY_END_OF_BUFFER 15 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst flex_int16_t yy_accept[20] = + { 0, + 0, 0, 15, 13, 12, 11, 8, 9, 5, 3, + 4, 6, 2, 10, 1, 7, 2, 1, 0 + } ; + +static yyconst flex_int32_t yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 1, 1, 4, + 5, 6, 7, 1, 8, 1, 9, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, + 11, 1, 1, 1, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 1, 1, 1, 1, 12, 1, 12, 12, 12, 12, + + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 1, 13, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static yyconst flex_int32_t yy_meta[14] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1 + } ; + +static yyconst flex_int16_t yy_base[20] = + { 0, + 0, 0, 18, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 7, 19, 4, 19, 5, 2, 19 + } ; + +static yyconst flex_int16_t yy_def[20] = + { 0, + 19, 1, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 0 + } ; + +static yyconst flex_int16_t yy_nxt[33] = + { 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 18, 17, 18, 17, 19, 3, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19 + } ; + +static yyconst flex_int16_t yy_chk[33] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 18, 17, 15, 13, 3, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19 + } ; + +static yy_state_type yy_last_accepting_state; +static char *yy_last_accepting_cpos; + +extern int yy_flex_debug; +int yy_flex_debug = 0; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +char *yytext; +#line 1 "calc.l" +/* Copyright 2019 . All rights reserved. */ +/* Use of this source code is governed by a Apache */ +/* license that can be found in the LICENSE file. */ +#line 8 "calc.l" +#include "tok.h" +#line 469 "calc.lex.c" + +#define INITIAL 0 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +static int yy_init_globals (void ); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int yylex_destroy (void ); + +int yyget_debug (void ); + +void yyset_debug (int debug_flag ); + +YY_EXTRA_TYPE yyget_extra (void ); + +void yyset_extra (YY_EXTRA_TYPE user_defined ); + +FILE *yyget_in (void ); + +void yyset_in (FILE * in_str ); + +FILE *yyget_out (void ); + +void yyset_out (FILE * out_str ); + +yy_size_t yyget_leng (void ); + +char *yyget_text (void ); + +int yyget_lineno (void ); + +void yyset_lineno (int line_number ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap (void ); +#else +extern int yywrap (void ); +#endif +#endif + + static void yyunput (int c,char *buf_ptr ); + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ); +#endif + +#ifndef YY_NO_INPUT + +#ifdef __cplusplus +static int yyinput (void ); +#else +static int input (void ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#define YY_READ_BUF_SIZE 8192 +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO fwrite( yytext, yyleng, 1, yyout ) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + yy_size_t n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int yylex (void); + +#define YY_DECL int yylex (void) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; + +#line 11 "calc.l" + + +#line 654 "calc.lex.c" + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer(yyin,YY_BUF_SIZE ); + } + + yy_load_buffer_state( ); + } + + while ( 1 ) /* loops until end-of-file is reached */ + { + yy_cp = (yy_c_buf_p); + + /* Support of yytext. */ + *yy_cp = (yy_hold_char); + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = (yy_start); +yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 20 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while ( yy_base[yy_current_state] != 19 ); + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = (yy_hold_char); + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 13 "calc.l" +{ return ID; } + YY_BREAK +case 2: +YY_RULE_SETUP +#line 14 "calc.l" +{ return NUMBER; } + YY_BREAK +case 3: +YY_RULE_SETUP +#line 16 "calc.l" +{ return ADD; } + YY_BREAK +case 4: +YY_RULE_SETUP +#line 17 "calc.l" +{ return SUB; } + YY_BREAK +case 5: +YY_RULE_SETUP +#line 18 "calc.l" +{ return MUL; } + YY_BREAK +case 6: +YY_RULE_SETUP +#line 19 "calc.l" +{ return DIV; } + YY_BREAK +case 7: +YY_RULE_SETUP +#line 20 "calc.l" +{ return ABS; } + YY_BREAK +case 8: +YY_RULE_SETUP +#line 22 "calc.l" +{ return LPAREN; } + YY_BREAK +case 9: +YY_RULE_SETUP +#line 23 "calc.l" +{ return RPAREN; } + YY_BREAK +case 10: +YY_RULE_SETUP +#line 24 "calc.l" +{ return ASSIGN; } + YY_BREAK +case 11: +/* rule 11 can match eol */ +YY_RULE_SETUP +#line 26 "calc.l" +{ return EOL; } + YY_BREAK +case 12: +YY_RULE_SETUP +#line 27 "calc.l" +{ /* ignore whitespace */ } + YY_BREAK +case 13: +YY_RULE_SETUP +#line 28 "calc.l" +{ return ILLEGAL; } + YY_BREAK +case 14: +YY_RULE_SETUP +#line 30 "calc.l" +ECHO; + YY_BREAK +#line 808 "calc.lex.c" +case YY_STATE_EOF(INITIAL): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = (yy_hold_char); + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state ); + + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++(yy_c_buf_p); + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = (yy_c_buf_p); + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_END_OF_FILE: + { + (yy_did_buffer_switch_on_eof) = 0; + + if ( yywrap( ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = + (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + (yy_c_buf_p) = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ +} /* end of yylex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (void) +{ + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = (yytext_ptr); + register int number_to_move, i; + int ret_val; + + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; + + else + { + yy_size_t num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + + int yy_c_buf_p_offset = + (int) ((yy_c_buf_p) - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + yy_size_t new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + (yy_n_chars), num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + if ( (yy_n_chars) == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + yyrestart(yyin ); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + + (yy_n_chars) += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; + + (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (void) +{ + register yy_state_type yy_current_state; + register char *yy_cp; + + yy_current_state = (yy_start); + + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) + { + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 20 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +{ + register int yy_is_jam; + register char *yy_cp = (yy_c_buf_p); + + register YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 20 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 19); + + return yy_is_jam ? 0 : yy_current_state; +} + + static void yyunput (int c, register char * yy_bp ) +{ + register char *yy_cp; + + yy_cp = (yy_c_buf_p); + + /* undo effects of setting up yytext */ + *yy_cp = (yy_hold_char); + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + register yy_size_t number_to_move = (yy_n_chars) + 2; + register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + register char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + (yytext_ptr) = yy_bp; + (yy_hold_char) = *yy_cp; + (yy_c_buf_p) = yy_cp; +} + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (void) +#else + static int input (void) +#endif + +{ + int c; + + *(yy_c_buf_p) = (yy_hold_char); + + if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + /* This was really a NUL. */ + *(yy_c_buf_p) = '\0'; + + else + { /* need more input */ + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); + ++(yy_c_buf_p); + + switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + yyrestart(yyin ); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( yywrap( ) ) + return 0; + + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(); +#else + return input(); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = (yytext_ptr) + offset; + break; + } + } + } + + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ + (yy_hold_char) = *++(yy_c_buf_p); + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * + * @note This function does not reset the start condition to @c INITIAL . + */ + void yyrestart (FILE * input_file ) +{ + + if ( ! YY_CURRENT_BUFFER ){ + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer(yyin,YY_BUF_SIZE ); + } + + yy_init_buffer(YY_CURRENT_BUFFER,input_file ); + yy_load_buffer_state( ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * + */ + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +{ + + /* TODO. We should be able to replace this entire function body + * with + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); + */ + yyensure_buffer_stack (); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + yy_load_buffer_state( ); + + /* We don't actually know whether we did this switch during + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe + * to go ahead and always set it. + */ + (yy_did_buffer_switch_on_eof) = 1; +} + +static void yy_load_buffer_state (void) +{ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + (yy_hold_char) = *(yy_c_buf_p); +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * + * @return the allocated buffer state. + */ + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_is_our_buffer = 1; + + yy_init_buffer(b,file ); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with yy_create_buffer() + * + */ + void yy_delete_buffer (YY_BUFFER_STATE b ) +{ + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + yyfree((void *) b->yy_ch_buf ); + + yyfree((void *) b ); +} + +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a yyrestart() or at EOF. + */ + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + +{ + int oerrno = errno; + + yy_flush_buffer(b ); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * + */ + void yy_flush_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + yy_load_buffer_state( ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * + */ +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +{ + if (new_buffer == NULL) + return; + + yyensure_buffer_stack(); + + /* This block is copied from yy_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + (yy_buffer_stack_top)++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * + */ +void yypop_buffer_state (void) +{ + if (!YY_CURRENT_BUFFER) + return; + + yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + if ((yy_buffer_stack_top) > 0) + --(yy_buffer_stack_top); + + if (YY_CURRENT_BUFFER) { + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void yyensure_buffer_stack (void) +{ + yy_size_t num_to_alloc; + + if (!(yy_buffer_stack)) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + (yy_buffer_stack_max) = num_to_alloc; + (yy_buffer_stack_top) = 0; + return; + } + + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = (yy_buffer_stack_max) + grow_size; + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc + ((yy_buffer_stack), + num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + /* zero only the new slots.*/ + memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); + (yy_buffer_stack_max) = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + yy_switch_to_buffer(b ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to yylex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * yy_scan_bytes() instead. + */ +YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) +{ + + return yy_scan_bytes(yystr,strlen(yystr) ); +} + +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will + * scan from a @e copy of @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n, i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = _yybytes_len + 2; + buf = (char *) yyalloc(n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = yy_scan_buffer(buf,n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yy_fatal_error (yyconst char* msg ) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ + (yy_hold_char) = *(yy_c_buf_p); \ + *(yy_c_buf_p) = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the current line number. + * + */ +int yyget_lineno (void) +{ + + return yylineno; +} + +/** Get the input stream. + * + */ +FILE *yyget_in (void) +{ + return yyin; +} + +/** Get the output stream. + * + */ +FILE *yyget_out (void) +{ + return yyout; +} + +/** Get the length of the current token. + * + */ +yy_size_t yyget_leng (void) +{ + return yyleng; +} + +/** Get the current token. + * + */ + +char *yyget_text (void) +{ + return yytext; +} + +/** Set the current line number. + * @param line_number + * + */ +void yyset_lineno (int line_number ) +{ + + yylineno = line_number; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * + * @see yy_switch_to_buffer + */ +void yyset_in (FILE * in_str ) +{ + yyin = in_str ; +} + +void yyset_out (FILE * out_str ) +{ + yyout = out_str ; +} + +int yyget_debug (void) +{ + return yy_flex_debug; +} + +void yyset_debug (int bdebug ) +{ + yy_flex_debug = bdebug ; +} + +static int yy_init_globals (void) +{ + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from yylex_destroy(), so don't allocate here. + */ + + (yy_buffer_stack) = 0; + (yy_buffer_stack_top) = 0; + (yy_buffer_stack_max) = 0; + (yy_c_buf_p) = (char *) 0; + (yy_init) = 0; + (yy_start) = 0; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = (FILE *) 0; + yyout = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * yylex_init() + */ + return 0; +} + +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) +{ + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + yypop_buffer_state(); + } + + /* Destroy the stack itself. */ + yyfree((yy_buffer_stack) ); + (yy_buffer_stack) = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * yylex() is called, initialization will occur. */ + yy_init_globals( ); + + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +{ + register int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * s ) +{ + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *yyalloc (yy_size_t size ) +{ + return (void *) malloc( size ); +} + +void *yyrealloc (void * ptr, yy_size_t size ) +{ + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return (void *) realloc( (char *) ptr, size ); +} + +void yyfree (void * ptr ) +{ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +#line 30 "calc.l" + + + + diff --git a/appendix/a-goyacc/examples/calculator/calc.lex.h b/appendix/a-goyacc/examples/calculator/calc.lex.h new file mode 100644 index 0000000..78fd882 --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/calc.lex.h @@ -0,0 +1,322 @@ +#ifndef yyHEADER_H +#define yyHEADER_H 1 +#define yyIN_HEADER 1 + +#line 6 "calc.lex.h" + +#line 8 "calc.lex.h" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#define YY_BUF_SIZE 16384 +#endif + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern yy_size_t yyleng; + +extern FILE *yyin, *yyout; + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + yy_size_t yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +void yyrestart (FILE *input_file ); +void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); +void yy_delete_buffer (YY_BUFFER_STATE b ); +void yy_flush_buffer (YY_BUFFER_STATE b ); +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state (void ); + +YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); + +void *yyalloc (yy_size_t ); +void *yyrealloc (void *,yy_size_t ); +void yyfree (void * ); + +/* Begin user sect3 */ + +#define yywrap(n) 1 +#define YY_SKIP_YYWRAP + +extern int yylineno; + +extern char *yytext; +#define yytext_ptr yytext + +#ifdef YY_HEADER_EXPORT_START_CONDITIONS +#define INITIAL 0 + +#endif + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int yylex_destroy (void ); + +int yyget_debug (void ); + +void yyset_debug (int debug_flag ); + +YY_EXTRA_TYPE yyget_extra (void ); + +void yyset_extra (YY_EXTRA_TYPE user_defined ); + +FILE *yyget_in (void ); + +void yyset_in (FILE * in_str ); + +FILE *yyget_out (void ); + +void yyset_out (FILE * out_str ); + +yy_size_t yyget_leng (void ); + +char *yyget_text (void ); + +int yyget_lineno (void ); + +void yyset_lineno (int line_number ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap (void ); +#else +extern int yywrap (void ); +#endif +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ); +#endif + +#ifndef YY_NO_INPUT + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#define YY_READ_BUF_SIZE 8192 +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int yylex (void); + +#define YY_DECL int yylex (void) +#endif /* !YY_DECL */ + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + +#undef YY_NEW_FILE +#undef YY_FLUSH_BUFFER +#undef yy_set_bol +#undef yy_new_buffer +#undef yy_set_interactive +#undef YY_DO_BEFORE_ACTION + +#ifdef YY_DECL_IS_OURS +#undef YY_DECL_IS_OURS +#undef YY_DECL +#endif + +#line 30 "calc.l" + + +#line 321 "calc.lex.h" +#undef yyIN_HEADER +#endif /* yyHEADER_H */ diff --git a/appendix/a-goyacc/examples/calculator/calc.y.go b/appendix/a-goyacc/examples/calculator/calc.y.go new file mode 100644 index 0000000..0a625a4 --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/calc.y.go @@ -0,0 +1,540 @@ +// Code generated by goyacc -o calc.y.go -p calc calc.y. DO NOT EDIT. + +//line calc.y:8 +package main + +import __yyfmt__ "fmt" + +//line calc.y:8 + +import ( + "fmt" +) + +var idValueMap = map[string]int{} + +//line calc.y:17 +type calcSymType struct { + yys int + value int + id string +} + +const NUMBER = 57346 +const ID = 57347 +const ADD = 57348 +const SUB = 57349 +const MUL = 57350 +const DIV = 57351 +const ABS = 57352 +const LPAREN = 57353 +const RPAREN = 57354 +const ASSIGN = 57355 +const EOL = 57356 + +var calcToknames = [...]string{ + "$end", + "error", + "$unk", + "NUMBER", + "ID", + "ADD", + "SUB", + "MUL", + "DIV", + "ABS", + "LPAREN", + "RPAREN", + "ASSIGN", + "EOL", +} +var calcStatenames = [...]string{} + +const calcEofCode = 1 +const calcErrCode = 2 +const calcInitialStackSize = 16 + +//line calc.y:63 + +//line yacctab:1 +var calcExca = [...]int{ + -1, 1, + 1, -1, + -2, 0, +} + +const calcPrivate = 57344 + +const calcLast = 39 + +var calcAct = [...]int{ + + 5, 10, 11, 10, 11, 12, 10, 11, 15, 24, + 1, 9, 23, 0, 21, 22, 6, 16, 6, 3, + 2, 0, 7, 8, 7, 8, 4, 13, 14, 17, + 0, 0, 0, 20, 0, 0, 0, 18, 19, +} +var calcPact = [...]int{ + + -1000, 14, -3, -8, 19, -1000, -1000, 12, 12, -1000, + 12, 12, 12, 12, 12, -1000, -1000, 0, 19, 19, + -5, -1000, -1000, -1000, -1000, +} +var calcPgo = [...]int{ + + 0, 20, 26, 0, 10, +} +var calcR1 = [...]int{ + + 0, 4, 4, 4, 1, 1, 1, 2, 2, 2, + 3, 3, 3, 3, +} +var calcR2 = [...]int{ + + 0, 0, 3, 5, 1, 3, 3, 1, 3, 3, + 1, 1, 2, 3, +} +var calcChk = [...]int{ + + -1000, -4, -1, 5, -2, -3, 4, 10, 11, 14, + 6, 7, 13, 8, 9, -3, 5, -1, -2, -2, + -1, -3, -3, 12, 14, +} +var calcDef = [...]int{ + + 1, -2, 0, 11, 4, 7, 10, 0, 0, 2, + 0, 0, 0, 0, 0, 12, 11, 0, 5, 6, + 0, 8, 9, 13, 3, +} +var calcTok1 = [...]int{ + + 1, +} +var calcTok2 = [...]int{ + + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, +} +var calcTok3 = [...]int{ + 0, +} + +var calcErrorMessages = [...]struct { + state int + token int + msg string +}{} + +//line yaccpar:1 + +/* parser for yacc output */ + +var ( + calcDebug = 0 + calcErrorVerbose = false +) + +type calcLexer interface { + Lex(lval *calcSymType) int + Error(s string) +} + +type calcParser interface { + Parse(calcLexer) int + Lookahead() int +} + +type calcParserImpl struct { + lval calcSymType + stack [calcInitialStackSize]calcSymType + char int +} + +func (p *calcParserImpl) Lookahead() int { + return p.char +} + +func calcNewParser() calcParser { + return &calcParserImpl{} +} + +const calcFlag = -1000 + +func calcTokname(c int) string { + if c >= 1 && c-1 < len(calcToknames) { + if calcToknames[c-1] != "" { + return calcToknames[c-1] + } + } + return __yyfmt__.Sprintf("tok-%v", c) +} + +func calcStatname(s int) string { + if s >= 0 && s < len(calcStatenames) { + if calcStatenames[s] != "" { + return calcStatenames[s] + } + } + return __yyfmt__.Sprintf("state-%v", s) +} + +func calcErrorMessage(state, lookAhead int) string { + const TOKSTART = 4 + + if !calcErrorVerbose { + return "syntax error" + } + + for _, e := range calcErrorMessages { + if e.state == state && e.token == lookAhead { + return "syntax error: " + e.msg + } + } + + res := "syntax error: unexpected " + calcTokname(lookAhead) + + // To match Bison, suggest at most four expected tokens. + expected := make([]int, 0, 4) + + // Look for shiftable tokens. + base := calcPact[state] + for tok := TOKSTART; tok-1 < len(calcToknames); tok++ { + if n := base + tok; n >= 0 && n < calcLast && calcChk[calcAct[n]] == tok { + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + } + + if calcDef[state] == -2 { + i := 0 + for calcExca[i] != -1 || calcExca[i+1] != state { + i += 2 + } + + // Look for tokens that we accept or reduce. + for i += 2; calcExca[i] >= 0; i += 2 { + tok := calcExca[i] + if tok < TOKSTART || calcExca[i+1] == 0 { + continue + } + if len(expected) == cap(expected) { + return res + } + expected = append(expected, tok) + } + + // If the default action is to accept or reduce, give up. + if calcExca[i+1] != 0 { + return res + } + } + + for i, tok := range expected { + if i == 0 { + res += ", expecting " + } else { + res += " or " + } + res += calcTokname(tok) + } + return res +} + +func calclex1(lex calcLexer, lval *calcSymType) (char, token int) { + token = 0 + char = lex.Lex(lval) + if char <= 0 { + token = calcTok1[0] + goto out + } + if char < len(calcTok1) { + token = calcTok1[char] + goto out + } + if char >= calcPrivate { + if char < calcPrivate+len(calcTok2) { + token = calcTok2[char-calcPrivate] + goto out + } + } + for i := 0; i < len(calcTok3); i += 2 { + token = calcTok3[i+0] + if token == char { + token = calcTok3[i+1] + goto out + } + } + +out: + if token == 0 { + token = calcTok2[1] /* unknown char */ + } + if calcDebug >= 3 { + __yyfmt__.Printf("lex %s(%d)\n", calcTokname(token), uint(char)) + } + return char, token +} + +func calcParse(calclex calcLexer) int { + return calcNewParser().Parse(calclex) +} + +func (calcrcvr *calcParserImpl) Parse(calclex calcLexer) int { + var calcn int + var calcVAL calcSymType + var calcDollar []calcSymType + _ = calcDollar // silence set and not used + calcS := calcrcvr.stack[:] + + Nerrs := 0 /* number of errors */ + Errflag := 0 /* error recovery flag */ + calcstate := 0 + calcrcvr.char = -1 + calctoken := -1 // calcrcvr.char translated into internal numbering + defer func() { + // Make sure we report no lookahead when not parsing. + calcstate = -1 + calcrcvr.char = -1 + calctoken = -1 + }() + calcp := -1 + goto calcstack + +ret0: + return 0 + +ret1: + return 1 + +calcstack: + /* put a state and value onto the stack */ + if calcDebug >= 4 { + __yyfmt__.Printf("char %v in %v\n", calcTokname(calctoken), calcStatname(calcstate)) + } + + calcp++ + if calcp >= len(calcS) { + nyys := make([]calcSymType, len(calcS)*2) + copy(nyys, calcS) + calcS = nyys + } + calcS[calcp] = calcVAL + calcS[calcp].yys = calcstate + +calcnewstate: + calcn = calcPact[calcstate] + if calcn <= calcFlag { + goto calcdefault /* simple state */ + } + if calcrcvr.char < 0 { + calcrcvr.char, calctoken = calclex1(calclex, &calcrcvr.lval) + } + calcn += calctoken + if calcn < 0 || calcn >= calcLast { + goto calcdefault + } + calcn = calcAct[calcn] + if calcChk[calcn] == calctoken { /* valid shift */ + calcrcvr.char = -1 + calctoken = -1 + calcVAL = calcrcvr.lval + calcstate = calcn + if Errflag > 0 { + Errflag-- + } + goto calcstack + } + +calcdefault: + /* default state action */ + calcn = calcDef[calcstate] + if calcn == -2 { + if calcrcvr.char < 0 { + calcrcvr.char, calctoken = calclex1(calclex, &calcrcvr.lval) + } + + /* look through exception table */ + xi := 0 + for { + if calcExca[xi+0] == -1 && calcExca[xi+1] == calcstate { + break + } + xi += 2 + } + for xi += 2; ; xi += 2 { + calcn = calcExca[xi+0] + if calcn < 0 || calcn == calctoken { + break + } + } + calcn = calcExca[xi+1] + if calcn < 0 { + goto ret0 + } + } + if calcn == 0 { + /* error ... attempt to resume parsing */ + switch Errflag { + case 0: /* brand new error */ + calclex.Error(calcErrorMessage(calcstate, calctoken)) + Nerrs++ + if calcDebug >= 1 { + __yyfmt__.Printf("%s", calcStatname(calcstate)) + __yyfmt__.Printf(" saw %s\n", calcTokname(calctoken)) + } + fallthrough + + case 1, 2: /* incompletely recovered error ... try again */ + Errflag = 3 + + /* find a state where "error" is a legal shift action */ + for calcp >= 0 { + calcn = calcPact[calcS[calcp].yys] + calcErrCode + if calcn >= 0 && calcn < calcLast { + calcstate = calcAct[calcn] /* simulate a shift of "error" */ + if calcChk[calcstate] == calcErrCode { + goto calcstack + } + } + + /* the current p has no shift on "error", pop stack */ + if calcDebug >= 2 { + __yyfmt__.Printf("error recovery pops state %d\n", calcS[calcp].yys) + } + calcp-- + } + /* there is no state on the stack with an error shift ... abort */ + goto ret1 + + case 3: /* no shift yet; clobber input char */ + if calcDebug >= 2 { + __yyfmt__.Printf("error recovery discards %s\n", calcTokname(calctoken)) + } + if calctoken == calcEofCode { + goto ret1 + } + calcrcvr.char = -1 + calctoken = -1 + goto calcnewstate /* try again in the same state */ + } + } + + /* reduction by production calcn */ + if calcDebug >= 2 { + __yyfmt__.Printf("reduce %v in:\n\t%v\n", calcn, calcStatname(calcstate)) + } + + calcnt := calcn + calcpt := calcp + _ = calcpt // guard against "declared and not used" + + calcp -= calcR2[calcn] + // calcp is now the index of $0. Perform the default action. Iff the + // reduced production is ε, $1 is possibly out of range. + if calcp+1 >= len(calcS) { + nyys := make([]calcSymType, len(calcS)*2) + copy(nyys, calcS) + calcS = nyys + } + calcVAL = calcS[calcp+1] + + /* consult goto table to find next state */ + calcn = calcR1[calcn] + calcg := calcPgo[calcn] + calcj := calcg + calcS[calcp].yys + 1 + + if calcj >= calcLast { + calcstate = calcAct[calcg] + } else { + calcstate = calcAct[calcj] + if calcChk[calcstate] != -calcn { + calcstate = calcAct[calcg] + } + } + // dummy call; replaced with literal code + switch calcnt { + + case 2: + calcDollar = calcS[calcpt-3 : calcpt+1] +//line calc.y:33 + { + idValueMap["_"] = calcDollar[2].value + fmt.Printf("= %v\n", calcDollar[2].value) + } + case 3: + calcDollar = calcS[calcpt-5 : calcpt+1] +//line calc.y:37 + { + idValueMap["_"] = calcDollar[4].value + idValueMap[calcDollar[2].id] = calcDollar[4].value + fmt.Printf("= %v\n", calcDollar[4].value) + } + case 4: + calcDollar = calcS[calcpt-1 : calcpt+1] +//line calc.y:45 + { + calcVAL.value = calcDollar[1].value + } + case 5: + calcDollar = calcS[calcpt-3 : calcpt+1] +//line calc.y:46 + { + calcVAL.value = calcDollar[1].value + calcDollar[3].value + } + case 6: + calcDollar = calcS[calcpt-3 : calcpt+1] +//line calc.y:47 + { + calcVAL.value = calcDollar[1].value - calcDollar[3].value + } + case 7: + calcDollar = calcS[calcpt-1 : calcpt+1] +//line calc.y:51 + { + calcVAL.value = calcDollar[1].value + } + case 8: + calcDollar = calcS[calcpt-3 : calcpt+1] +//line calc.y:52 + { + calcVAL.value = calcDollar[1].value * calcDollar[3].value + } + case 9: + calcDollar = calcS[calcpt-3 : calcpt+1] +//line calc.y:53 + { + calcVAL.value = calcDollar[1].value / calcDollar[3].value + } + case 10: + calcDollar = calcS[calcpt-1 : calcpt+1] +//line calc.y:57 + { + calcVAL.value = calcDollar[1].value + } + case 11: + calcDollar = calcS[calcpt-1 : calcpt+1] +//line calc.y:58 + { + calcVAL.value = idValueMap[calcDollar[1].id] + } + case 12: + calcDollar = calcS[calcpt-2 : calcpt+1] +//line calc.y:59 + { + if calcDollar[2].value >= 0 { + calcVAL.value = calcDollar[2].value + } else { + calcVAL.value = -calcDollar[2].value + } + } + case 13: + calcDollar = calcS[calcpt-3 : calcpt+1] +//line calc.y:60 + { + calcVAL.value = calcDollar[2].value + } + } + goto calcstack /* stack new state and value */ +} diff --git a/appendix/a-goyacc/examples/calculator/go.mod b/appendix/a-goyacc/examples/calculator/go.mod new file mode 100644 index 0000000..568c015 --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/go.mod @@ -0,0 +1,7 @@ +// Copyright 2019 . All rights reserved. +// Use of this source code is governed by a Apache +// license that can be found in the LICENSE file. + +module github.com/chai2010/calculator + +go 1.14 diff --git a/appendix/a-goyacc/examples/calculator/lex.go b/appendix/a-goyacc/examples/calculator/lex.go new file mode 100644 index 0000000..0625c8c --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/lex.go @@ -0,0 +1,90 @@ +// Copyright 2019 . All rights reserved. +// Use of this source code is governed by a Apache +// license that can be found in the LICENSE file. + +package main + +//#include "tok.h" +//#include "calc.lex.h" +import "C" + +import ( + "errors" + "log" + "strconv" +) + +type calcLex struct { + yylineno int + yytext string + lastErr error +} + +var _ calcLexer = (*calcLex)(nil) + +func newCalcLexer(data []byte) *calcLex { + p := new(calcLex) + + C.yy_scan_bytes( + (*C.char)(C.CBytes(data)), + C.yy_size_t(len(data)), + ) + + return p +} + +// The parser calls this method to get each new token. This +// implementation returns operators and NUM. +func (p *calcLex) Lex(yylval *calcSymType) int { + p.lastErr = nil + + var tok = C.yylex() + + p.yylineno = int(C.yylineno) + p.yytext = C.GoString(C.yytext) + + switch tok { + case C.ID: + yylval.id = p.yytext + return ID + + case C.NUMBER: + yylval.value, _ = strconv.Atoi(p.yytext) + return NUMBER + + case C.ADD: + return ADD + case C.SUB: + return SUB + case C.MUL: + return MUL + case C.DIV: + return DIV + case C.ABS: + return ABS + + case C.LPAREN: + return LPAREN + case C.RPAREN: + return RPAREN + case C.ASSIGN: + return ASSIGN + + case C.EOL: + return EOL + } + + if tok == C.ILLEGAL { + log.Printf("lex: ILLEGAL token, yytext = %q, yylineno = %d", p.yytext, p.yylineno) + } + + return 0 // eof +} + +// The parser calls this method on a parse error. +func (p *calcLex) Error(s string) { + p.lastErr = errors.New("yacc: " + s) + if err := p.lastErr; err != nil { + log.Println(err) + } +} diff --git a/appendix/a-goyacc/examples/calculator/main.go b/appendix/a-goyacc/examples/calculator/main.go new file mode 100644 index 0000000..729fe5d --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/main.go @@ -0,0 +1,36 @@ +// Copyright 2019 . All rights reserved. +// Use of this source code is governed by a Apache +// license that can be found in the LICENSE file. + +package main + +import ( + "bufio" + "io" + "log" + "os" + "strings" +) + +func main() { + br := bufio.NewReader(os.Stdin) + for { + line, err := br.ReadString('\n') + if err != nil { + // ^D: Input end of file on Unix/Linux + // ^Z: Input end of file on Windows + if err == io.EOF { + return + } + log.Fatal(err) + } + + // quit + if s := strings.TrimSpace(line); s == "q" || s == "quit" || s == "exit" { + return + } + + // flex + goyacc + calcParse(newCalcLexer([]byte(line))) + } +} diff --git a/appendix/a-goyacc/examples/calculator/tok.h b/appendix/a-goyacc/examples/calculator/tok.h new file mode 100644 index 0000000..a329898 --- /dev/null +++ b/appendix/a-goyacc/examples/calculator/tok.h @@ -0,0 +1,21 @@ +// Copyright 2019 . All rights reserved. +// Use of this source code is governed by a Apache +// license that can be found in the LICENSE file. + +enum { + ILLEGAL = 10000, + EOL = 10001, + + ID = 258, + NUMBER = 259, + + ADD = 260, // + + SUB = 261, // - + MUL = 262, // * + DIV = 263, // / + ABS = 264, // | + + LPAREN = 265, // ( + RPAREN = 266, // ) + ASSIGN = 267, // = +}; diff --git a/appendix/a-goyacc/readme.html b/appendix/a-goyacc/readme.html new file mode 100644 index 0000000..70440ed --- /dev/null +++ b/appendix/a-goyacc/readme.html @@ -0,0 +1,477 @@ + + + + + + 附录A goyacc - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

附录A goyacc

+

yacc是用于构造编译器的工具,而goyacc是Go语言版本的yacc,是从早期的C语言版本yacc移植到Go语言的。早期的goyacc是Go语言标准命令之一,也是构建Go自身编译器的必备工具链之一,后来被逐步移出了内置工具。但是goyacc依然是一个开发语法分析器的利器。本章简单展示如何用goyacc构建一个命令行计算器小程序。

+

A.1 计算器的特性

+

特性简介:

+
    +
  • 支持整数四则运算
  • +
  • 支持小括弧提升优先级
  • +
  • 支持临时变量保存结果
  • +
+

安装和使用(需要有GCC环境):

+
$ go get github.com/chai2010/calculator
+$ calculator
+1+2*3
+= 7
+x=3-(2-1)
+= 2
+x*2
+= 4
+
+

A.2 词法符号

+

先创建tok.h文件,包含词法符号:

+
enum {
+	ILLEGAL = 10000,
+	EOL = 10001,
+
+	ID = 258,
+	NUMBER = 259,
+
+	ADD = 260, // +
+	SUB = 261, // -
+	MUL = 262, // *
+	DIV = 263, // /
+	ABS = 264, // |
+
+	LPAREN = 265, // (
+	RPAREN = 266, // )
+	ASSIGN = 267, // =
+};
+
+

其中ILLEGAL表示不能识别的无效的符号,EOL表示行的结尾,其它的符号与字面含义相同。

+

A.3 词法解析

+

然后创建calc.l文件,定义每种词法的正则表达式:

+
%option noyywrap
+
+%{
+#include "tok.h"
+%}
+
+%%
+
+[_a-zA-Z]+ { return ID; }
+[0-9]+     { return NUMBER; }
+
+"+"    { return ADD; }
+"-"    { return SUB; }
+"*"    { return MUL; }
+"/"    { return DIV; }
+"|"    { return ABS; }
+
+"("    { return LPAREN; }
+")"    { return RPAREN; }
+"="    { return ASSIGN; }
+
+\n     { return EOL; }
+[ \t]  { /* ignore whitespace */ }
+.      { return ILLEGAL; }
+
+%%
+
+

最开始的noyywrap选项表示关闭yywrap特性,也就是去掉对flex库的依赖,生成可移植的词法分析器代码。然后在%{%}中间是原生的C语言代码,通过包含tok.h引入了每种记号对应的枚举类型。在两组%%中间的部分是每种记号对应的正则表达式,先出现的优先匹配,如果匹配失败则继续尝试后面的规则。每个正则表达式后面跟着一组动作代码,也就是普通的C语言代码,这里都是返回记号的类型。

+

然后通过flex工具生成C语言词法解析器文件:

+
$ flex --prefix=yy --header-file=calc.lex.h -o calc.lex.c calc.l
+
+

其中--prefix表示生成的代码中标识符都是以yy前缀。在一个项目有多个flex生成代码时,可通过前缀区分。--header-file表示生成头问题,这样方便在其它代码中引用生成的词法分析函数。-o指定输出源代码文件的名字。

+

生成的词法分析器中,最重要的有以下几个:

+
extern int yylineno;
+extern char *yytext;
+
+extern int yylex (void);
+
+

其中yylineno表示当前的行号,yytext表示当前记号对应的字符串。而yylex函数每次从标准输入读取一个记号,返回记号类型的值(在tok.h文件定义),如果遇到文件结尾则返回0。

+

如果需要从字符串解析,则需使用以下的导出函数:

+
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
+
+

通过yy_scan_bytes函数,可以设置字符串作为要解析的目标,然后每次调用yylex函数就会从字符串读取数据。这些函数都在calc.lex.h文件中声明。

+

A.4 将C语言词法分析器包装为Go函数

+

创建lex.go文件,内容如下:

+
package main
+
+//#include "tok.h"
+//#include "calc.lex.h"
+import "C"
+
+type calcLex struct {}
+
+func newCalcLexer(data []byte) *calcLex {
+	p := new(calcLex)
+	C.yy_scan_bytes((*C.char)(C.CBytes(data)), C.yy_size_t(len(data)))
+	return p
+}
+
+func (p *calcLex) Lex(yylval *calcSymType) int {
+	var tok = C.yylex()
+	var yylineno = int(C.yylineno)
+	var yytext = C.GoString(C.yytext)
+
+	switch tok {
+	case C.ID:
+		// yylval.id = yytext
+		return ID
+
+	case C.NUMBER:
+		//yylval.value, _ = strconv.Atoi(yytext)
+		return NUMBER
+
+	case C.ADD:
+		return ADD
+	// ...
+
+	case C.EOL:
+		return EOL
+	}
+
+	if tok == C.ILLEGAL {
+		log.Printf("lex: ILLEGAL token, yytext = %q, yylineno = %d", yytext, yylineno)
+	}
+
+	return 0 // eof
+}
+
+

新建的calcLex类型对应Go语言版本的词法分析器,底层工作通过CGO调用flex生成的C语言函数完成。首先newCalcLexer创建一个词法分析器,参数是要分析的数据,通过C.yy_scan_bytes函数调用表示从字符串解析记号。然后calcLex类型的Lex方法表示每次需要解析一个记号(暂时忽略方法的calcSymType参数),内部通过调用C.yylex()读取一个记号,同时记录行号和记号对应的字符串。最后将C语言的记号转为Go语言的记号值返回,比如C.ID对应Go语言的ID

+

对应ID类型,yytext表示变量的名字。对于NUMBER类型,yytext保护数字对应的字符串,可以从字符串解析出数值。但是,Go语言的词法分析器如何返回变量的名字或者是数字的值呢?答案是通过Lex*calcSymType类型的参数可以记录记号额外的属性值。而calcSymType类型是由goyacc工具生成的代码,在下面我们将介绍yacc的内容。

+

A.5 goyacc生成语法解析器

+

goyacc是Go语言版本的yacc工具,是由Go语言官方团队维护的扩展包工具。

+

创建calc.y文件:

+
%{
+package main
+
+var idValueMap = map[string]int{}
+%}
+
+%union {
+	value int
+	id    string
+}
+
+%type  <value> exp factor term
+%token <value> NUMBER
+%token <id>    ID
+
+%token ADD SUB MUL DIV ABS
+%token LPAREN RPAREN ASSIGN
+%token EOL
+
+%%
+calclist
+	: // nothing
+	| calclist exp EOL {
+		idValueMap["_"] = $2
+		fmt.Printf("= %v\n", $2)
+	}
+	| calclist ID ASSIGN exp EOL {
+		idValueMap["_"] = $4
+		idValueMap[$2] = $4
+		fmt.Printf("= %v\n", $4)
+	}
+	;
+
+exp
+	: factor         { $$ = $1 }
+	| exp ADD factor { $$ = $1 + $3 }
+	| exp SUB factor { $$ = $1 - $3 }
+	;
+
+factor
+	: term            { $$ = $1 }
+	| factor MUL term { $$ = $1 * $3 }
+	| factor DIV term { $$ = $1 / $3 }
+	;
+
+term
+	: NUMBER            { $$ = $1 }
+	| ID                { $$ = idValueMap[$1] }
+	;
+
+%%
+
+

和flex工具类型,首先在%{%}中间是原生的Go语言代码。然后%union定义了属性值,用于记录语法解析中每个规则额外的属性值。通过%type定义BNF规则中非终结的名字,%token定义终结记号名字(和flex定义的记号类型是一致的)。而%type%token就可以通过<value><id>的可选语法,将后面的名字绑定到属性。就是后续代码中$$对应的属性,比如%token <id> ID表示ID对应的属性为id,因此在后面的ID { $$ = idValueMap[$1] }表示数值id属性的值,其中idValueMap用于管理变量的值。

+

然后通过goyacc工具生成代码:

+
$ goyacc -o calc.y.go -p "calc" calc.y
+
+

其中-o指定输出的文件名,-p指定标识符名字前缀(和flex的--prefix用法类似)。在生成的calc.y.go文件中将包含最重要的calcParse函数,该函数从指定的词法解析器中读取词法,然后进行语法分析。同时将包含calcSymType类型的定义,它是Lex词法函数的输出参数的类型。

+

在绑定了属性之后,还需要继续完善Lex词法函数的代码:

+
func (p *calcLex) Lex(yylval *calcSymType) int {
+	var tok = C.yylex()
+	var yylineno = int(C.yylineno)
+	var yytext = C.GoString(C.yytext)
+
+	switch tok {
+	case C.ID:
+		yylval.id = yytext
+		return ID
+
+	case C.NUMBER:
+		yylval.value, _ = strconv.Atoi(yytext)
+		return NUMBER
+
+	...
+}
+
+

其中yylval.id = yytext表示词法将解析得到的变量名字填充到id属性中。而数字部分则是通过yylval.value属性保存。

+

A.6 运行计算器

+

创建main函数:

+
func main() {
+	calcParse(newCalcLexer([]byte("1+2*3")))
+}
+
+

newCalcLexer构造一个词法解析器,然后calcParse语法解析器将从词法解析器依次读取记号并解析语法,在解析语法的同时将进行表达式求值运算,同时更新idValueMap全局的变量。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/appendix/b-antlr4/Calc.g4 b/appendix/b-antlr4/Calc.g4 new file mode 100644 index 0000000..1e0840a --- /dev/null +++ b/appendix/b-antlr4/Calc.g4 @@ -0,0 +1,19 @@ +// Calc.g4 +grammar Calc; + +// Tokens +MUL: '*'; +DIV: '/'; +ADD: '+'; +SUB: '-'; +NUMBER: [0-9]+; +WHITESPACE: [ \r\n\t]+ -> skip; + +// Rules +start : expression EOF; + +expression + : expression op=('*'|'/') expression # MulDiv + | expression op=('+'|'-') expression # AddSub + | NUMBER # Number + ; diff --git a/appendix/b-antlr4/Makefile b/appendix/b-antlr4/Makefile new file mode 100644 index 0000000..e7c668f --- /dev/null +++ b/appendix/b-antlr4/Makefile @@ -0,0 +1,7 @@ +antlr4=java -jar /usr/local/lib/antlr-4.8-complete.jar + +default: + $(antlr4) -Dlanguage=Go -visitor -o calc Calc.g4 + +clean: +$ curl -O https://www.antlr.org/download/antlr-4.8-complete.jar diff --git a/appendix/b-antlr4/calc/Calc.interp b/appendix/b-antlr4/calc/Calc.interp new file mode 100644 index 0000000..8a583e2 --- /dev/null +++ b/appendix/b-antlr4/calc/Calc.interp @@ -0,0 +1,25 @@ +token literal names: +null +'*' +'/' +'+' +'-' +null +null + +token symbolic names: +null +MUL +DIV +ADD +SUB +NUMBER +WHITESPACE + +rule names: +start +expression + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 8, 24, 4, 2, 9, 2, 4, 3, 9, 3, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 19, 10, 3, 12, 3, 14, 3, 22, 11, 3, 3, 3, 2, 3, 4, 4, 2, 4, 2, 4, 3, 2, 3, 4, 3, 2, 5, 6, 2, 23, 2, 6, 3, 2, 2, 2, 4, 9, 3, 2, 2, 2, 6, 7, 5, 4, 3, 2, 7, 8, 7, 2, 2, 3, 8, 3, 3, 2, 2, 2, 9, 10, 8, 3, 1, 2, 10, 11, 7, 7, 2, 2, 11, 20, 3, 2, 2, 2, 12, 13, 12, 5, 2, 2, 13, 14, 9, 2, 2, 2, 14, 19, 5, 4, 3, 6, 15, 16, 12, 4, 2, 2, 16, 17, 9, 3, 2, 2, 17, 19, 5, 4, 3, 5, 18, 12, 3, 2, 2, 2, 18, 15, 3, 2, 2, 2, 19, 22, 3, 2, 2, 2, 20, 18, 3, 2, 2, 2, 20, 21, 3, 2, 2, 2, 21, 5, 3, 2, 2, 2, 22, 20, 3, 2, 2, 2, 4, 18, 20] \ No newline at end of file diff --git a/appendix/b-antlr4/calc/Calc.tokens b/appendix/b-antlr4/calc/Calc.tokens new file mode 100644 index 0000000..dae0247 --- /dev/null +++ b/appendix/b-antlr4/calc/Calc.tokens @@ -0,0 +1,10 @@ +MUL=1 +DIV=2 +ADD=3 +SUB=4 +NUMBER=5 +WHITESPACE=6 +'*'=1 +'/'=2 +'+'=3 +'-'=4 diff --git a/appendix/b-antlr4/calc/CalcLexer.interp b/appendix/b-antlr4/calc/CalcLexer.interp new file mode 100644 index 0000000..6fb1870 --- /dev/null +++ b/appendix/b-antlr4/calc/CalcLexer.interp @@ -0,0 +1,35 @@ +token literal names: +null +'*' +'/' +'+' +'-' +null +null + +token symbolic names: +null +MUL +DIV +ADD +SUB +NUMBER +WHITESPACE + +rule names: +MUL +DIV +ADD +SUB +NUMBER +WHITESPACE + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 8, 35, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 6, 6, 25, 10, 6, 13, 6, 14, 6, 26, 3, 7, 6, 7, 30, 10, 7, 13, 7, 14, 7, 31, 3, 7, 3, 7, 2, 2, 8, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 3, 2, 4, 3, 2, 50, 59, 5, 2, 11, 12, 15, 15, 34, 34, 2, 36, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 3, 15, 3, 2, 2, 2, 5, 17, 3, 2, 2, 2, 7, 19, 3, 2, 2, 2, 9, 21, 3, 2, 2, 2, 11, 24, 3, 2, 2, 2, 13, 29, 3, 2, 2, 2, 15, 16, 7, 44, 2, 2, 16, 4, 3, 2, 2, 2, 17, 18, 7, 49, 2, 2, 18, 6, 3, 2, 2, 2, 19, 20, 7, 45, 2, 2, 20, 8, 3, 2, 2, 2, 21, 22, 7, 47, 2, 2, 22, 10, 3, 2, 2, 2, 23, 25, 9, 2, 2, 2, 24, 23, 3, 2, 2, 2, 25, 26, 3, 2, 2, 2, 26, 24, 3, 2, 2, 2, 26, 27, 3, 2, 2, 2, 27, 12, 3, 2, 2, 2, 28, 30, 9, 3, 2, 2, 29, 28, 3, 2, 2, 2, 30, 31, 3, 2, 2, 2, 31, 29, 3, 2, 2, 2, 31, 32, 3, 2, 2, 2, 32, 33, 3, 2, 2, 2, 33, 34, 8, 7, 2, 2, 34, 14, 3, 2, 2, 2, 5, 2, 26, 31, 3, 8, 2, 2] \ No newline at end of file diff --git a/appendix/b-antlr4/calc/CalcLexer.tokens b/appendix/b-antlr4/calc/CalcLexer.tokens new file mode 100644 index 0000000..dae0247 --- /dev/null +++ b/appendix/b-antlr4/calc/CalcLexer.tokens @@ -0,0 +1,10 @@ +MUL=1 +DIV=2 +ADD=3 +SUB=4 +NUMBER=5 +WHITESPACE=6 +'*'=1 +'/'=2 +'+'=3 +'-'=4 diff --git a/appendix/b-antlr4/calc/calc_base_listener.go b/appendix/b-antlr4/calc/calc_base_listener.go new file mode 100644 index 0000000..b245b71 --- /dev/null +++ b/appendix/b-antlr4/calc/calc_base_listener.go @@ -0,0 +1,46 @@ +// Code generated from Calc.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // Calc + +import "github.com/antlr/antlr4/runtime/Go/antlr" + +// BaseCalcListener is a complete listener for a parse tree produced by CalcParser. +type BaseCalcListener struct{} + +var _ CalcListener = &BaseCalcListener{} + +// VisitTerminal is called when a terminal node is visited. +func (s *BaseCalcListener) VisitTerminal(node antlr.TerminalNode) {} + +// VisitErrorNode is called when an error node is visited. +func (s *BaseCalcListener) VisitErrorNode(node antlr.ErrorNode) {} + +// EnterEveryRule is called when any rule is entered. +func (s *BaseCalcListener) EnterEveryRule(ctx antlr.ParserRuleContext) {} + +// ExitEveryRule is called when any rule is exited. +func (s *BaseCalcListener) ExitEveryRule(ctx antlr.ParserRuleContext) {} + +// EnterStart is called when production start is entered. +func (s *BaseCalcListener) EnterStart(ctx *StartContext) {} + +// ExitStart is called when production start is exited. +func (s *BaseCalcListener) ExitStart(ctx *StartContext) {} + +// EnterNumber is called when production Number is entered. +func (s *BaseCalcListener) EnterNumber(ctx *NumberContext) {} + +// ExitNumber is called when production Number is exited. +func (s *BaseCalcListener) ExitNumber(ctx *NumberContext) {} + +// EnterMulDiv is called when production MulDiv is entered. +func (s *BaseCalcListener) EnterMulDiv(ctx *MulDivContext) {} + +// ExitMulDiv is called when production MulDiv is exited. +func (s *BaseCalcListener) ExitMulDiv(ctx *MulDivContext) {} + +// EnterAddSub is called when production AddSub is entered. +func (s *BaseCalcListener) EnterAddSub(ctx *AddSubContext) {} + +// ExitAddSub is called when production AddSub is exited. +func (s *BaseCalcListener) ExitAddSub(ctx *AddSubContext) {} diff --git a/appendix/b-antlr4/calc/calc_base_visitor.go b/appendix/b-antlr4/calc/calc_base_visitor.go new file mode 100644 index 0000000..794590e --- /dev/null +++ b/appendix/b-antlr4/calc/calc_base_visitor.go @@ -0,0 +1,25 @@ +// Code generated from Calc.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // Calc + +import "github.com/antlr/antlr4/runtime/Go/antlr" + +type BaseCalcVisitor struct { + *antlr.BaseParseTreeVisitor +} + +func (v *BaseCalcVisitor) VisitStart(ctx *StartContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCalcVisitor) VisitNumber(ctx *NumberContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCalcVisitor) VisitMulDiv(ctx *MulDivContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseCalcVisitor) VisitAddSub(ctx *AddSubContext) interface{} { + return v.VisitChildren(ctx) +} diff --git a/appendix/b-antlr4/calc/calc_lexer.go b/appendix/b-antlr4/calc/calc_lexer.go new file mode 100644 index 0000000..8320787 --- /dev/null +++ b/appendix/b-antlr4/calc/calc_lexer.go @@ -0,0 +1,99 @@ +// Code generated from Calc.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser + +import ( + "fmt" + "unicode" + + "github.com/antlr/antlr4/runtime/Go/antlr" +) + +// Suppress unused import error +var _ = fmt.Printf +var _ = unicode.IsLetter + +var serializedLexerAtn = []uint16{ + 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 8, 35, 8, + 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, + 7, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 6, 6, 25, 10, + 6, 13, 6, 14, 6, 26, 3, 7, 6, 7, 30, 10, 7, 13, 7, 14, 7, 31, 3, 7, 3, + 7, 2, 2, 8, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 3, 2, 4, 3, 2, 50, 59, + 5, 2, 11, 12, 15, 15, 34, 34, 2, 36, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, + 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, + 2, 3, 15, 3, 2, 2, 2, 5, 17, 3, 2, 2, 2, 7, 19, 3, 2, 2, 2, 9, 21, 3, 2, + 2, 2, 11, 24, 3, 2, 2, 2, 13, 29, 3, 2, 2, 2, 15, 16, 7, 44, 2, 2, 16, + 4, 3, 2, 2, 2, 17, 18, 7, 49, 2, 2, 18, 6, 3, 2, 2, 2, 19, 20, 7, 45, 2, + 2, 20, 8, 3, 2, 2, 2, 21, 22, 7, 47, 2, 2, 22, 10, 3, 2, 2, 2, 23, 25, + 9, 2, 2, 2, 24, 23, 3, 2, 2, 2, 25, 26, 3, 2, 2, 2, 26, 24, 3, 2, 2, 2, + 26, 27, 3, 2, 2, 2, 27, 12, 3, 2, 2, 2, 28, 30, 9, 3, 2, 2, 29, 28, 3, + 2, 2, 2, 30, 31, 3, 2, 2, 2, 31, 29, 3, 2, 2, 2, 31, 32, 3, 2, 2, 2, 32, + 33, 3, 2, 2, 2, 33, 34, 8, 7, 2, 2, 34, 14, 3, 2, 2, 2, 5, 2, 26, 31, 3, + 8, 2, 2, +} + +var lexerDeserializer = antlr.NewATNDeserializer(nil) +var lexerAtn = lexerDeserializer.DeserializeFromUInt16(serializedLexerAtn) + +var lexerChannelNames = []string{ + "DEFAULT_TOKEN_CHANNEL", "HIDDEN", +} + +var lexerModeNames = []string{ + "DEFAULT_MODE", +} + +var lexerLiteralNames = []string{ + "", "'*'", "'/'", "'+'", "'-'", +} + +var lexerSymbolicNames = []string{ + "", "MUL", "DIV", "ADD", "SUB", "NUMBER", "WHITESPACE", +} + +var lexerRuleNames = []string{ + "MUL", "DIV", "ADD", "SUB", "NUMBER", "WHITESPACE", +} + +type CalcLexer struct { + *antlr.BaseLexer + channelNames []string + modeNames []string + // TODO: EOF string +} + +var lexerDecisionToDFA = make([]*antlr.DFA, len(lexerAtn.DecisionToState)) + +func init() { + for index, ds := range lexerAtn.DecisionToState { + lexerDecisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +func NewCalcLexer(input antlr.CharStream) *CalcLexer { + + l := new(CalcLexer) + + l.BaseLexer = antlr.NewBaseLexer(input) + l.Interpreter = antlr.NewLexerATNSimulator(l, lexerAtn, lexerDecisionToDFA, antlr.NewPredictionContextCache()) + + l.channelNames = lexerChannelNames + l.modeNames = lexerModeNames + l.RuleNames = lexerRuleNames + l.LiteralNames = lexerLiteralNames + l.SymbolicNames = lexerSymbolicNames + l.GrammarFileName = "Calc.g4" + // TODO: l.EOF = antlr.TokenEOF + + return l +} + +// CalcLexer tokens. +const ( + CalcLexerMUL = 1 + CalcLexerDIV = 2 + CalcLexerADD = 3 + CalcLexerSUB = 4 + CalcLexerNUMBER = 5 + CalcLexerWHITESPACE = 6 +) diff --git a/appendix/b-antlr4/calc/calc_listener.go b/appendix/b-antlr4/calc/calc_listener.go new file mode 100644 index 0000000..66c7d4b --- /dev/null +++ b/appendix/b-antlr4/calc/calc_listener.go @@ -0,0 +1,34 @@ +// Code generated from Calc.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // Calc + +import "github.com/antlr/antlr4/runtime/Go/antlr" + +// CalcListener is a complete listener for a parse tree produced by CalcParser. +type CalcListener interface { + antlr.ParseTreeListener + + // EnterStart is called when entering the start production. + EnterStart(c *StartContext) + + // EnterNumber is called when entering the Number production. + EnterNumber(c *NumberContext) + + // EnterMulDiv is called when entering the MulDiv production. + EnterMulDiv(c *MulDivContext) + + // EnterAddSub is called when entering the AddSub production. + EnterAddSub(c *AddSubContext) + + // ExitStart is called when exiting the start production. + ExitStart(c *StartContext) + + // ExitNumber is called when exiting the Number production. + ExitNumber(c *NumberContext) + + // ExitMulDiv is called when exiting the MulDiv production. + ExitMulDiv(c *MulDivContext) + + // ExitAddSub is called when exiting the AddSub production. + ExitAddSub(c *AddSubContext) +} diff --git a/appendix/b-antlr4/calc/calc_parser.go b/appendix/b-antlr4/calc/calc_parser.go new file mode 100644 index 0000000..48d0ae3 --- /dev/null +++ b/appendix/b-antlr4/calc/calc_parser.go @@ -0,0 +1,601 @@ +// Code generated from Calc.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // Calc + +import ( + "fmt" + "reflect" + "strconv" + + "github.com/antlr/antlr4/runtime/Go/antlr" +) + +// Suppress unused import errors +var _ = fmt.Printf +var _ = reflect.Copy +var _ = strconv.Itoa + +var parserATN = []uint16{ + 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 8, 24, 4, + 2, 9, 2, 4, 3, 9, 3, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 7, 3, 19, 10, 3, 12, 3, 14, 3, 22, 11, 3, 3, 3, 2, + 3, 4, 4, 2, 4, 2, 4, 3, 2, 3, 4, 3, 2, 5, 6, 2, 23, 2, 6, 3, 2, 2, 2, 4, + 9, 3, 2, 2, 2, 6, 7, 5, 4, 3, 2, 7, 8, 7, 2, 2, 3, 8, 3, 3, 2, 2, 2, 9, + 10, 8, 3, 1, 2, 10, 11, 7, 7, 2, 2, 11, 20, 3, 2, 2, 2, 12, 13, 12, 5, + 2, 2, 13, 14, 9, 2, 2, 2, 14, 19, 5, 4, 3, 6, 15, 16, 12, 4, 2, 2, 16, + 17, 9, 3, 2, 2, 17, 19, 5, 4, 3, 5, 18, 12, 3, 2, 2, 2, 18, 15, 3, 2, 2, + 2, 19, 22, 3, 2, 2, 2, 20, 18, 3, 2, 2, 2, 20, 21, 3, 2, 2, 2, 21, 5, 3, + 2, 2, 2, 22, 20, 3, 2, 2, 2, 4, 18, 20, +} +var deserializer = antlr.NewATNDeserializer(nil) +var deserializedATN = deserializer.DeserializeFromUInt16(parserATN) + +var literalNames = []string{ + "", "'*'", "'/'", "'+'", "'-'", +} +var symbolicNames = []string{ + "", "MUL", "DIV", "ADD", "SUB", "NUMBER", "WHITESPACE", +} + +var ruleNames = []string{ + "start", "expression", +} +var decisionToDFA = make([]*antlr.DFA, len(deserializedATN.DecisionToState)) + +func init() { + for index, ds := range deserializedATN.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +type CalcParser struct { + *antlr.BaseParser +} + +func NewCalcParser(input antlr.TokenStream) *CalcParser { + this := new(CalcParser) + + this.BaseParser = antlr.NewBaseParser(input) + + this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache()) + this.RuleNames = ruleNames + this.LiteralNames = literalNames + this.SymbolicNames = symbolicNames + this.GrammarFileName = "Calc.g4" + + return this +} + +// CalcParser tokens. +const ( + CalcParserEOF = antlr.TokenEOF + CalcParserMUL = 1 + CalcParserDIV = 2 + CalcParserADD = 3 + CalcParserSUB = 4 + CalcParserNUMBER = 5 + CalcParserWHITESPACE = 6 +) + +// CalcParser rules. +const ( + CalcParserRULE_start = 0 + CalcParserRULE_expression = 1 +) + +// IStartContext is an interface to support dynamic dispatch. +type IStartContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsStartContext differentiates from other interfaces. + IsStartContext() +} + +type StartContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyStartContext() *StartContext { + var p = new(StartContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = CalcParserRULE_start + return p +} + +func (*StartContext) IsStartContext() {} + +func NewStartContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StartContext { + var p = new(StartContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = CalcParserRULE_start + + return p +} + +func (s *StartContext) GetParser() antlr.Parser { return s.parser } + +func (s *StartContext) Expression() IExpressionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IExpressionContext) +} + +func (s *StartContext) EOF() antlr.TerminalNode { + return s.GetToken(CalcParserEOF, 0) +} + +func (s *StartContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *StartContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *StartContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.EnterStart(s) + } +} + +func (s *StartContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.ExitStart(s) + } +} + +func (s *StartContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CalcVisitor: + return t.VisitStart(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *CalcParser) Start() (localctx IStartContext) { + localctx = NewStartContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 0, CalcParserRULE_start) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(4) + p.expression(0) + } + { + p.SetState(5) + p.Match(CalcParserEOF) + } + + return localctx +} + +// IExpressionContext is an interface to support dynamic dispatch. +type IExpressionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsExpressionContext differentiates from other interfaces. + IsExpressionContext() +} + +type ExpressionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyExpressionContext() *ExpressionContext { + var p = new(ExpressionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = CalcParserRULE_expression + return p +} + +func (*ExpressionContext) IsExpressionContext() {} + +func NewExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExpressionContext { + var p = new(ExpressionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = CalcParserRULE_expression + + return p +} + +func (s *ExpressionContext) GetParser() antlr.Parser { return s.parser } + +func (s *ExpressionContext) CopyFrom(ctx *ExpressionContext) { + s.BaseParserRuleContext.CopyFrom(ctx.BaseParserRuleContext) +} + +func (s *ExpressionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type NumberContext struct { + *ExpressionContext +} + +func NewNumberContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NumberContext { + var p = new(NumberContext) + + p.ExpressionContext = NewEmptyExpressionContext() + p.parser = parser + p.CopyFrom(ctx.(*ExpressionContext)) + + return p +} + +func (s *NumberContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *NumberContext) NUMBER() antlr.TerminalNode { + return s.GetToken(CalcParserNUMBER, 0) +} + +func (s *NumberContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.EnterNumber(s) + } +} + +func (s *NumberContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.ExitNumber(s) + } +} + +func (s *NumberContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CalcVisitor: + return t.VisitNumber(s) + + default: + return t.VisitChildren(s) + } +} + +type MulDivContext struct { + *ExpressionContext + op antlr.Token +} + +func NewMulDivContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MulDivContext { + var p = new(MulDivContext) + + p.ExpressionContext = NewEmptyExpressionContext() + p.parser = parser + p.CopyFrom(ctx.(*ExpressionContext)) + + return p +} + +func (s *MulDivContext) GetOp() antlr.Token { return s.op } + +func (s *MulDivContext) SetOp(v antlr.Token) { s.op = v } + +func (s *MulDivContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MulDivContext) AllExpression() []IExpressionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExpressionContext)(nil)).Elem()) + var tst = make([]IExpressionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IExpressionContext) + } + } + + return tst +} + +func (s *MulDivContext) Expression(i int) IExpressionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IExpressionContext) +} + +func (s *MulDivContext) MUL() antlr.TerminalNode { + return s.GetToken(CalcParserMUL, 0) +} + +func (s *MulDivContext) DIV() antlr.TerminalNode { + return s.GetToken(CalcParserDIV, 0) +} + +func (s *MulDivContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.EnterMulDiv(s) + } +} + +func (s *MulDivContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.ExitMulDiv(s) + } +} + +func (s *MulDivContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CalcVisitor: + return t.VisitMulDiv(s) + + default: + return t.VisitChildren(s) + } +} + +type AddSubContext struct { + *ExpressionContext + op antlr.Token +} + +func NewAddSubContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *AddSubContext { + var p = new(AddSubContext) + + p.ExpressionContext = NewEmptyExpressionContext() + p.parser = parser + p.CopyFrom(ctx.(*ExpressionContext)) + + return p +} + +func (s *AddSubContext) GetOp() antlr.Token { return s.op } + +func (s *AddSubContext) SetOp(v antlr.Token) { s.op = v } + +func (s *AddSubContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AddSubContext) AllExpression() []IExpressionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExpressionContext)(nil)).Elem()) + var tst = make([]IExpressionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IExpressionContext) + } + } + + return tst +} + +func (s *AddSubContext) Expression(i int) IExpressionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IExpressionContext) +} + +func (s *AddSubContext) ADD() antlr.TerminalNode { + return s.GetToken(CalcParserADD, 0) +} + +func (s *AddSubContext) SUB() antlr.TerminalNode { + return s.GetToken(CalcParserSUB, 0) +} + +func (s *AddSubContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.EnterAddSub(s) + } +} + +func (s *AddSubContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(CalcListener); ok { + listenerT.ExitAddSub(s) + } +} + +func (s *AddSubContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case CalcVisitor: + return t.VisitAddSub(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *CalcParser) Expression() (localctx IExpressionContext) { + return p.expression(0) +} + +func (p *CalcParser) expression(_p int) (localctx IExpressionContext) { + var _parentctx antlr.ParserRuleContext = p.GetParserRuleContext() + _parentState := p.GetState() + localctx = NewExpressionContext(p, p.GetParserRuleContext(), _parentState) + var _prevctx IExpressionContext = localctx + var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. + _startState := 2 + p.EnterRecursionRule(localctx, 2, CalcParserRULE_expression, _p) + var _la int + + defer func() { + p.UnrollRecursionContexts(_parentctx) + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + var _alt int + + p.EnterOuterAlt(localctx, 1) + localctx = NewNumberContext(p, localctx) + p.SetParserRuleContext(localctx) + _prevctx = localctx + + { + p.SetState(8) + p.Match(CalcParserNUMBER) + } + + p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) + p.SetState(18) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 1, p.GetParserRuleContext()) + + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + if p.GetParseListeners() != nil { + p.TriggerExitRuleEvent() + } + _prevctx = localctx + p.SetState(16) + p.GetErrorHandler().Sync(p) + switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 0, p.GetParserRuleContext()) { + case 1: + localctx = NewMulDivContext(p, NewExpressionContext(p, _parentctx, _parentState)) + p.PushNewRecursionContext(localctx, _startState, CalcParserRULE_expression) + p.SetState(10) + + if !(p.Precpred(p.GetParserRuleContext(), 3)) { + panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 3)", "")) + } + { + p.SetState(11) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*MulDivContext).op = _lt + + _la = p.GetTokenStream().LA(1) + + if !(_la == CalcParserMUL || _la == CalcParserDIV) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*MulDivContext).op = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(12) + p.expression(4) + } + + case 2: + localctx = NewAddSubContext(p, NewExpressionContext(p, _parentctx, _parentState)) + p.PushNewRecursionContext(localctx, _startState, CalcParserRULE_expression) + p.SetState(13) + + if !(p.Precpred(p.GetParserRuleContext(), 2)) { + panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 2)", "")) + } + { + p.SetState(14) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*AddSubContext).op = _lt + + _la = p.GetTokenStream().LA(1) + + if !(_la == CalcParserADD || _la == CalcParserSUB) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*AddSubContext).op = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(15) + p.expression(3) + } + + } + + } + p.SetState(20) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 1, p.GetParserRuleContext()) + } + + return localctx +} + +func (p *CalcParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool { + switch ruleIndex { + case 1: + var t *ExpressionContext = nil + if localctx != nil { + t = localctx.(*ExpressionContext) + } + return p.Expression_Sempred(t, predIndex) + + default: + panic("No predicate with index: " + fmt.Sprint(ruleIndex)) + } +} + +func (p *CalcParser) Expression_Sempred(localctx antlr.RuleContext, predIndex int) bool { + switch predIndex { + case 0: + return p.Precpred(p.GetParserRuleContext(), 3) + + case 1: + return p.Precpred(p.GetParserRuleContext(), 2) + + default: + panic("No predicate with index: " + fmt.Sprint(predIndex)) + } +} diff --git a/appendix/b-antlr4/calc/calc_visitor.go b/appendix/b-antlr4/calc/calc_visitor.go new file mode 100644 index 0000000..69b6661 --- /dev/null +++ b/appendix/b-antlr4/calc/calc_visitor.go @@ -0,0 +1,22 @@ +// Code generated from Calc.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // Calc + +import "github.com/antlr/antlr4/runtime/Go/antlr" + +// A complete Visitor for a parse tree produced by CalcParser. +type CalcVisitor interface { + antlr.ParseTreeVisitor + + // Visit a parse tree produced by CalcParser#start. + VisitStart(ctx *StartContext) interface{} + + // Visit a parse tree produced by CalcParser#Number. + VisitNumber(ctx *NumberContext) interface{} + + // Visit a parse tree produced by CalcParser#MulDiv. + VisitMulDiv(ctx *MulDivContext) interface{} + + // Visit a parse tree produced by CalcParser#AddSub. + VisitAddSub(ctx *AddSubContext) interface{} +} diff --git a/appendix/b-antlr4/go.mod b/appendix/b-antlr4/go.mod new file mode 100644 index 0000000..cea882d --- /dev/null +++ b/appendix/b-antlr4/go.mod @@ -0,0 +1,7 @@ +module hello-antlr + +go 1.14 + +require ( + github.com/antlr/antlr4 v0.0.0-20201010232522-9e64dfc6e99f +) diff --git a/appendix/b-antlr4/go.sum b/appendix/b-antlr4/go.sum new file mode 100644 index 0000000..7a9aa2c --- /dev/null +++ b/appendix/b-antlr4/go.sum @@ -0,0 +1,2 @@ +github.com/antlr/antlr4 v0.0.0-20201010232522-9e64dfc6e99f h1:ew5M1cyKprBmUlhH5LkfRR/AguV9F5oUbhYxMPz3eGE= +github.com/antlr/antlr4 v0.0.0-20201010232522-9e64dfc6e99f/go.mod h1:T7PbCXFs94rrTttyxjbyT5+/1V8T2TYDejxUfHJjw1Y= diff --git a/appendix/b-antlr4/listener.go b/appendix/b-antlr4/listener.go new file mode 100644 index 0000000..45cd6de --- /dev/null +++ b/appendix/b-antlr4/listener.go @@ -0,0 +1,37 @@ +package main + +import ( + "strconv" + + parser "hello-antlr/calc" +) + +type calcListener struct { + *parser.BaseCalcListener + Stack +} + +func (l *calcListener) ExitMulDiv(c *parser.MulDivContext) { + right, left := l.pop(), l.pop() + switch c.GetOp().GetTokenType() { + case parser.CalcParserMUL: + l.push(left * right) + case parser.CalcParserDIV: + l.push(left / right) + } +} + +func (l *calcListener) ExitAddSub(c *parser.AddSubContext) { + right, left := l.pop(), l.pop() + switch c.GetOp().GetTokenType() { + case parser.CalcParserADD: + l.push(left + right) + case parser.CalcParserSUB: + l.push(left - right) + } +} + +func (l *calcListener) ExitNumber(c *parser.NumberContext) { + i, _ := strconv.Atoi(c.GetText()) + l.push(i) +} diff --git a/appendix/b-antlr4/main.go b/appendix/b-antlr4/main.go new file mode 100644 index 0000000..9c132d7 --- /dev/null +++ b/appendix/b-antlr4/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "fmt" + + "github.com/antlr/antlr4/runtime/Go/antlr" + calc "hello-antlr/calc" +) + +func main() { + if false { + lexer := calc.NewCalcLexer(antlr.NewInputStream("1+2*3")) + parser := calc.NewCalcParser(antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel)) + + var v calcVisitor + parser.Start().Accept(&v) + fmt.Println(v.pop()) + } + if true { + lexer := calc.NewCalcLexer(antlr.NewInputStream("2+2*5")) + parser := calc.NewCalcParser(antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel)) + + var l calc.CalcListener = new(calcListener) + antlr.NewParseTreeWalker().Walk(l, parser.Start()) + fmt.Println(l.(*calcListener).pop()) + } +} diff --git a/appendix/b-antlr4/readme.html b/appendix/b-antlr4/readme.html new file mode 100644 index 0000000..cba2e3b --- /dev/null +++ b/appendix/b-antlr4/readme.html @@ -0,0 +1,395 @@ + + + + + + 附录B ANTLR4 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

附录B ANTLR4

+

ANTLR(ANother Tool for Language Recognition)是由Terence Parr博士开发的的语法分析器生成工具,可用于读取、处理、执行和翻译结构化的文件。ANTLR第一版采用C语言开发在1989年发布(第一版名字叫PCCTS),ANTLR2开始改用Java语言实现并在1997年发布第一版本,ANTLR3和ANTLR4分别在2005年和2013年发布,支持Go语言的ANTLR4.6在2016年底发布,从诞生到现在ANTLR已经有30多年的发展历史。目前ANTLR已经成为很多语言、工具和框架软件的基石,本节我们将简单展示如何通过ANTLR4构造一个Go语言版本的计算器。

+

B.1 构造语法文件

+

首先创建Calc.g4文件描述表达式语法:

+
// Calc.g4
+grammar Calc;
+
+// Tokens
+MUL: '*';
+DIV: '/';
+ADD: '+';
+SUB: '-';
+NUMBER: [0-9]+;
+WHITESPACE: [ \r\n\t]+ -> skip;
+
+// Rules
+start : expression EOF;
+
+expression
+   : expression op=('*'|'/') expression # MulDiv
+   | expression op=('+'|'-') expression # AddSub
+   | NUMBER                             # Number
+   ;
+
+

其中MULDIVADDSUBNUMBERWHITESPACE采用大写名字书写的规则表示词法记号,每个词法规则采用类似正则表达式的语法书写,最后WHITESPACE后的-> skip动作表示跳过空白字符。

+

而以小写字母表示的startexpression则是采用BNF语法书写的语法规则:第一个start表示语法的开始,expression表示表达式语法。如果语法对应多个不同的规则,第一出现的规则优先级最高,同时每个规则后面的# MulDiv表示响应改规则的方法名字。

+

安装ANTLR4的jar包之后,可以用以下的命令输出Go语言版本的语法解析器:

+
$ java -jar antlr-4.8-complete.jar -Dlanguage=Go -o calc Calc.g4
+
+

其中-Dlanguage=Go表示输出Go语言版本的解析器代码,-o calc表示将Go代码输出到calc目录下。

+

B.2 基于生成代码构造解析器

+

ANTLR4生成的代码已经包含了表达式完整的词法和语法分析器。比如可以按照如下方式为"1+2*3"表达式构造表达式分析器:

+
import (
+	"github.com/antlr/antlr4/runtime/Go/antlr"
+
+	calc "./calc"
+)
+
+func main() {
+	lexer := calc.NewCalcLexer(antlr.NewInputStream("1+2*3"))
+	parser := calc.NewCalcParser(antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel))
+	...
+}
+
+

首先生成的calc.NewCalcLexer函数基于antlr.NewInputStream("1+2*3")输入的文本流构建词分析器。然后calc.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel)将解析到的词法记号转化为记号流传递给生成的calc.NewCalcParser语法解析函数。

+

查看生成的CalcParser结构体的导出方法:

+
$ go doc CalcParser
+package parser // import "."
+
+type CalcParser struct {
+	*antlr.BaseParser
+}
+
+func NewCalcParser(input antlr.TokenStream) *CalcParser
+func (p *CalcParser) Expression() (localctx IExpressionContext)
+func (p *CalcParser) Expression_Sempred(localctx antlr.RuleContext, predIndex int) bool
+func (p *CalcParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool
+func (p *CalcParser) Start() (localctx IStartContext)
+
+

其中Start()返回当前语法解析器得到的一个名字为start的规则对应的语法树。

+

B.3 calc.CalcListener接口

+

要遍历语法树必须先实现calc.CalcListener接口:

+
// CalcListener is a complete listener for a parse tree produced by CalcParser.
+type CalcListener interface {
+	antlr.ParseTreeListener
+
+	EnterStart(c *StartContext)
+	EnterNumber(c *NumberContext)
+	EnterMulDiv(c *MulDivContext)
+	EnterAddSub(c *AddSubContext)
+	ExitStart(c *StartContext)
+	ExitNumber(c *NumberContext)
+	ExitMulDiv(c *MulDivContext)
+	ExitAddSub(c *AddSubContext)
+}
+
+

每个规则都有对应的进入和退出方法,比如EnterMulDivExitMulDiv对应# MulDiv标柱的语法规则。这里我们只关心乘除法和加减法的规则,实现calcListener如下:

+
type calcListener struct {
+	*cacl.BaseCalcListener
+}
+
+func (l *calcListener) ExitMulDiv(c *parser.MulDivContext) { /* TODO */ }
+func (l *calcListener) ExitAddSub(c *parser.AddSubContext) { /* TODO */ }
+func (l *calcListener) ExitNumber(c *parser.NumberContext) { /* TODO */ }
+
+

其中calc.BaseCalcListener是ANTLR4实现的基础遍历者,基于这个对象继承的calcListener结构体只需要重新实现需要的方法即可满足calc.CalcListener接口。

+

B.3 实现遍历规则的方法

+

对于带小括号的四则运算表达式需要一个临时栈用于保存中间结果:

+
type calcListener struct {
+	*cacl.BaseCalcListener
+	stk []int
+}
+
+func (p *calcListener) push(i int) {
+	p.stk = append(p.stk, i)
+}
+func (p *calcListener) pop() int {
+	result := p.stk[len(p.stk)-1]
+	p.stk = p.stk[:len(p.stk)-1]
+	return result
+}
+
+

其中pushpop分别对于入栈和出栈操作。然后就可以先实现ExitNumber方法,它在退出一个数字前被调用:

+
func (l *calcListener) ExitNumber(c *parser.NumberContext) {
+	i, _ := strconv.Atoi(c.GetText())
+	l.push(i)
+}
+
+

通过c.GetText()从当前上下文获取当前的数字,然后通过l.push(i)压入临时栈保存。然后分别在乘除法和加减法规则时从栈消费临时栈保存的中间结果,最终将运算的中间结果再压入临时栈中。

+

乘除法和加减法对应的ExitMulDivExitAddSub方法实现如下:

+
func (l *calcListener) ExitMulDiv(c *parser.MulDivContext) {
+	right, left := l.pop(), l.pop()
+	switch c.GetOp().GetTokenType() {
+	case parser.CalcParserMUL:
+		l.push(left * right)
+	case parser.CalcParserDIV:
+		l.push(left / right)
+	}
+}
+
+func (l *calcListener) ExitAddSub(c *parser.AddSubContext) {
+	right, left := l.pop(), l.pop()
+	switch c.GetOp().GetTokenType() {
+	case parser.CalcParserADD:
+		l.push(left + right)
+	case parser.CalcParserSUB:
+		l.push(left - right)
+	}
+}
+
+

需要注意的是l.pop()从临时栈先弹出的值是二元表达式右边的值。c.GetOp().GetTokenType()是通过当前上下文获得当前运算符,获取运算符记号对应的函数名GetOp是根据expression op=('*'|'/') expression语法中的op=('*'|'/')名字生成。

+

B.4 遍历语法树

+

现在就可以通过以下方法遍历针对返回的语法树:

+
func main() {
+	lexer := calc.NewCalcLexer(antlr.NewInputStream("1+2*3"))
+	parser := calc.NewCalcParser(antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel))
+
+	var l calc.CalcListener = new(calcListener)
+	antlr.NewParseTreeWalker().Walk(l, parser.Start())
+	fmt.Println(l.(*calcListener).pop())
+}
+
+

其中l是刚实现的满足calc.CalcListener接口的遍历者对象,parser.Start()是表达式解析后得到的语法树。如果表达式没有语法错误,遍历完成之后通过pop()方法从临时栈中弹出最后的运算结果。

+

B.5 补充说明

+

ANTLR4对Go语言支持虽然只有几年时间但是已经足够稳定,比如Google基于Protobuf设计的CEL验证语言的Go语言版本就是基于ANTLR4生成语法解析器。ANTLR4是功能强大的语法解析器生成工具,不仅仅支持基于Listener模式的遍历,还支持通过Visitor模式支持更多定制操作的语法树遍历。此外ANTLR4在社区中配套的辅助工具也非常完善,比如VSCode就有对应的插件以铁路图等不同等方式展示语法文件。更详细的用法请参考Terence Parr博士的《编程语言实现模式》和《ANTLR4权威指南》,它们才是码农真正需要的屠龙刀和倚天剑。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/appendix/b-antlr4/stack.go b/appendix/b-antlr4/stack.go new file mode 100644 index 0000000..b1705ef --- /dev/null +++ b/appendix/b-antlr4/stack.go @@ -0,0 +1,17 @@ +package main + +type Stack struct { + stk []int +} + +func (p *Stack) push(i int) { + p.stk = append(p.stk, i) +} +func (p *Stack) pop() int { + if len(p.stk) < 1 { + panic("stk is empty unable to pop") + } + result := p.stk[len(p.stk)-1] + p.stk = p.stk[:len(p.stk)-1] + return result +} diff --git a/appendix/b-antlr4/visitor.go b/appendix/b-antlr4/visitor.go new file mode 100644 index 0000000..908ea16 --- /dev/null +++ b/appendix/b-antlr4/visitor.go @@ -0,0 +1,56 @@ +package main + +import ( + "strconv" + + "github.com/antlr/antlr4/runtime/Go/antlr" + parser "hello-antlr/calc" +) + +type calcVisitor struct { + parser.BaseCalcVisitor + Stack +} + +func (v *calcVisitor) visitRule(node antlr.RuleNode) interface{} { + node.Accept(v) + return nil +} + +func (v *calcVisitor) VisitStart(ctx *parser.StartContext) interface{} { + return v.visitRule(ctx.Expression()) +} + +func (v *calcVisitor) VisitNumber(ctx *parser.NumberContext) interface{} { + i, _ := strconv.Atoi(ctx.NUMBER().GetText()) + v.push(i) + return nil +} + +func (v *calcVisitor) VisitMulDiv(ctx *parser.MulDivContext) interface{} { + v.visitRule(ctx.Expression(0)) + v.visitRule(ctx.Expression(1)) + + right, left := v.pop(), v.pop() + switch ctx.GetOp().GetTokenType() { + case parser.CalcParserMUL: + v.push(left * right) + case parser.CalcParserDIV: + v.push(left / right) + } + return nil +} + +func (v *calcVisitor) VisitAddSub(ctx *parser.AddSubContext) interface{} { + v.visitRule(ctx.Expression(0)) + v.visitRule(ctx.Expression(1)) + + right, left := v.pop(), v.pop() + switch ctx.GetOp().GetTokenType() { + case parser.CalcParserADD: + v.push(left + right) + case parser.CalcParserSUB: + v.push(left - right) + } + return nil +} diff --git a/appendix/b-antlr4/vscode.png b/appendix/b-antlr4/vscode.png new file mode 100644 index 0000000000000000000000000000000000000000..0d266babfb4a0d4b682caae86113a54441205d67 GIT binary patch literal 662716 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
Ig|~GO1wowii5yNX=wtlpfmFu*{YS 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%0Dpi7@;-q;c; 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 z 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 literal 0 HcmV?d00001 diff --git a/ch1/examples/01/main.go b/ch1/examples/01/main.go new file mode 100644 index 0000000..8738e05 --- /dev/null +++ b/ch1/examples/01/main.go @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" + "go/scanner" + "go/token" +) + +func main() { + var src = []byte(`println("你好,世界")`) + + var fset = token.NewFileSet() // positions are relative to fset + var file = fset.AddFile("hello.go", fset.Base(), len(src)) // register input "file" + + var s scanner.Scanner + s.Init(file, src, nil, scanner.ScanComments) + + for { + pos, tok, lit := s.Scan() + if tok == token.EOF { + break + } + fmt.Printf("%s\t%s\t%q\n", fset.Position(pos), tok, lit) + } +} diff --git a/ch1/examples/02/main.go b/ch1/examples/02/main.go new file mode 100644 index 0000000..9e5d006 --- /dev/null +++ b/ch1/examples/02/main.go @@ -0,0 +1,23 @@ +package main + +import ( + "fmt" + "go/token" +) + +func main() { + a := token.Position{Filename: "hello.go", Line: 1, Column: 2} + b := token.Position{Filename: "hello.go", Line: 1} + c := token.Position{Filename: "hello.go"} + + d := token.Position{Line: 1, Column: 2} + e := token.Position{Line: 1} + f := token.Position{Column: 2} + + fmt.Println(a.String()) + fmt.Println(b.String()) + fmt.Println(c.String()) + fmt.Println(d.String()) + fmt.Println(e.String()) + fmt.Println(f.String()) +} diff --git a/ch1/readme.html b/ch1/readme.html new file mode 100644 index 0000000..c75e98b --- /dev/null +++ b/ch1/readme.html @@ -0,0 +1,515 @@ + + + + + + 第1章 记号 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第1章 Token

+

Token是编程语言中最小的具有独立含义的词法单元。Token不仅仅包含关键字,还包含用户自定义的标识符、运算符、分隔符和注释等。每个Token对应的词法单元有三个属性是比较重要的:首先是Token本身的值表示词法单元的类型,其次是Token在源代码中源代码文本形式,最后是Token出现的位置。在所有的Token中,注释和分号是两种比较特殊的Token:普通的注释一般不影响程序的语义,因此很多时候可以忽略注释;而Go语言中经常在行尾自动添加分号Token,而分号是分隔语句的词法单元,因此自动添加分号导致了Go语言左花括弧不能单独一行等细微的语法差异。本章学习如何对源代码进行Token分析。

+

1.1 Token语法

+

Go语言中主要有标识符、关键字、运算符和分隔符等类型等Token组成。其中标识符的语法定义如下:

+
identifier = letter { letter | unicode_digit } .
+letter     = unicode_letter | "_" .
+
+

其中identifier表示标识符,由字母和数字组成,开头第一个字符必须是字母。需要注意的是下划线也是作为字母,因此可以用下划线作为标识符。不过美元符号$并不属于字母,因此标识符中不能包含美元符号。

+

在标识符中有一类特殊的标识符被定义为关键字。关键字用于引导特殊的语法结构,不能将关键字作为独立的标识符()。下面是Go语言定义的25个关键字:

+
break        default      func         interface    select
+case         defer        go           map          struct
+chan         else         goto         package      switch
+const        fallthrough  if           range        type
+continue     for          import       return       var
+
+

除了标识符和关键字,Token还包含运算符和分隔符。下面是Go语言定义的47个符号:

+
+    &     +=    &=     &&    ==    !=    (    )
+-    |     -=    |=     ||    <     <=    [    ]
+*    ^     *=    ^=     <-    >     >=    {    }
+/    <<    /=    <<=    ++    =     :=    ,    ;
+%    >>    %=    >>=    --    !     ...   .    :
+     &^          &^=
+
+

当然,除了用户自定义的标识符、25个关键字、47个运算和分隔符号,程序中还有一些面值、注释和空白符组成。要解析一个Go语言程序,第一步就是要解析这些Token。

+

1.2 Token的定义

+

go/token包中,Token被定义为一种枚举值,不同值的Token表示不同类型的词法记号:

+
// Token is the set of lexical tokens of the Go programming language.
+type Token int
+
+

所有的Token被分为四类:特殊类型的Token、基础面值对应的Token、运算符Token和关键字。

+

+

特殊类型的Token有错误、文件结束和注释三种:

+
// The list of tokens.
+const (
+	// Special tokens
+	ILLEGAL Token = iota
+	EOF
+	COMMENT
+
+

遇到不能识别的Token统一返回ILLEGAL,这样可以简化词法分析时的错误处理。

+

然后是基础面值对应的Token类型:Go语言规范定义的基础面值主要有整数、浮点数和复数面值类型,此外还有字符和字符串面值类型。需要注意的是,在Go语言规范中布尔类型的true和false并不在基础面值之类。但是为了方便词法解析,go/token包将true和false等对应的标识符也作为面值Token一类。

+

下面是面值类Token列表:

+
	literal_beg
+	// Identifiers and basic type literals
+	// (these tokens stand for classes of literals)
+	IDENT  // main
+	INT    // 12345
+	FLOAT  // 123.45
+	IMAG   // 123.45i
+	CHAR   // 'a'
+	STRING // "abc"
+	literal_end
+
+

其中literal_beg和literal_end是私有的类型,主要用于表示面值类型Token的值域范围,因此判断一个Token的值在literal_beg和literal_end之间就可以确定是面值类型。

+

运算符和分隔符符类型的Token数量最多,下面Token列表:

+
	operator_beg
+	// Operators and delimiters
+	ADD // +
+	SUB // -
+	MUL // *
+	QUO // /
+	REM // %
+
+	AND     // &
+	OR      // |
+	XOR     // ^
+	SHL     // <<
+	SHR     // >>
+	AND_NOT // &^
+
+	ADD_ASSIGN // +=
+	SUB_ASSIGN // -=
+	MUL_ASSIGN // *=
+	QUO_ASSIGN // /=
+	REM_ASSIGN // %=
+
+	AND_ASSIGN     // &=
+	OR_ASSIGN      // |=
+	XOR_ASSIGN     // ^=
+	SHL_ASSIGN     // <<=
+	SHR_ASSIGN     // >>=
+	AND_NOT_ASSIGN // &^=
+
+	LAND  // &&
+	LOR   // ||
+	ARROW // <-
+	INC   // ++
+	DEC   // --
+
+	EQL    // ==
+	LSS    // <
+	GTR    // >
+	ASSIGN // =
+	NOT    // !
+
+	NEQ      // !=
+	LEQ      // <=
+	GEQ      // >=
+	DEFINE   // :=
+	ELLIPSIS // ...
+
+	LPAREN // (
+	LBRACK // [
+	LBRACE // {
+	COMMA  // ,
+	PERIOD // .
+
+	RPAREN    // )
+	RBRACK    // ]
+	RBRACE    // }
+	SEMICOLON // ;
+	COLON     // :
+	operator_end
+
+

运算符主要有普通的加减乘除等算术运算符号,此外还有逻辑运算、位运算符和比较运算等二元运算(其中二元运算还和赋值运算再次组合)。除了二元运算之外,还有少量的一元运算符号:比如正负号、取地址符号、管道的读取等。而分隔符主要是小括弧、中括弧、大括弧,以及逗号、点号、分号和冒号组成。

+

而Go语言的关键字刚好对应25个关键字类型的Token:

+
	keyword_beg
+	// Keywords
+	BREAK
+	CASE
+	CHAN
+	CONST
+	CONTINUE
+
+	DEFAULT
+	DEFER
+	ELSE
+	FALLTHROUGH
+	FOR
+
+	FUNC
+	GO
+	GOTO
+	IF
+	IMPORT
+
+	INTERFACE
+	MAP
+	PACKAGE
+	RANGE
+	RETURN
+
+	SELECT
+	STRUCT
+	SWITCH
+	TYPE
+	VAR
+	keyword_end
+)
+
+

从词法分析角度看,关键字和普通的标识符并无差别。但是25个关键字一般都是不同语法结构的开头Token,通过将这些特殊的Token定义为关键字可以简化语法解析的工作。

+

Token对于编程语言而言就像26个字母对于英文一样重要,它是组成更复杂的逻辑代码的基础单元,因此我们需要熟悉Token的特性和分类。

+

1.3 FileSet和File

+

在定义Token之后,其实我们可以通过手工方式对源代码进行简单的词法分析了。不过如果希望以后能够复用词法分析的代码,则需要小心设计和源代码部分相关的接口。参考Go语言本身,它是由多个文件组成包,然后多个包链接为一个可执行文件,所以单个包对应的多个文件可以看作是Go语言的基本编译单元。因此go/token包还定义了FileSet和File对象,用于描述文件集和文件。

+

FileSet和File对象的对应关系如图所示:

+

+

每个FileSet表示一个文件集合,底层抽象为一个一维数组,而Pos类型表示数组的下标位置。FileSet中的每个File元素对应底层数组的一个区间,不同的File之间没有交集,相邻的File之间可能存在填充空间。

+

而每个File主要由文件名、base和size三个信息组成。其中base对应File在FileSet中的Pos索引位置,因此base和base+size定义了File在FileSet数组中的开始和结束位置。在每个File内部可以通过offset定位下标索引,通过offset+File.base可以将File内部的offset转换为Pos位置。因为Pos是FileSet的全局偏移量,反之也可以通过Pos查询对应的File,以及对应File内部的offset。

+

而词法分析的每个Token位置信息就是由Pos定义,通过Pos和对应的FileSet可以轻松查询到对应的File。然后在通过File对应的源文件和offset计算出对应的行号和列号(实现中File只是保存了每行的开始位置,并没有包含原始的源代码数据)。Pos底层是int类型,它和指针的语义类似,因此0也类似空指针被定义为NoPos,表示无效的Pos。

+

1.4 解析Token

+

Go语言标准库go/scanner包提供了Scanner实现Token扫描,它是在FileSet和File抽象文件集合基础上进行词法分析。

+

scanner.Scanner的公开接口定义如下:

+
type Scanner struct {
+	// public state - ok to modify
+	ErrorCount int // number of errors encountered
+	// Has unexported fields.
+}
+
+func (s *Scanner) Init(
+	file *token.File, src []byte,
+	err ErrorHandler, mode Mode,
+)
+func (s *Scanner) Scan() (
+	pos token.Pos, tok token.Token, lit string,
+)
+
+

Init方法用于初始化扫描器,其中file参数表示当前的文件(不包含代码数据),src参数表示要分析的代码,err是用户自定义的错误处理函数,mode可以控制是否扫描注释部分。

+

Scan方法扫描一个Token,三个返回值分别表示Token的位置 +、Token值和Token的源代码文本表示。

+

要构造一个最简单的词法扫描器测试程序,首先要构造Init方法第一参数需要的File对象。但是File对象没有公开的构造函数,只能通过FileSet的AddFile方法间接构造File对象。

+

下面是一个简单的词法分析程序:

+
package main
+
+import (
+	"fmt"
+	"go/scanner"
+	"go/token"
+)
+
+func main() {
+	var src = []byte(`println("你好,世界")`)
+
+	var fset = token.NewFileSet()
+	var file = fset.AddFile("hello.go", fset.Base(), len(src))
+
+	var s scanner.Scanner
+	s.Init(file, src, nil, scanner.ScanComments)
+
+	for {
+		pos, tok, lit := s.Scan()
+		if tok == token.EOF {
+			break
+		}
+		fmt.Printf("%s\t%s\t%q\n", fset.Position(pos), tok, lit)
+	}
+}
+
+

其中src是要分析的代码。然后通过token.NewFileSet()创建一个文件集,Token的位置信息必须通过文件集定位,并且需要通过文件集创建扫描器的Init方法需要的File参数。

+

然后fset.AddFile方法调用向fset文件集添加一个新的文件,文件名为“hello.go”,文件的长度就是src要分析代码的长度。

+

然后创建scanner.Scanner对象,并且调用Init方法初始化扫描器。Init的第一个参数就是刚刚添加到fset的文件对象,第二个参数是要分析的代码,第三个nil参数表示没有自定义的错误处理函数,最后的scanner.ScanComments参数表示不用忽略注释Token。

+

因为要解析的代码中有多个Token,因此我们在一个for循环调用s.Scan()依次解析新的Token。如果返回的是token.EOF表示扫描到了文件末尾,否则打印扫描返回的结果。打印前,我们需要将扫描器返回的pos参数转换为更详细的带文件名和行列号的位置信息,可以通过fset.Position(pos)方法完成。

+

以上程序运行的输出如下:

+
hello.go:1:1    IDENT   "println"
+hello.go:1:8    (       ""
+hello.go:1:9    STRING  "\"你好,世界\""
+hello.go:1:26   )       ""
+hello.go:1:27   ;       "\n"
+
+

输出结果的第一列表示Token所在的文件和行列号,中间一列表示Token的值,最后一列表示Token对应的面值。

+

1.5 Position位置信息

+

go/token包的Position表示更详细的位置信息,被定义为一个结构体:

+
type Position struct {
+	Filename string // filename, if any
+	Offset   int    // offset, starting at 0
+	Line     int    // line number, starting at 1
+	Column   int    // column number, starting at 1 (byte count)
+}
+
+

Filename表示文件名,Offset对应文件内的字节偏移量(从0开始),Line和Column对应行列号(从1开始)。比较特殊的是Offset成员,它用于从文件数据定位代码,但是输出时会将偏移量转换为行列号输出。

+

打印位置信息时,根据文件名、行号和列号有6种组合:

+
func main() {
+	a := token.Position{Filename: "hello.go", Line: 1, Column: 2}
+	b := token.Position{Filename: "hello.go", Line: 1}
+	c := token.Position{Filename: "hello.go"}
+
+	d := token.Position{Line: 1, Column: 2}
+	e := token.Position{Line: 1}
+	f := token.Position{Column: 2}
+
+	fmt.Println(a.String())
+	fmt.Println(b.String())
+	fmt.Println(c.String())
+	fmt.Println(d.String())
+	fmt.Println(e.String())
+	fmt.Println(f.String())
+}
+
+

输出的格式如下:

+
hello.go:1:2
+hello.go:1
+hello.go
+1:2
+1
+-
+
+

行号从1开始,是必须的信息,如果缺少行号则输出“-”表示无效的位置。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch10/examples/01/main.go b/ch10/examples/01/main.go new file mode 100644 index 0000000..ae3adda --- /dev/null +++ b/ch10/examples/01/main.go @@ -0,0 +1,36 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + {} + {} +} +` diff --git a/ch10/examples/02/main.go b/ch10/examples/02/main.go new file mode 100644 index 0000000..4e84d84 --- /dev/null +++ b/ch10/examples/02/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + 42 +} +` diff --git a/ch10/examples/03/main.go b/ch10/examples/03/main.go new file mode 100644 index 0000000..4adf058 --- /dev/null +++ b/ch10/examples/03/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + return 42, err +} +` diff --git a/ch10/examples/04/main.go b/ch10/examples/04/main.go new file mode 100644 index 0000000..58ecdcf --- /dev/null +++ b/ch10/examples/04/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + var a int +} +` diff --git a/ch10/examples/05/main.go b/ch10/examples/05/main.go new file mode 100644 index 0000000..3e6a34b --- /dev/null +++ b/ch10/examples/05/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + a, b := 1, 2 +} +` diff --git a/ch10/examples/06/main.go b/ch10/examples/06/main.go new file mode 100644 index 0000000..024031b --- /dev/null +++ b/ch10/examples/06/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + if true {} else {} +} +` diff --git a/ch10/examples/07/main.go b/ch10/examples/07/main.go new file mode 100644 index 0000000..1984e51 --- /dev/null +++ b/ch10/examples/07/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + for x; y; z {} +} +` diff --git a/ch10/examples/08/main.go b/ch10/examples/08/main.go new file mode 100644 index 0000000..1654c1a --- /dev/null +++ b/ch10/examples/08/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct{} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + for range ch {} +} +` diff --git a/ch10/examples/09/main.go b/ch10/examples/09/main.go new file mode 100644 index 0000000..ff796e9 --- /dev/null +++ b/ch10/examples/09/main.go @@ -0,0 +1,25 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + x.(int) +} +` diff --git a/ch10/examples/10/main.go b/ch10/examples/10/main.go new file mode 100644 index 0000000..772044e --- /dev/null +++ b/ch10/examples/10/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +var x int + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body) +} + +const src = `package pkgname +func main() { + go hello("光谷码农") +} +` diff --git a/ch10/readme.html b/ch10/readme.html new file mode 100644 index 0000000..3c44650 --- /dev/null +++ b/ch10/readme.html @@ -0,0 +1,756 @@ + + + + + + 第10章 语句块和语句 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第10章 语句块和语句

+

语句近似看作是函数体内可独立执行的代码,语句块是由大括弧定义的语句容器,语句块和语句只能在函数体内部定义。本章节我们学习语句块和语句的语法树构造。

+

10.1 语法规范

+

语句块和语句是在函数体部分定义,函数体就是一个语句块。语句块的语法规范如下:

+
FunctionBody  = Block .
+
+Block         = "{" StatementList "}" .
+StatementList = { Statement ";" } .
+
+Statement     = Declaration | LabeledStmt | SimpleStmt
+              | GoStmt | ReturnStmt | BreakStmt | ContinueStmt | GotoStmt
+              | FallthroughStmt | Block | IfStmt | SwitchStmt | SelectStmt | ForStmt
+              | DeferStmt
+              .
+
+

FunctionBody函数体对应一个Block语句块。每个Block语句块内部由多个语句列表StatementList组成,每个语句之间通过分号分隔。语句又可分为声明语句、标签语句、普通表达式语句和其它诸多控制流语句。需要注意的是,Block语句块也是一种合法的语句,因此函数体实际上是由Block组成的多叉树结构表示,每个Block结点又可以递归保存其他的可嵌套Block的控制流等语句。

+

10.2 空语句块

+

一个最简单的函数不仅仅没有任何的输入参数和返回值,函数体中也没有任何的语句。下面代码分析func main() {}函数体语法树结构:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+		return
+	}
+
+	ast.Print(nil, f.Decls[0].(*ast.FuncDecl).Body)
+}
+
+const src = `package pkgname
+func main() {}
+`
+
+

函数的声明由ast.FuncDecl结构体定义,其中的Body成员是ast.BlockStmt类型。ast.BlockStmt类型的定义如下:

+
type Stmt interface {
+	Node
+	// contains filtered or unexported methods
+}
+type BlockStmt struct {
+	Lbrace token.Pos // position of "{"
+	List   []Stmt
+	Rbrace token.Pos // position of "}"
+}
+
+

语句由ast.Stmt接口表示,各种具体的满足ast.Stmt接口的类型大多会以Stmt为后缀名。其中BlockStmt语句块也是一种语句,BlockStmt其实是一个语句容器,其中List成员是一个[]ast.Stmt语句列表。

+

func main() {}函数体部分输出的语法树结果如下:

+
0  *ast.BlockStmt {
+1  .  Lbrace: 29
+2  .  Rbrace: 30
+3  }
+
+

表示函数体没有任何其它的语句。

+

因为由大括弧定义的语句块也是一种合法的语句,因此我们可以在函数体再定义任意个空的语句块:

+
func main() {
+	{}
+	{}
+}
+
+

再次分析函数体的语法树,可以得到以下的结果:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 2) {
+ 3  .  .  0: *ast.BlockStmt {
+ 4  .  .  .  Lbrace: 32
+ 5  .  .  .  Rbrace: 33
+ 6  .  .  }
+ 7  .  .  1: *ast.BlockStmt {
+ 8  .  .  .  Lbrace: 36
+ 9  .  .  .  Rbrace: 37
+10  .  .  }
+11  .  }
+12  .  Rbrace: 39
+13  }
+
+

其中List部分有两个新定义的语句块,每个语句块依然是ast.BlockStmt类型。函数体中的语句块构成的语法树和类型中的语法树结构是很相似的,但是语句的语法树最大的特点是可以循环递归定义,而类型的语法树不能递归定义自身(语义层面禁止)。

+

10.3 表达式语句

+

实际上定义空的语句块并不能算真正的语句,它只是在编译阶段定义新的变量作用域,并没有产生新的语句或计算。最简单的语句是表达式语句,不管是简单表达式还是复杂的表达式都可以作为一个独立的语句。表达式语句语法规范如下:

+
ExpressionStmt = Expression .
+
+

其实一个表达式语句就是对应一个表达式,而关于表达式的语法我们已经学习过。我们这里以一个最简单的常量作为标识符,来研究表达式语句的语法结构。下面是只有一个常量表达式语句的main函数:

+
func main() {
+	42
+}
+
+

输出的语句的语法树如下:

+
chai-mba:02 chai$ go run main.go 
+ 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.ExprStmt {
+ 4  .  .  .  X: *ast.BasicLit {
+ 5  .  .  .  .  ValuePos: 32
+ 6  .  .  .  .  Kind: INT
+ 7  .  .  .  .  Value: "42"
+ 8  .  .  .  }
+ 9  .  .  }
+10  .  }
+11  .  Rbrace: 35
+12  }
+
+

表达式语句由ast.ExprStmt结构体定义:

+
type ExprStmt struct {
+	X Expr // expression
+}
+
+

它只是ast.Expr表达式的再次包装,以满足ast.Stmt接口。因为ast.Expr表达式本身也是一个接口类型,因此可以包含任意复杂的表达式。表达式语句最终会产生一个值,但是表达式的值没有被赋值到变量,因此表达式的返回值会被丢弃。不过表达式中可能还有函数调用,而函数调用可能有其它的副作用,因此表达式语句一般常用于触发函数调用。

+

10.4 返回语句

+

表达式不仅仅可以作为独立的表达式语句,同时表达式也是其它更复杂控制流语句的组成单元。对于函数比较重要的控制流语句是返回语句,返回语句的语法规范如下:

+
ReturnStmt     = "return" [ ExpressionList ] .
+ExpressionList = Expression { "," Expression } .
+
+

返回语句以return关键字开始,后面跟着多个以逗号分隔的表达式,当然也可以没有返回值。下面例子在main函数增加一个返回两个值的返回语句:

+
func main() {
+	return 42, err
+}
+
+

当然,按照Go语言规范main函数是没有返回值的,因此return语句也不能有返回值。不过我们目前还处在语法树解析阶段,并不会检查返回语句和函数的返回值类型是否匹配,这种类型匹配检查要在语法树构建之后才会进行。

+

main函数体的语法树结果如下:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.ReturnStmt {
+ 4  .  .  .  Return: 32
+ 5  .  .  .  Results: []ast.Expr (len = 2) {
+ 6  .  .  .  .  0: *ast.BasicLit {
+ 7  .  .  .  .  .  ValuePos: 39
+ 8  .  .  .  .  .  Kind: INT
+ 9  .  .  .  .  .  Value: "42"
+10  .  .  .  .  }
+11  .  .  .  .  1: *ast.Ident {
+12  .  .  .  .  .  NamePos: 43
+13  .  .  .  .  .  Name: "err"
+14  .  .  .  .  }
+15  .  .  .  }
+16  .  .  }
+17  .  }
+18  .  Rbrace: 47
+19  }
+
+

返回语句由ast.ReturnStmt类型表示,其中Results成员对应返回值列表,这里分别是基础的数值常量42和标识符err。ast.ReturnStmt类型定义如下:

+
type ReturnStmt struct {
+	Return  token.Pos // position of "return" keyword
+	Results []Expr    // result expressions; or nil
+}
+
+

其中Return成员表示return关键字的位置,Results成员对应一个表达式列表,如果为nil表示没有返回值。

+

10.5 声明语句

+

函数中除了输入参数和返回值参数之外,还可以定义临时的局部变量保存函数的状态。如果临时变量被闭包函数捕获,那么临时变量维持的函数状态将伴随闭包函数的整个生命周期。因此声明变量和声明函数一样重要。声明变量的声明语法和顶级包变量的语法是类似的:

+
Declaration  = ConstDecl | TypeDecl | VarDecl .
+TopLevelDecl = Declaration | FunctionDecl | MethodDecl .
+
+

其中Declaration就是函数体内部的声明语法,可以在函数内部声明常量、变量和类型,但是不能声明函数和方法。关于TopLevelDecl定义顶级常量、变量和类型声明我们已经讨论过,其中已经包含了函数内部的声明语法。我们这里以一个简单的例子展示如何在语句块中保存声明语句:

+
func main() {
+	var a int
+}
+
+

在main函数内部定义一个int类型变量,这个语法格式和全局变量的定义是一样的。语法树解析输出如下:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.DeclStmt {
+ 4  .  .  .  Decl: *ast.GenDecl {
+ 5  .  .  .  .  TokPos: 32
+ 6  .  .  .  .  Tok: var
+ 7  .  .  .  .  Lparen: 0
+ 8  .  .  .  .  Specs: []ast.Spec (len = 1) {
+ 9  .  .  .  .  .  0: *ast.ValueSpec {
+10  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
+11  .  .  .  .  .  .  .  0: *ast.Ident {
+12  .  .  .  .  .  .  .  .  NamePos: 36
+13  .  .  .  .  .  .  .  .  Name: "a"
+14  .  .  .  .  .  .  .  .  Obj: *ast.Object {...}
+20  .  .  .  .  .  .  .  }
+21  .  .  .  .  .  .  }
+22  .  .  .  .  .  .  Type: *ast.Ident {
+23  .  .  .  .  .  .  .  NamePos: 38
+24  .  .  .  .  .  .  .  Name: "int"
+25  .  .  .  .  .  .  }
+26  .  .  .  .  .  }
+27  .  .  .  .  }
+28  .  .  .  .  Rparen: 0
+29  .  .  .  }
+30  .  .  }
+31  .  }
+32  .  Rbrace: 42
+33  }
+
+

声明的变量在ast.DeclStmt结构体中表示,结构体定义如下:

+
type DeclStmt struct {
+	Decl Decl // *GenDecl with CONST, TYPE, or VAR token
+}
+
+

虽然Decl成员是ast.Decl类型的接口,但是注释已经明确表示只有常量、类型和变量几种声明,并不包含函数和方法的声明。因此,Decl成员只能是ast.GenDecl类型。

+

10.6 短声明和多赋值语句

+

函数内变量还可以采用短声明方式。短声明语法和多赋值语句类似,它是在声明变量的同时进行多赋值初始化,变量的类型从赋值表达式自动推导。短声明和多赋值语句语法规范如下:

+
Assignment   = ExpressionList assign_op ExpressionList .
+ShortVarDecl = IdentifierList ":=" ExpressionList .
+
+

其中多赋值语句的左边是一个表达式列表,而短声明语句的左边是一组标识符列表。短声明和多赋值语句的右边都是一组表达式列表。我们以一个短声明多个变量来展示短声明和多赋值语句的语法树:

+
func main() {
+	a, b := 1, 2
+}
+
+

输出的语法树结果如下:

+
     0  *ast.BlockStmt {
+     1  .  Lbrace: 29
+     2  .  List: []ast.Stmt (len = 1) {
+     3  .  .  0: *ast.AssignStmt {
+     4  .  .  .  Lhs: []ast.Expr (len = 2) {
+     5  .  .  .  .  0: *ast.Ident {
+     6  .  .  .  .  .  NamePos: 32
+     7  .  .  .  .  .  Name: "a"
+     8  .  .  .  .  .  Obj: *ast.Object {
+     9  .  .  .  .  .  .  Kind: var
+    10  .  .  .  .  .  .  Name: "a"
+    11  .  .  .  .  .  .  Decl: *(obj @ 3)
+    12  .  .  .  .  .  }
+    13  .  .  .  .  }
+    14  .  .  .  .  1: *ast.Ident {
+    15  .  .  .  .  .  NamePos: 35
+    16  .  .  .  .  .  Name: "b"
+    17  .  .  .  .  .  Obj: *ast.Object {
+    18  .  .  .  .  .  .  Kind: var
+    19  .  .  .  .  .  .  Name: "b"
+    20  .  .  .  .  .  .  Decl: *(obj @ 3)
+    21  .  .  .  .  .  }
+    22  .  .  .  .  }
+    23  .  .  .  }
+    24  .  .  .  TokPos: 37
+    25  .  .  .  Tok: :=
+    26  .  .  .  Rhs: []ast.Expr (len = 2) {
+    27  .  .  .  .  0: *ast.BasicLit {
+    28  .  .  .  .  .  ValuePos: 40
+    29  .  .  .  .  .  Kind: INT
+    30  .  .  .  .  .  Value: "1"
+    31  .  .  .  .  }
+    32  .  .  .  .  1: *ast.BasicLit {
+    33  .  .  .  .  .  ValuePos: 43
+    34  .  .  .  .  .  Kind: INT
+    35  .  .  .  .  .  Value: "2"
+    36  .  .  .  .  }
+    37  .  .  .  }
+    38  .  .  }
+    39  .  }
+    40  .  Rbrace: 45
+    41  }
+
+

短声明和多赋值语句都通过ast.AssignStmt结构体表达,其定义如下:

+
type AssignStmt struct {
+	Lhs    []Expr
+	TokPos token.Pos   // position of Tok
+	Tok    token.Token // assignment token, DEFINE
+	Rhs    []Expr
+}
+
+

其中Lhs表示左边的表达式或标识符列表,而Rhs表示右边的表达式列表。短声明和多赋值语句是通过Tok来进行区分。

+

10.7 if/else分支语句

+

顺序、分支和循环是编程语言中三种基本的控制流语句。Go语言的if语句语法规范如下:

+
IfStmt = "if" [ SimpleStmt ";" ] Expression Block [ "else" ( IfStmt | Block ) ] .
+
+

分支由if关键字开始,首先是可选的SimpleStmt简单初始化语句(可以是局部变量短声明、赋值或表达式等语句),然后是if的条件表达式,最后是分支的主体部分。分支的主体Block为一个语句块,其中可以包含多个语句或嵌套其它的语句块。同时if可以携带一个else分支,对应分支条件为假的情况。

+

我们以一个不带短声明的if/else为例:

+
func main() {
+	if true {} else {}
+}
+
+

输出的语法树如下:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.IfStmt {
+ 4  .  .  .  If: 32
+ 5  .  .  .  Cond: *ast.Ident {
+ 6  .  .  .  .  NamePos: 35
+ 7  .  .  .  .  Name: "true"
+ 8  .  .  .  }
+ 9  .  .  .  Body: *ast.BlockStmt {
+10  .  .  .  .  Lbrace: 40
+11  .  .  .  .  Rbrace: 41
+12  .  .  .  }
+13  .  .  .  Else: *ast.BlockStmt {
+14  .  .  .  .  Lbrace: 48
+15  .  .  .  .  Rbrace: 49
+16  .  .  .  }
+17  .  .  }
+18  .  }
+19  .  Rbrace: 51
+20  }
+
+

if由ast.IfStmt结构体表示,其中的Cond为分支的条件表达式,Body为分支的主体语句块,Else为补充的语句块。ast.IfStmt结构体完整定义如下:

+
type IfStmt struct {
+	If   token.Pos // position of "if" keyword
+	Init Stmt      // initialization statement; or nil
+	Cond Expr      // condition
+	Body *BlockStmt
+	Else Stmt // else branch; or nil
+}
+
+

除了分支调整、主体块、补充块,还有Init用于初始化部分。需要注意的是Else都被定义为ast.Stmt接口类型,而Body被明确定义为ast.BlockStmt类型,是否是想以接口类型来暗示else可能为空的情况。

+

10.8 for循环

+

Go语言中只有一种for循环语句,但是for语句的语法却最为复杂。for语句的语法规范如下:

+
ForStmt     = "for" [ Condition | ForClause | RangeClause ] Block .
+
+Condition   = Expression .
+
+ForClause   = [ InitStmt ] ";" [ Condition ] ";" [ PostStmt ] .
+InitStmt    = SimpleStmt .
+PostStmt    = SimpleStmt .
+
+RangeClause = [ ExpressionList "=" | IdentifierList ":=" ] "range" Expression .
+
+

分析语法规范,可以对应以下四种类型:

+
for {}
+for true {}
+for i := 0; true; i++ {}
+for i, v := range m {}
+
+

其中第一个没有循环条件,默认条件是true,因此和第二个循环语句一样都是死循环。而第一和第二个循环语句其实是第三个经典循环结构的特例,在第三个循环语句中增加了初始化语句和循环迭代语句。最后第四个循环语句是一种新的循环结构,主要用于数组、切片和map的迭代。以上四个循环语句可以再次归纳为以下两种:

+
for x; y; z {}
+for x, y := range z {}
+
+

除了map只能通过for range迭代之外(如果借助标准包,可以通过reflect.MapKeysreflect.MapRange等方式迭代循环map),其它的for range格式的循环都可以通过for x; y; z {}经典风格的循环替代。

+

因此我们先分析经典风格的for x; y; z {}循环:

+
func main() {
+	for x; y; z {}
+}
+
+

其语法树结构如下:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.ForStmt {
+ 4  .  .  .  For: 32
+ 5  .  .  .  Init: *ast.ExprStmt {
+ 6  .  .  .  .  X: *ast.Ident {
+ 7  .  .  .  .  .  NamePos: 36
+ 8  .  .  .  .  .  Name: "x"
+ 9  .  .  .  .  }
+10  .  .  .  }
+11  .  .  .  Cond: *ast.Ident {
+12  .  .  .  .  NamePos: 39
+13  .  .  .  .  Name: "y"
+14  .  .  .  }
+15  .  .  .  Post: *ast.ExprStmt {
+16  .  .  .  .  X: *ast.Ident {
+17  .  .  .  .  .  NamePos: 42
+18  .  .  .  .  .  Name: "z"
+19  .  .  .  .  }
+20  .  .  .  }
+21  .  .  .  Body: *ast.BlockStmt {
+22  .  .  .  .  Lbrace: 44
+23  .  .  .  .  Rbrace: 45
+24  .  .  .  }
+25  .  .  }
+26  .  }
+27  .  Rbrace: 47
+28  }
+
+

ast.ForStmt结构体表示经典的for循环,其中Init、Cond、Post和Body分别对应初始化语句、条件语句、迭代语句和循环体语句。ast.ForStmt结构体的定义如下:

+
type ForStmt struct {
+	For  token.Pos // position of "for" keyword
+	Init Stmt      // initialization statement; or nil
+	Cond Expr      // condition; or nil
+	Post Stmt      // post iteration statement; or nil
+	Body *BlockStmt
+}
+
+

其中条件部分必须是表达式,初始化和迭代部分可以是普通的语句(普通语句是短声明和多赋值等,不能包含分支等复杂语句)。

+

在了解了经典风格的循环之后,我们再来看看最简单的for range循环:

+
func main() {
+	for range ch {}
+}
+
+

我们省略了循环中的Key和Value部分。其语法树如下:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.RangeStmt {
+ 4  .  .  .  For: 32
+ 5  .  .  .  TokPos: 0
+ 6  .  .  .  Tok: ILLEGAL
+ 7  .  .  .  X: *ast.Ident {
+ 8  .  .  .  .  NamePos: 42
+ 9  .  .  .  .  Name: "ch"
+10  .  .  .  }
+11  .  .  .  Body: *ast.BlockStmt {
+12  .  .  .  .  Lbrace: 45
+13  .  .  .  .  Rbrace: 46
+14  .  .  .  }
+15  .  .  }
+16  .  }
+17  .  Rbrace: 48
+18  }
+
+

for range循环的语法树由ast.RangeStmt结构表示,其完整定义如下:

+
type RangeStmt struct {
+	For        token.Pos   // position of "for" keyword
+	Key, Value Expr        // Key, Value may be nil
+	TokPos     token.Pos   // position of Tok; invalid if Key == nil
+	Tok        token.Token // ILLEGAL if Key == nil, ASSIGN, DEFINE
+	X          Expr        // value to range over
+	Body       *BlockStmt
+}
+
+

其中Key和Value对应循环时的迭代位置和值,X成员是生成要循环对象的表达式(可能是数组、切片、map和管道等),Body表示循环体语句块。另外,Tok成员可以区别Key和Value是多赋值语句还是短变量声明语句。

+

10.9 类型断言

+

和分支语句类似,类型识别也有两种:类型断言和类型switch。类型断言类似分支的if语句,通过多个if/else组合类型断言就可以模拟出类型switch。因此我们重点学习类型断言部分,下面是类型断言的语法规范:

+
PrimaryExpr     = PrimaryExpr TypeAssertion.
+TypeAssertion   = "." "(" Type ")" .
+
+

类型断言是在一个表达式之后加点和小括弧定义,其中小括弧中的是期望查询的类型。从Go语言语义角度看,类型断言开始的表达式必须产生一个接口类型的值。不过在语法树阶段并不会做详细的语义检查。

+

下面的例子在main函数中定义一个最简单的类型断言:

+
func main() {
+	x.(int)
+}
+
+

对x做类型断言,如果成功则返回x里面存储的int类型的值,如果失败则抛出异常。生成的语法树如下:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.ExprStmt {
+ 4  .  .  .  X: *ast.TypeAssertExpr {
+ 5  .  .  .  .  X: *ast.Ident {
+ 6  .  .  .  .  .  NamePos: 32
+ 7  .  .  .  .  .  Name: "x"
+ 8  .  .  .  .  }
+ 9  .  .  .  .  Lparen: 34
+10  .  .  .  .  Type: *ast.Ident {
+11  .  .  .  .  .  NamePos: 35
+12  .  .  .  .  .  Name: "int"
+13  .  .  .  .  }
+14  .  .  .  .  Rparen: 38
+15  .  .  .  }
+16  .  .  }
+17  .  }
+18  .  Rbrace: 40
+19  }
+
+

需要注意语法树的结构:首先是ast.ExprStmt结构体表示的表达式语句,其中的X成员才是对应类型断言表达式。类型断言由ast.TypeAssertExpr结构体表示,其定义如下:

+
type TypeAssertExpr struct {
+	X      Expr      // expression
+	Lparen token.Pos // position of "("
+	Type   Expr      // asserted type; nil means type switch X.(type)
+	Rparen token.Pos // position of ")"
+}
+
+

其中X成员是类型断言的主体表达式(产生一个接口值),Type成员是类型的表达式。如果Type为nil,则表示对应x.(type)形式的断言,这是类型switch中使用的形式。

+

10.10 go和defer语句

+

go和defer语句是Go语言中最有特色的语句,它们的语法结构也是非常相似的。下面是go和defer语句的语法规范:

+
GoStmt    = "go" Expression .
+DeferStmt = "defer" Expression .
+
+

简而言之,就是在go和defer关键字后面跟一个表达式,不过这个表达式必须是函数或方法调用。go和defer语句在语法树中分别以ast.GoStmtast.DeferStmt结构定义:

+
type GoStmt struct {
+	Go   token.Pos // position of "go" keyword
+	Call *CallExpr
+}
+type DeferStmt struct {
+	Defer token.Pos // position of "defer" keyword
+	Call  *CallExpr
+}
+
+

其中都有一个Call成员表示函数或方法调用。下面以go语句为例:

+
func main() {
+	go hello("光谷码农")
+}
+
+

其对应的语法树结果:

+
 0  *ast.BlockStmt {
+ 1  .  Lbrace: 29
+ 2  .  List: []ast.Stmt (len = 1) {
+ 3  .  .  0: *ast.GoStmt {
+ 4  .  .  .  Go: 32
+ 5  .  .  .  Call: *ast.CallExpr {
+ 6  .  .  .  .  Fun: *ast.Ident {
+ 7  .  .  .  .  .  NamePos: 35
+ 8  .  .  .  .  .  Name: "hello"
+ 9  .  .  .  .  }
+10  .  .  .  .  Lparen: 40
+11  .  .  .  .  Args: []ast.Expr (len = 1) {
+12  .  .  .  .  .  0: *ast.BasicLit {
+13  .  .  .  .  .  .  ValuePos: 41
+14  .  .  .  .  .  .  Kind: STRING
+15  .  .  .  .  .  .  Value: "\"光谷码农\""
+16  .  .  .  .  .  }
+17  .  .  .  .  }
+18  .  .  .  .  Ellipsis: 0
+19  .  .  .  .  Rparen: 55
+20  .  .  .  }
+21  .  .  }
+22  .  }
+23  .  Rbrace: 57
+24  }
+
+

除了ast.GoStmt结构体,Call成员部分和表达式中函数调用的语法树结构完全一样。

+

10.11 总结

+

数据结构是程序状态的载体,语句是程序算法的灵魂。在了解了语句的语法树之后,我们就可以基于语法树对代码做很多事情,比如特殊模式的BUG检查、生成文档或特定平台的可执行代码等,甚至我们可以基于语法树解释执行Go语言程序。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch11/examples/01/main.go b/ch11/examples/01/main.go new file mode 100644 index 0000000..115713c --- /dev/null +++ b/ch11/examples/01/main.go @@ -0,0 +1,25 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + ast.Print(fset, f) +} + +const src = `package main + +func main() { + var _ = "a" + 1 +} +` diff --git a/ch11/examples/02/main.go b/ch11/examples/02/main.go new file mode 100644 index 0000000..04904a0 --- /dev/null +++ b/ch11/examples/02/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" +) + +func init() { + log.SetFlags(0) +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + pkg, err := new(types.Config).Check("hello.go", fset, []*ast.File{f}, nil) + if err != nil { + log.Fatal(err) + } + + _ = pkg +} + +const src = `package main + +func main() { + var _ = "a" + 1 +} +` diff --git a/ch11/examples/03/main.go b/ch11/examples/03/main.go new file mode 100644 index 0000000..bdcc44a --- /dev/null +++ b/ch11/examples/03/main.go @@ -0,0 +1,39 @@ +package main + +import ( + "go/ast" + "go/importer" + "go/parser" + "go/token" + "go/types" + "log" +) + +func init() { + log.SetFlags(0) +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + conf := types.Config{Importer: importer.Default()} + pkg, err := conf.Check("hello.go", fset, []*ast.File{f}, nil) + if err != nil { + log.Fatal(err) + } + + _ = pkg +} + +const src = `package main + +import "math" + +func main() { + var _ = "a" + math.Pi +} +` diff --git a/ch11/examples/04/main.go b/ch11/examples/04/main.go new file mode 100644 index 0000000..59c46ec --- /dev/null +++ b/ch11/examples/04/main.go @@ -0,0 +1,86 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" +) + +func init() { + log.SetFlags(0) +} + +func main() { + prog := NewProgram(map[string]string{ + "hello": ` + package main + + import "mymath" + + func main() { + var _ = 2 * mymath.Pi + } + `, + "mymath": ` + package mymath + + const Pi = 3.1415926 + `, + }) + + pkg, f, err := prog.LoadPackage("hello") + if err != nil { + log.Fatal(err) + } + + fmt.Println(pkg) + ast.Print(prog.fset, f) +} + +type Program struct { + fs map[string]string + ast map[string]*ast.File + pkgs map[string]*types.Package + fset *token.FileSet +} + +func NewProgram(fs map[string]string) *Program { + return &Program{ + fs: fs, + ast: make(map[string]*ast.File), + pkgs: make(map[string]*types.Package), + fset: token.NewFileSet(), + } +} + +func (p *Program) LoadPackage(path string) (pkg *types.Package, f *ast.File, err error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, p.ast[path], nil + } + + f, err = parser.ParseFile(p.fset, path, p.fs[path], parser.AllErrors) + if err != nil { + return nil, nil, err + } + + conf := types.Config{Importer: p} + pkg, err = conf.Check(path, p.fset, []*ast.File{f}, nil) + if err != nil { + return nil, nil, err + } + + p.ast[path] = f + p.pkgs[path] = pkg + return pkg, f, nil +} + +func (p *Program) Import(path string) (*types.Package, error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, nil + } + pkg, _, err := p.LoadPackage(path) + return pkg, err +} diff --git a/ch11/readme.html b/ch11/readme.html new file mode 100644 index 0000000..9886d66 --- /dev/null +++ b/ch11/readme.html @@ -0,0 +1,447 @@ + + + + + + 第11章 类型检查 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第11章 类型检查

+

主流的编译器前端遵循词法解析、语法解析、语义解析等流程,然后才是基于中间表示的层层优化并最终产生目标代码。在得到抽象的语法树之后就表示完成了语法解析的工作。不过在进行中间优化或代码生成之前还需要对抽象语法树进行语义分析。语义分析需要更深层次理解代码的语义,比如两个变量相加是否合法,外层作用域有多个同名的变量时如何选择等。本章简单讨论go/types包的用法,展示如何通过该包实现语法树的类型检查功能。

+

11.1 语义错误

+

虽然Go语言是基于包和目录来组织代码,但是Go语言在语法树解析阶段并不关心包之间的依赖关系。这是因为在语法树解析阶段并不对代码本身做语义检测,因此很多语法正确但是语义错误的代码也可以生成语法树。

+

比如以下这个例子:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+	}
+	ast.Print(fset, f)
+}
+
+const src = `package pkg
+
+func hello() {
+	var _ = "a" + 1
+}
+`
+
+

在被解析的代码的hello函数,可以正常生成语法树。但是hello函数中唯一的语句var _ = "a" + 1的语义却是错误的,因为Go语言中不能将一个字符串和一个数字进行相加。如何识别这种语义层面的错误是go/types包需要完成的工作。

+

11.2 go/types

+

go/types包是Go语言之父Robert Griesemer大神(发明了Go语言的接口等特性)开发的类型检查工具.该包从Go1.5时代开始被添加到标准库,是Go语言自举过程中的一个额外成果。据说这个包是Go语言标准库中代码量最大的一个包,也是功能最复杂的一个包(在使用之前需要对Go语法树有一定的基础知识)。这里我们将使用go/types包来检查之前例子中的语法错误。

+

重新调整代码如下:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	pkg, err := new(types.Config).Check("hello.go", fset, []*ast.File{f}, nil)
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	_ = pkg
+}
+
+const src = `package pkg
+
+func hello() {
+	var _ = "a" + 1
+}
+`
+
+

在通过parser.ParseFile解析单文件得到语法树之后,通过new(types.Config).Check函数来解析语法树中的语义错误。new(types.Config)首先是构造一个用于类型检查的配置对象,然后调用其唯一的Check方法检测语法树的语义。Check方法的签名如下:

+
func (conf *Config) Check(path string, fset *token.FileSet, files []*ast.File, info *Info) (*Package, error)
+
+

第一个参数表示要检查包的路径,第二个参数表示全部的文件集合(用于将语法树中元素的位置信息解析为文件名和行列号),第三个参数是该包中所有文件对应的语法树,最后一个参数可用于存储检查过程中产生的分析结果。如果成功该方法返回一个types.Package对象,表示当前包的信息。

+

运行这个程序将产生以下的错误信息:

+
$ go run .
+hello.go:4:10: cannot convert "a" (untyped string constant) to untyped int
+
+

错误提示在hello.go文件的第4行第10个字符位置的"a"字符串语法错误,无法将字符串常量转化为无类型的int类型。这样我们就可以轻易定位代码中出现错误的位置和错误产生的原因。

+

11.3 跨包的类型检查

+

真实的代码总是由多个包组成的,而go/parser包只处理当前包,如何处理导入包的类型是一个重要问题。比如有以下的代码:

+
package main
+
+import "math"
+
+func main() {
+	var _ = "a" + math.Pi
+}
+
+

代码导入的是math包,然后引用了其中的math.Pi元素。要验证当前代码是否语义正确的前提,首先需要获取math.Pi元素的类型,因此首先要处理包的导入问题。

+

如果依然采用new(types.Config).Check方式验证将得到以下的错误:

+
hello.go:3:8: could not import math (Config.Importer not installed)
+
+

错误产生的原因是types.Config类型的检查对象并不知道如何加载math包的信息。types.Config对象的Importer成员负责导入依赖包,其定义如下:

+
type Config struct {
+	Importer Importer
+}
+
+type Importer interface {
+	Import(path string) (*Package, error)
+}
+
+

对于任何一个导入包都会调用Import(path string) (*Package, error)加载导入信息,然后才能获取包中导出元素的信息。

+

对于标准库的math包,可以采用go/importer提供的默认包导入实现。代码如下:

+
	// import "go/importer"
+	conf := types.Config{Importer: importer.Default()}
+	pkg, err := conf.Check("hello.go", fset, []*ast.File{f}, nil)
+	if err != nil {
+		log.Fatal(err)
+	}
+
+

其中types.Config对象的Importer成员对应包导入对象,由importer.Default()初始化。然后就可以正常处理输入代码了。

+

不过importer.Default()处理的是Go语义当前环境的代码结构。Go语义代码结构是比较复杂的,其中包含标准库和用户的模块代码,每个包还可能启动了CGO特性。为了便于理解,我们可以手工构造一个简单的math包,因此包导入过程也可以简化。

+

为了简化,我们继续假设每个包只有一个源代码文件。定义Program结构体表示一个完整的程序对象,代码如下:

+
type Program struct {
+	fs   map[string]string
+	ast  map[string]*ast.File
+	pkgs map[string]*types.Package
+	fset *token.FileSet
+}
+
+func NewProgram(fs map[string]string) *Program {
+	return &Program{
+		fs:   fs,
+		ast:  make(map[string]*ast.File),
+		pkgs: make(map[string]*types.Package),
+		fset: token.NewFileSet(),
+	}
+}
+
+

其中fs表示每个包对应的源代码字符串,ast表示每个包对应的语法树,pkgs表示经过语义检查的包对象,fset则表示文件的位置信息。

+

首先为Program类型增加包加载LoadPackage方法:

+
func (p *Program) LoadPackage(path string) (pkg *types.Package, f *ast.File, err error) {
+	if pkg, ok := p.pkgs[path]; ok {
+		return pkg, p.ast[path], nil
+	}
+
+	f, err = parser.ParseFile(p.fset, path, p.fs[path], parser.AllErrors)
+	if err != nil {
+		return nil, nil, err
+	}
+
+	conf := types.Config{Importer: nil}
+	pkg, err = conf.Check(path, p.fset, []*ast.File{f}, nil)
+	if err != nil {
+		return nil, nil, err
+	}
+
+	p.ast[path] = f
+	p.pkgs[path] = pkg
+	return pkg, f, nil
+}
+
+

因为没有初始化types.ConfigImporter成员,因此目前该方法只能加载没有导入其他包的叶子类型的包(对应math包就是这种类型)。比如叶子类型的math包被加载成功之后,则会被记录到Program对象的astpkgs成员中。然后当遇到已经被记录过的叶子包被导入时,就可以复用这些信息。

+

因此可以为Program类型实现types.Importer接口,只有一个Import方法:

+
func (p *Program) Import(path string) (*types.Package, error) {
+	if pkg, ok := p.pkgs[path]; ok {
+		return pkg, nil
+	}
+	return nil, fmt.Errorf("not found: %s", path)
+}
+
+

现在Program类型实现了types.Importer接口,就可以用于types.Config的包加载工作:

+
func (p *Program) LoadPackage(path string) (pkg *types.Package, f *ast.File, err error) {
+	// ...
+
+	conf := types.Config{Importer: p} // 用 Program 作为包导入器
+	pkg, err = conf.Check(path, p.fset, []*ast.File{f}, nil)
+	if err != nil {
+		return nil, nil, err
+	}
+
+	// ...
+}
+
+

然后可以通过手工方式先加载叶子类型的math包,然后再加载主包:

+
func main() {
+	prog := NewProgram(map[string]string{
+		"hello": `
+			package main
+			import "math"
+			func main() { var _ = 2 * math.Pi }
+		`,
+		"math": `
+			package math
+			const Pi = 3.1415926
+		`,
+	})
+
+	_, _, err := prog.LoadPackage("math")
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	pkg, f, err := prog.LoadPackage("hello")
+	if err != nil {
+		log.Fatal(err)
+	}
+}
+
+

这种依赖包的导入包的加载是递归的,因此可以在导入环节的Import方法增加递归处理:

+
func (p *Program) Import(path string) (*types.Package, error) {
+	if pkg, ok := p.pkgs[path]; ok {
+		return pkg, nil
+	}
+	pkg, _, err := p.LoadPackage(path)
+	return pkg, err
+}
+
+

pkgs成员没有包信息时,通过LoadPackage方法加载。如果LoadPackage要导入的包是非叶子类型的包,会再次递归回到Import方法。因为Go语义禁止循环包导入,因此最终会在导入叶子包的时刻由LoadPackage函数返回结束递归。当然在真实的代码中,需要额外记录一个状态用于检查递归导入类型的错误。

+

这样我们就实现了一个支持递归包导入的功能,从而可以实现对于任何一个加载的语法树进行完整的类型检查。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch12/examples/01/fmt/print.go b/ch12/examples/01/fmt/print.go new file mode 100644 index 0000000..51e5b42 --- /dev/null +++ b/ch12/examples/01/fmt/print.go @@ -0,0 +1,5 @@ +package fmt + +func Printf(format string, a ...interface{}) (n int, err error) { + return +} diff --git a/ch12/examples/01/hello/hello.go b/ch12/examples/01/hello/hello.go new file mode 100644 index 0000000..cd0811a --- /dev/null +++ b/ch12/examples/01/hello/hello.go @@ -0,0 +1,11 @@ +package main + +import "fmt" + +const Pi = 3.14 + +func main() { + for i := 2; i <= 8; i++ { + fmt.Printf("%d*Pi = %.2f\n", i, Pi*float64(i)) + } +} diff --git a/ch12/examples/01/main.go b/ch12/examples/01/main.go new file mode 100644 index 0000000..314e0e4 --- /dev/null +++ b/ch12/examples/01/main.go @@ -0,0 +1,92 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" +) + +func init() { + log.SetFlags(0) +} + +func main() { + prog := NewProgram(map[string]string{ + "hello.go": ` + package main + + import "fmt" + + const Pi = 3.14 + + func main() { + for i := 2; i <= 8; i++ { + fmt.Printf("%d*Pi = %.2f\n", i, Pi*float64(i)) + } + } + `, + "fmt": ` + package fmt + + func Printf(format string, a ...interface{}) (n int, err error) { + return + } + `, + }) + + pkg, _, err := prog.LoadPackage("hello.go") + if err != nil { + log.Fatal(err) + } + + pkg.Scope().WriteTo(os.Stdout, 0, true) + pkg.Scope().Parent().WriteTo(os.Stdout, 0, true) +} + +type Program struct { + fs map[string]string + ast map[string]*ast.File + pkgs map[string]*types.Package + fset *token.FileSet +} + +func NewProgram(fs map[string]string) *Program { + return &Program{ + fs: fs, + ast: make(map[string]*ast.File), + pkgs: make(map[string]*types.Package), + fset: token.NewFileSet(), + } +} + +func (p *Program) LoadPackage(path string) (pkg *types.Package, f *ast.File, err error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, p.ast[path], nil + } + + f, err = parser.ParseFile(p.fset, path, p.fs[path], parser.AllErrors) + if err != nil { + return nil, nil, err + } + + conf := types.Config{Importer: p} + pkg, err = conf.Check(path, p.fset, []*ast.File{f}, nil) + if err != nil { + return nil, nil, err + } + + p.ast[path] = f + p.pkgs[path] = pkg + return pkg, f, nil +} + +func (p *Program) Import(path string) (*types.Package, error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, nil + } + pkg, _, err := p.LoadPackage(path) + return pkg, err +} diff --git a/ch12/readme.html b/ch12/readme.html new file mode 100644 index 0000000..3198cbf --- /dev/null +++ b/ch12/readme.html @@ -0,0 +1,265 @@ + + + + + + 第12章 语义信息 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第12章 语义信息

+

语义信息主要包含根据名字确定对象的类型和值,分析表达式的类型和值,这些工作主要由go/types包负责解析完成。go/types包是Go语言之父Robert Griesemer大神开发,我们在第11章已经展示如何通过该包来完成类型检查工作。本章将继续讨论go/types包的使用。

+

出版社已经约稿出版本书,并在开源版本的基础之上增加了语义信息、SSA形式、LLVM和凹语言等内容,

+
+

因为出版社版权限制不方便全部公开新增内容,完整内容请参考 实体书

+

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch13/examples/00/go.mod b/ch13/examples/00/go.mod new file mode 100644 index 0000000..37d6992 --- /dev/null +++ b/ch13/examples/00/go.mod @@ -0,0 +1,5 @@ +module github.com/chai2010/go-ast-book/ssa/01 + +go 1.14 + +require golang.org/x/tools v0.0.0-20200601175630-2caf76543d99 diff --git a/ch13/examples/00/go.sum b/ch13/examples/00/go.sum new file mode 100644 index 0000000..aaeb2f3 --- /dev/null +++ b/ch13/examples/00/go.sum @@ -0,0 +1,18 @@ +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200601175630-2caf76543d99 h1:deddXmhOJb/bvD/4M/j2AUMrhHeh6GkqykJSCWyTNVk= +golang.org/x/tools v0.0.0-20200601175630-2caf76543d99/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/ch13/examples/00/main.go b/ch13/examples/00/main.go new file mode 100644 index 0000000..af2ebe6 --- /dev/null +++ b/ch13/examples/00/main.go @@ -0,0 +1,80 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" + + "golang.org/x/tools/go/ssa" +) + +const src = ` +package main + +var s = "hello ssa" + +func main() { + for i := 0; i < 3; i++ { + println(s) + } +} +` + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: nil} + pkg, err := conf.Check("hello.go", fset, []*ast.File{f}, info) + if err != nil { + log.Fatal(err) + } + + var ssaProg = ssa.NewProgram(fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + + ssaPkg.Build() + + ssaPkg.WriteTo(os.Stdout) + ssaPkg.Func("init").WriteTo(os.Stdout) + ssaPkg.Func("main").WriteTo(os.Stdout) +} + +/* +package hello.go: + func init func() + var init$guard bool + func main func() + +# Name: hello.go.main +# Package: hello.go +# Location: hello.go:4:6 +func main(): +0: entry P:0 S:1 + jump 3 +1: for.body P:1 S:1 + t0 = println("hello ssa -- chai...":string) () + t1 = t2 + 1:int int + jump 3 +2: for.done P:1 S:0 + return +3: for.loop P:2 S:2 + t2 = phi [0: 0:int, 1: t1] #i int + t3 = t2 < 3:int bool + if t3 goto 1 else 2 +*/ diff --git a/ch13/examples/01/go.mod b/ch13/examples/01/go.mod new file mode 100644 index 0000000..37d6992 --- /dev/null +++ b/ch13/examples/01/go.mod @@ -0,0 +1,5 @@ +module github.com/chai2010/go-ast-book/ssa/01 + +go 1.14 + +require golang.org/x/tools v0.0.0-20200601175630-2caf76543d99 diff --git a/ch13/examples/01/go.sum b/ch13/examples/01/go.sum new file mode 100644 index 0000000..aaeb2f3 --- /dev/null +++ b/ch13/examples/01/go.sum @@ -0,0 +1,18 @@ +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200601175630-2caf76543d99 h1:deddXmhOJb/bvD/4M/j2AUMrhHeh6GkqykJSCWyTNVk= +golang.org/x/tools v0.0.0-20200601175630-2caf76543d99/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/ch13/examples/01/main.go b/ch13/examples/01/main.go new file mode 100644 index 0000000..83a6514 --- /dev/null +++ b/ch13/examples/01/main.go @@ -0,0 +1,118 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "go/types" + + "golang.org/x/tools/go/ssa" + "golang.org/x/tools/go/ssa/interp" +) + +func main() { + prog := NewProgram(map[string]string{ + "main": ` + package main + + func main() { + for i := 0; i < 3; i++ { + println(i, "hello chai2010") + } + } + `, + "runtime": ` + package runtime + + type errorString string + + func (e errorString) RuntimeError() {} + func (e errorString) Error() string { return "runtime error: " + string(e) } + + type Error interface { + error + RuntimeError() + } + `, + }) + + prog.LoadPackage("main") + prog.LoadPackage("runtime") + + var ssaProg = ssa.NewProgram(prog.fset, ssa.SanityCheckFunctions) + var ssaMainPkg *ssa.Package + + for name, pkg := range prog.pkgs { + ssaPkg := ssaProg.CreatePackage(pkg, []*ast.File{prog.ast[name]}, prog.infos[name], true) + if name == "main" { + ssaMainPkg = ssaPkg + } + } + ssaProg.Build() + + exitCode := interp.Interpret( + ssaMainPkg, 0, &types.StdSizes{8, 8}, + "main", []string{}, + ) + if exitCode != 0 { + fmt.Println("exitCode:", exitCode) + } +} + +type Program struct { + fs map[string]string + ast map[string]*ast.File + pkgs map[string]*types.Package + infos map[string]*types.Info + fset *token.FileSet +} + +func NewProgram(fs map[string]string) *Program { + return &Program{ + fs: fs, + ast: make(map[string]*ast.File), + pkgs: make(map[string]*types.Package), + infos: make(map[string]*types.Info), + fset: token.NewFileSet(), + } +} + +func (p *Program) LoadPackage(path string) (pkg *types.Package, f *ast.File, err error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, p.ast[path], nil + } + + f, err = parser.ParseFile(p.fset, path, p.fs[path], parser.AllErrors) + if err != nil { + return nil, nil, err + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: p} + pkg, err = conf.Check(path, p.fset, []*ast.File{f}, info) + if err != nil { + return nil, nil, err + } + + p.ast[path] = f + p.pkgs[path] = pkg + p.infos[path] = info + return pkg, f, nil +} + +func (p *Program) Import(path string) (*types.Package, error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, nil + } + pkg, _, err := p.LoadPackage(path) + return pkg, err +} diff --git a/ch13/examples/02/go.mod b/ch13/examples/02/go.mod new file mode 100644 index 0000000..37d6992 --- /dev/null +++ b/ch13/examples/02/go.mod @@ -0,0 +1,5 @@ +module github.com/chai2010/go-ast-book/ssa/01 + +go 1.14 + +require golang.org/x/tools v0.0.0-20200601175630-2caf76543d99 diff --git a/ch13/examples/02/go.sum b/ch13/examples/02/go.sum new file mode 100644 index 0000000..aaeb2f3 --- /dev/null +++ b/ch13/examples/02/go.sum @@ -0,0 +1,18 @@ +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200601175630-2caf76543d99 h1:deddXmhOJb/bvD/4M/j2AUMrhHeh6GkqykJSCWyTNVk= +golang.org/x/tools v0.0.0-20200601175630-2caf76543d99/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/ch13/examples/02/main.go b/ch13/examples/02/main.go new file mode 100644 index 0000000..45232ad --- /dev/null +++ b/ch13/examples/02/main.go @@ -0,0 +1,92 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "os" + + "golang.org/x/tools/go/ssa" +) + +func main() { + prog := NewProgram(map[string]string{ + "main": ` + package main + + func main() { + for i := 0; i < 3; i++ { + println(i, "hello chai2010") + } + } + `, + }) + + pkg, f, info, _ := prog.LoadPackage("main") + + var ssaProg = ssa.NewProgram(prog.fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + ssaPkg.Build() + + ssaPkg.WriteTo(os.Stdout) + + ssaPkg.Func("main").WriteTo(os.Stdout) +} + +type Program struct { + fs map[string]string + ast map[string]*ast.File + pkgs map[string]*types.Package + infos map[string]*types.Info + fset *token.FileSet +} + +func NewProgram(fs map[string]string) *Program { + return &Program{ + fs: fs, + ast: make(map[string]*ast.File), + pkgs: make(map[string]*types.Package), + infos: make(map[string]*types.Info), + fset: token.NewFileSet(), + } +} + +func (p *Program) LoadPackage(path string) (pkg *types.Package, f *ast.File, info *types.Info, err error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, p.ast[path], p.infos[path], nil + } + + f, err = parser.ParseFile(p.fset, path, p.fs[path], parser.AllErrors) + if err != nil { + return nil, nil, nil, err + } + + info = &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: p} + pkg, err = conf.Check(path, p.fset, []*ast.File{f}, info) + if err != nil { + return nil, nil, nil, err + } + + p.ast[path] = f + p.pkgs[path] = pkg + p.infos[path] = info + return pkg, f, info, nil +} + +func (p *Program) Import(path string) (*types.Package, error) { + if pkg, ok := p.pkgs[path]; ok { + return pkg, nil + } + pkg, _, _, err := p.LoadPackage(path) + return pkg, err +} diff --git a/ch13/readme.html b/ch13/readme.html new file mode 100644 index 0000000..758c969 --- /dev/null +++ b/ch13/readme.html @@ -0,0 +1,264 @@ + + + + + + 第13章 SSA形式 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第13章 SSA形式

+

本章探讨如何将Go语言的AST转化位SSA静态单赋值形式,然后通过SSA形式进行解释执行,最后概要介绍了SSA包内部重要的数据结构之间的逻辑关系。

+
+

因为出版社版权限制不方便全部公开新增内容,完整内容请参考 实体书

+

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch14/examples/01-hello/Makefile b/ch14/examples/01-hello/Makefile new file mode 100644 index 0000000..045aebc --- /dev/null +++ b/ch14/examples/01-hello/Makefile @@ -0,0 +1,6 @@ +default: + go run . + clang -Wno-override-module _a.ll + ./a.out + +clean: diff --git a/ch14/examples/01-hello/_a.ll b/ch14/examples/01-hello/_a.ll new file mode 100644 index 0000000..4d92791 --- /dev/null +++ b/ch14/examples/01-hello/_a.ll @@ -0,0 +1,10 @@ +@printf_format_int = constant [4 x i8] c"%d\0A\00" + +declare i32 @printf(i8* %format, ...) + +define i32 @main() { +entry: + %0 = getelementptr [4 x i8], [4 x i8]* @printf_format_int, i32 0, i32 0 + %1 = call i32 (i8*, ...) @printf(i8* %0, i32 42) + ret i32 0 +} diff --git a/ch14/examples/01-hello/go.mod b/ch14/examples/01-hello/go.mod new file mode 100644 index 0000000..2c95c5d --- /dev/null +++ b/ch14/examples/01-hello/go.mod @@ -0,0 +1,8 @@ +module ssago + +go 1.14 + +require ( + github.com/llir/llvm v0.3.2 + golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed +) diff --git a/ch14/examples/01-hello/go.sum b/ch14/examples/01-hello/go.sum new file mode 100644 index 0000000..7581437 --- /dev/null +++ b/ch14/examples/01-hello/go.sum @@ -0,0 +1,38 @@ +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/llir/ll v0.0.0-20200425014433-60cd8feecf92/go.mod h1:8W5HJz80PitAyPZUpOcljQxTu6LD5YKW1URTo+OjVoc= +github.com/llir/llvm v0.3.2 h1:kTnfQ4jq0NRQECCtPl/1CZqEkucuWIfg3xFGmDxL5UA= +github.com/llir/llvm v0.3.2/go.mod h1:GZgiPtIaqNOA5JE8K1XRqrHDX1t9SByuln3fmh++wJ0= +github.com/mewmew/float v0.0.0-20191226120903-16bbe2fdd85e h1:KCD7E/8LKwDsC5ymlEWJ3xCiSPaCywrS/psToBMOBH4= +github.com/mewmew/float v0.0.0-20191226120903-16bbe2fdd85e/go.mod h1:O+xb+8ycBNHzJicFVs7GRWtruD4tVZI0huVnw5TM01E= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200609164405-eb789aa7ce50/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed h1:+qzWo37K31KxduIYaBeMqJ8MUOyTayOQKpH9aDPLMSY= +golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/ch14/examples/01-hello/ll.go b/ch14/examples/01-hello/ll.go new file mode 100644 index 0000000..5e9597d --- /dev/null +++ b/ch14/examples/01-hello/ll.go @@ -0,0 +1,67 @@ +package main + +import ( + "go/types" + + "github.com/llir/llvm/ir" + "github.com/llir/llvm/ir/constant" + llvmTypes "github.com/llir/llvm/ir/types" + "golang.org/x/tools/go/ssa" +) + +func llModule(ssafnMain *ssa.Function) *ir.Module { + m := ir.NewModule() + + // printf + i8Ptr := llvmTypes.NewPointer(llvmTypes.I8) + printf := m.NewFunc("printf", llvmTypes.I32, ir.NewParam("format", i8Ptr)) + printf.Sig.Variadic = true + + // global printf format string + printf_format_int := m.NewGlobalDef("printf_format_int", constant.NewCharArray([]byte("%d\n\x00"))) + printf_format_int.Immutable = true + + // main + fnMain := m.NewFunc("main", llvmTypes.I32) + firstBlock := fnMain.NewBlock("entry") + + // main body + for _, ins := range ssafnMain.Blocks[0].Instrs { + switch ins := ins.(type) { + case *ssa.Call: + if ins.Call.Method == nil { + if fnBuiltin, ok := ins.Call.Value.(*ssa.Builtin); ok { + if fnBuiltin.Name() == "println" { + llPrint(firstBlock, printf, printf_format_int, ins.Call.Args...) + } + } + } + default: + break + } + } + + firstBlock.NewRet(constant.NewInt(llvmTypes.I32, 0)) + return m +} + +func llPrint(block *ir.Block, printf *ir.Func, format *ir.Global, args ...ssa.Value) { + for _, arg := range args { + if arg, ok := arg.(*ssa.Const); ok { + if t, ok := arg.Type().Underlying().(*types.Basic); ok { + switch t.Kind() { + case types.Int, types.UntypedInt: + block.NewCall( + printf, + block.NewGetElementPtr( + format.Type().(*llvmTypes.PointerType).ElemType, format, + constant.NewInt(llvmTypes.I32, 0), + constant.NewInt(llvmTypes.I32, 0), + ), + constant.NewInt(llvmTypes.I32, arg.Int64()), + ) + } + } + } + } +} diff --git a/ch14/examples/01-hello/main.go b/ch14/examples/01-hello/main.go new file mode 100644 index 0000000..dd2e886 --- /dev/null +++ b/ch14/examples/01-hello/main.go @@ -0,0 +1,52 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" + + "golang.org/x/tools/go/ssa" +) + +const src = ` +package main + +func main() { + println("Hello,凹语言!") + println("The answer is:", 42) +} +` + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "test.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: nil} + pkg, err := conf.Check("test.go", fset, []*ast.File{f}, info) + if err != nil { + log.Fatal(err) + } + + var ssaProg = ssa.NewProgram(fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + + ssaPkg.Build() + ssaPkg.Func("main").WriteTo(os.Stdout) + + runFunc(ssaPkg.Func("main")) +} diff --git a/ch14/examples/01-hello/run.go b/ch14/examples/01-hello/run.go new file mode 100644 index 0000000..5bbe34f --- /dev/null +++ b/ch14/examples/01-hello/run.go @@ -0,0 +1,96 @@ +package main + +import ( + "bytes" + "fmt" + "go/constant" + "go/types" + "os" + + "golang.org/x/tools/go/ssa" +) + +func runFunc(fn *ssa.Function) { + fmt.Println("--- runFunc begin ---") + defer fmt.Println("--- runFunc end ---") + + // 从第0个Block开始执行 + // 如果没有Block, 则表示外部导入函数(汇编语言实现的函数也是一种外部导入函数) + if len(fn.Blocks) > 0 { + for blk := fn.Blocks[0]; blk != nil; { + blk = runFuncBlock(fn, fn.Blocks[0]) + } + } +} + +// 运行Block, 返回下一个Block, 如果返回nil表示结束 +func runFuncBlock(fn *ssa.Function, block *ssa.BasicBlock) (nextBlock *ssa.BasicBlock) { + for _, ins := range block.Instrs { + switch ins := ins.(type) { + case *ssa.Call: + doCall(ins) + case *ssa.Return: + doReturn(ins) + default: + doUnknown(ins) + } + } + return nil +} + +func doCall(ins *ssa.Call) { + switch { + case ins.Call.Method == nil: // 普通函数调用 + switch callFn := ins.Call.Value.(type) { + case *ssa.Builtin: + callBuiltin(callFn, ins.Call.Args...) + default: + // 普通函数 + } + + default: + // 方法或接口调用 + } +} + +func doReturn(ins *ssa.Return) { + return // ins.Results[...] +} + +func doUnknown(ins ssa.Instruction) { + // 其它指令 + // 循环和分支结构需要处理 phi 指令 + // 目前的例子只有单个 block +} + +func callBuiltin(fn *ssa.Builtin, args ...ssa.Value) { + switch fn.Name() { + case "println": + var buf bytes.Buffer + for i := 0; i < len(args); i++ { + if i > 0 { + buf.WriteRune(' ') + } + switch arg := args[i].(type) { + case *ssa.Const: // 处理常量参数 + if t, ok := arg.Type().Underlying().(*types.Basic); ok { + switch t.Kind() { + case types.Int, types.UntypedInt: + fmt.Fprintf(&buf, "%d", int(arg.Int64())) + case types.String: + fmt.Fprintf(&buf, "%s", constant.StringVal(arg.Value)) + default: + // 其它常量类型 + } + } + default: + // 暂不支持非常量参数 + } + } + buf.WriteRune('\n') + os.Stdout.Write(buf.Bytes()) + + default: + // 其它内置函数 + } +} diff --git a/ch14/examples/02-global-var/main.go b/ch14/examples/02-global-var/main.go new file mode 100644 index 0000000..fca98c5 --- /dev/null +++ b/ch14/examples/02-global-var/main.go @@ -0,0 +1,60 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" + + "golang.org/x/tools/go/ssa" +) + +const src = ` +package main + +var i int + +func main() { + i = 42 + println("The answer is:", i) +} +` + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "test.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: nil} + pkg, err := conf.Check("test.go", fset, []*ast.File{f}, info) + if err != nil { + log.Fatal(err) + } + + var ssaProg = ssa.NewProgram(fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + + ssaPkg.Build() + ssaPkg.WriteTo(os.Stdout) + ssaPkg.Func("main").WriteTo(os.Stdout) + + p := NewEngine(ssaPkg) + p.initGlobals() + + fr := NewFrame() + + p.runFunc(fr, ssaPkg.Func("main")) +} diff --git a/ch14/examples/02-global-var/run.go b/ch14/examples/02-global-var/run.go new file mode 100644 index 0000000..bafd4e8 --- /dev/null +++ b/ch14/examples/02-global-var/run.go @@ -0,0 +1,148 @@ +package main + +import ( + "fmt" + "sync" + + "github.com/wa-lang/ssago/02-hello/wabuildin" + "github.com/wa-lang/ssago/02-hello/waops" + "github.com/wa-lang/ssago/02-hello/watypes" + "golang.org/x/tools/go/ssa" +) + +type Engine struct { + main *ssa.Package + initOnce sync.Once + + // 全局变量 + globals map[string]*watypes.Value +} + +func NewEngine(mainpkg *ssa.Package) *Engine { + p := &Engine{ + main: mainpkg, + globals: make(map[string]*watypes.Value), + } + return p +} + +// 读全局变量 +func (p *Engine) getGlobal(key *ssa.Global) (v *watypes.Value, ok bool) { + v, ok = p.globals[key.RelString(nil)] + return +} + +// 设置全局变量 +func (p *Engine) setGlobal(key *ssa.Global, v *watypes.Value) { + p.globals[key.RelString(nil)] = v +} + +// 全局变量零值初始化 +func (p *Engine) initGlobals() *Engine { + p.initOnce.Do(func() { + for _, pkg := range p.main.Prog.AllPackages() { + for _, m := range pkg.Members { + switch v := m.(type) { + case *ssa.Global: + cell := waops.Zero(waops.Deref(v.Type())) + p.setGlobal(v, &cell) + } + } + } + }) + return p +} + +type Frame struct { + //局部变量、虚拟寄存器等: + env map[ssa.Value]watypes.Value +} + +func NewFrame() *Frame { + f := &Frame{ + env: make(map[ssa.Value]watypes.Value), + } + return f +} + +// 读取值(nil/全局变量/虚拟寄存器等) +func (p *Engine) getValue(fr *Frame, key ssa.Value) watypes.Value { + switch key := key.(type) { + case *ssa.Global: + if r, ok := p.getGlobal(key); ok { + return r + } + case *ssa.Const: + return waops.ConstValue(key) + case nil: + return nil + } + + if r, ok := fr.env[key]; ok { + return r + } + + panic(fmt.Sprintf("get: no value for %T: %v", key, key.Name())) +} + +func (p *Engine) runFunc(fr *Frame, fn *ssa.Function) { + fmt.Println("--- runFunc begin ---") + defer fmt.Println("--- runFunc end ---") + + if len(fn.Blocks) > 0 { + for blk := fn.Blocks[0]; blk != nil; { + blk = p.runFuncBlock(fr, fn.Blocks[0]) + } + } +} + +// 运行Block +func (p *Engine) runFuncBlock(fr *Frame, block *ssa.BasicBlock) (nextBlock *ssa.BasicBlock) { + for _, ins := range block.Instrs { + switch ins := ins.(type) { + case *ssa.Store: + println("ssa.Store") + watypes.Store(waops.Deref(ins.Addr.Type()), p.getValue(fr, ins.Addr).(*watypes.Value), p.getValue(fr, ins.Val)) + + case *ssa.UnOp: + println("ssa.UnOp") + fr.env[ins] = waops.UnOp(ins, p.getValue(fr, ins.X)) + + case *ssa.Call: + println("ssa.Call") + args := p.prepareCall(fr, &ins.Call) + fr.env[ins] = p.call(ins, args) + } + } + return nil +} + +func (p *Engine) prepareCall(fr *Frame, call *ssa.CallCommon) (args []watypes.Value) { + // 转换参数, getValue 是核心方法 + for _, arg := range call.Args { + args = append(args, p.getValue(fr, arg)) + } + + return +} + +func (p *Engine) call(ins *ssa.Call, args []watypes.Value) watypes.Value { + switch { + case ins.Call.Method == nil: // 普通函数调用 + switch callFn := ins.Call.Value.(type) { + case *ssa.Builtin: + return callBuiltin(callFn, args) + } + } + + panic("Unknown call") +} + +func callBuiltin(fn *ssa.Builtin, args []watypes.Value) watypes.Value { + switch fn.Name() { + case "print", "println": // print(any, ...) + return wabuiltin.Print(fn, args) + } + + panic("unknown built-in: " + fn.Name()) +} diff --git a/ch14/examples/02-global-var/wabuildin/print.go b/ch14/examples/02-global-var/wabuildin/print.go new file mode 100644 index 0000000..392f126 --- /dev/null +++ b/ch14/examples/02-global-var/wabuildin/print.go @@ -0,0 +1,29 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package wabuiltin + +import ( + "bytes" + "os" + + "github.com/wa-lang/ssago/02-hello/watypes" + "golang.org/x/tools/go/ssa" +) + +func Print(fn *ssa.Builtin, args []watypes.Value) ssa.Value { + ln := fn.Name() == "println" + var buf bytes.Buffer + + for i, arg := range args { + if i > 0 && ln { + buf.WriteRune(' ') + } + buf.WriteString(watypes.ToString(arg)) + } + if ln { + buf.WriteRune('\n') + } + + os.Stdout.Write(buf.Bytes()) + return nil +} diff --git a/ch14/examples/02-global-var/waops/ops_const_value.go b/ch14/examples/02-global-var/waops/ops_const_value.go new file mode 100644 index 0000000..b78bb32 --- /dev/null +++ b/ch14/examples/02-global-var/waops/ops_const_value.go @@ -0,0 +1,70 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/constant" + "go/types" + + "github.com/wa-lang/ssago/02-hello/watypes" + "golang.org/x/tools/go/ssa" +) + +// 从常量构造值 +func ConstValue(c *ssa.Const) watypes.Value { + return constValue(c) +} + +func constValue(c *ssa.Const) watypes.Value { + if c.IsNil() { + return Zero(c.Type()) // typed nil + } + + if t, ok := c.Type().Underlying().(*types.Basic); ok { + switch t.Kind() { + case types.String, types.UntypedString: + if c.Value.Kind() == constant.String { + return constant.StringVal(c.Value) + } + return string(rune(c.Int64())) + case types.Bool, types.UntypedBool: + return constant.BoolVal(c.Value) + case types.Int, types.UntypedInt: + // Assume sizeof(int) is same on host and target. + return int(c.Int64()) + case types.Int8: + return int8(c.Int64()) + case types.Int16: + return int16(c.Int64()) + case types.Int32, types.UntypedRune: + return int32(c.Int64()) + case types.Int64: + return c.Int64() + case types.Uint: + // Assume sizeof(uint) is same on host and target. + return uint(c.Uint64()) + case types.Uint8: + return uint8(c.Uint64()) + case types.Uint16: + return uint16(c.Uint64()) + case types.Uint32: + return uint32(c.Uint64()) + case types.Uint64: + return c.Uint64() + case types.Uintptr: + // Assume sizeof(uintptr) is same on host and target. + return uintptr(c.Uint64()) + case types.Float32: + return float32(c.Float64()) + case types.Float64, types.UntypedFloat: + return c.Float64() + case types.Complex64: + return complex64(c.Complex128()) + case types.Complex128, types.UntypedComplex: + return c.Complex128() + } + } + + panic(fmt.Sprintf("constValue: %s", c)) +} diff --git a/ch14/examples/02-global-var/waops/ops_un_op.go b/ch14/examples/02-global-var/waops/ops_un_op.go new file mode 100644 index 0000000..f226c76 --- /dev/null +++ b/ch14/examples/02-global-var/waops/ops_un_op.go @@ -0,0 +1,86 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + + "github.com/wa-lang/ssago/02-hello/watypes" + "golang.org/x/tools/go/ssa" +) + +// 一元运算符 +func UnOp(instr *ssa.UnOp, x watypes.Value) watypes.Value { + return unop(instr, x) +} + +func unop(instr *ssa.UnOp, x watypes.Value) watypes.Value { + switch instr.Op { + case token.MUL: // 指针类型 + return watypes.Load(Deref(instr.X.Type()), x.(*watypes.Value)) + + case token.NOT: // 非 + return !x.(bool) + + case token.SUB: + switch x := x.(type) { + case int: + return -x + case int8: + return -x + case int16: + return -x + case int32: + return -x + case int64: + return -x + case uint: + return -x + case uint8: + return -x + case uint16: + return -x + case uint32: + return -x + case uint64: + return -x + case uintptr: + return -x + case float32: + return -x + case float64: + return -x + case complex64: + return -x + case complex128: + return -x + } + case token.XOR: + switch x := x.(type) { + case int: + return ^x + case int8: + return ^x + case int16: + return ^x + case int32: + return ^x + case int64: + return ^x + case uint: + return ^x + case uint8: + return ^x + case uint16: + return ^x + case uint32: + return ^x + case uint64: + return ^x + case uintptr: + return ^x + } + } + panic(fmt.Sprintf("invalid unary op %s %T", instr.Op, x)) +} diff --git a/ch14/examples/02-global-var/waops/ops_zero.go b/ch14/examples/02-global-var/waops/ops_zero.go new file mode 100644 index 0000000..26db4ef --- /dev/null +++ b/ch14/examples/02-global-var/waops/ops_zero.go @@ -0,0 +1,71 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/types" + "unsafe" + + "github.com/wa-lang/ssago/02-hello/watypes" +) + +// 生成零值 +func Zero(t types.Type) watypes.Value { + return zero(t) +} + +func zero(t types.Type) watypes.Value { + switch t := t.(type) { + case *types.Basic: + if t.Kind() == types.UntypedNil { + panic("untyped nil has no zero value") + } + if t.Info()&types.IsUntyped != 0 { + t = types.Default(t).(*types.Basic) + } + switch t.Kind() { + case types.Bool: + return false + case types.Int: + return int(0) + case types.Int8: + return int8(0) + case types.Int16: + return int16(0) + case types.Int32: + return int32(0) + case types.Int64: + return int64(0) + case types.Uint: + return uint(0) + case types.Uint8: + return uint8(0) + case types.Uint16: + return uint16(0) + case types.Uint32: + return uint32(0) + case types.Uint64: + return uint64(0) + case types.Uintptr: + return uintptr(0) + case types.Float32: + return float32(0) + case types.Float64: + return float64(0) + case types.Complex64: + return complex64(0) + case types.Complex128: + return complex128(0) + case types.String: + return "" + case types.UnsafePointer: + return unsafe.Pointer(nil) + default: + panic(fmt.Sprint("zero for unexpected type:", t)) + } + case *types.Pointer: + return (*watypes.Value)(nil) + } + panic(fmt.Sprint("zero: unexpected ", t)) +} diff --git a/ch14/examples/02-global-var/waops/utils.go b/ch14/examples/02-global-var/waops/utils.go new file mode 100644 index 0000000..1ad85f5 --- /dev/null +++ b/ch14/examples/02-global-var/waops/utils.go @@ -0,0 +1,15 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "go/types" +) + +// 对于指针获取指针指向的类型, 或者返回当前类型. +func Deref(typ types.Type) types.Type { + if p, ok := typ.Underlying().(*types.Pointer); ok { + return p.Elem() + } + return typ +} diff --git a/ch14/examples/02-global-var/watypes/value.go b/ch14/examples/02-global-var/watypes/value.go new file mode 100644 index 0000000..36fbde2 --- /dev/null +++ b/ch14/examples/02-global-var/watypes/value.go @@ -0,0 +1,49 @@ +package watypes + +import ( + "bytes" + "fmt" + "go/types" + + "golang.org/x/tools/go/ssa" +) + +// Wa支持的值类型的抽象接口 +type Value interface{} + +// 返回地址addr处存储的T类型的值 +func Load(T types.Type, addr *Value) Value { + return *addr +} + +// 将类型为T的值v存入地址addr中 +func Store(T types.Type, addr *Value, v Value) { + *addr = v +} + +// ToString 输出Value的可读字符串 +func ToString(v Value) string { + var b bytes.Buffer + writeValue(&b, v) + return b.String() +} + +func writeValue(buf *bytes.Buffer, v Value) { + switch v := v.(type) { + case nil, bool, int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64, complex64, complex128, string: + fmt.Fprintf(buf, "%v", v) + + case *Value: + if v == nil { + buf.WriteString("") + } else { + fmt.Fprintf(buf, "%p", v) + } + + case *ssa.Function, *ssa.Builtin: + fmt.Fprintf(buf, "%p", v) // (an address) + + default: + fmt.Fprintf(buf, "<%T>", v) + } +} diff --git a/ch14/examples/03-frame/main.go b/ch14/examples/03-frame/main.go new file mode 100644 index 0000000..22a2f28 --- /dev/null +++ b/ch14/examples/03-frame/main.go @@ -0,0 +1,60 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" + + "golang.org/x/tools/go/ssa" +) + +const src = ` +package main + +func showMeTheAnswer() int{ + return 42 +} + +func main() { + println("The answer is:", showMeTheAnswer()) +} +` + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "test.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: nil} + pkg, err := conf.Check("test.go", fset, []*ast.File{f}, info) + if err != nil { + log.Fatal(err) + } + + var ssaProg = ssa.NewProgram(fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + + ssaPkg.Build() + ssaPkg.WriteTo(os.Stdout) + ssaPkg.Func("main").WriteTo(os.Stdout) + ssaPkg.Func("showMeTheAnswer").WriteTo(os.Stdout) + + p := NewEngine(ssaPkg) + p.initGlobals() + + p.runFunc(ssaPkg.Func("main"), nil) +} diff --git a/ch14/examples/03-frame/run.go b/ch14/examples/03-frame/run.go new file mode 100644 index 0000000..ffae1d3 --- /dev/null +++ b/ch14/examples/03-frame/run.go @@ -0,0 +1,168 @@ +package main + +import ( + "fmt" + "sync" + + "github.com/wa-lang/ssago/03-frame/wabuildin" + "github.com/wa-lang/ssago/03-frame/waops" + "github.com/wa-lang/ssago/03-frame/watypes" + "golang.org/x/tools/go/ssa" +) + +type Engine struct { + main *ssa.Package + initOnce sync.Once + + // 全局变量 + globals map[string]*watypes.Value +} + +func NewEngine(mainpkg *ssa.Package) *Engine { + p := &Engine{ + main: mainpkg, + globals: make(map[string]*watypes.Value), + } + return p +} + +// 读全局变量 +func (p *Engine) getGlobal(key *ssa.Global) (v *watypes.Value, ok bool) { + v, ok = p.globals[key.RelString(nil)] + return +} + +// 设置全局变量 +func (p *Engine) setGlobal(key *ssa.Global, v *watypes.Value) { + p.globals[key.RelString(nil)] = v +} + +// 全局变量零值初始化 +func (p *Engine) initGlobals() *Engine { + p.initOnce.Do(func() { + for _, pkg := range p.main.Prog.AllPackages() { + for _, m := range pkg.Members { + switch v := m.(type) { + case *ssa.Global: + cell := waops.Zero(waops.Deref(v.Type())) + p.setGlobal(v, &cell) + } + } + } + }) + return p +} + +type Frame struct { + //局部变量、虚拟寄存器等: + env map[ssa.Value]watypes.Value + + //返回值 + result watypes.Value + + //当前块 + block *ssa.BasicBlock + + //上一个块 + prevBlock *ssa.BasicBlock +} + +func NewFrame() *Frame { + f := &Frame{ + env: make(map[ssa.Value]watypes.Value), + } + return f +} + +// 读取值(nil/全局变量/虚拟寄存器等) +func (p *Engine) getValue(fr *Frame, key ssa.Value) watypes.Value { + switch key := key.(type) { + case *ssa.Global: + if r, ok := p.getGlobal(key); ok { + return r + } + case *ssa.Const: + return waops.ConstValue(key) + case nil: + return nil + } + + if r, ok := fr.env[key]; ok { + return r + } + + panic(fmt.Sprintf("get: no value for %T: %v", key, key.Name())) +} + +func (p *Engine) runFunc(fn watypes.Value, args []watypes.Value) watypes.Value { + if fn, ok := fn.(*ssa.Builtin); ok { + return callBuiltin(fn, args) + } + + if fn, ok := fn.(*ssa.Function); ok { + fr := NewFrame() + fr.block = fn.Blocks[0] + // 函数的参数添加到上下文环境 + for i, p := range fn.Params { + fr.env[p] = args[i] + } + + for fr.block != nil { + p.runFrame(fr) // 核心逻辑 + } + + return fr.result + } + + panic(fmt.Sprintf("unknown function: %v", fn)) +} + +func (p *Engine) runFrame(fr *Frame) { + for i := 0; i < len(fr.block.Instrs); i++ { + switch ins := fr.block.Instrs[i].(type) { + case *ssa.Store: + watypes.Store(waops.Deref(ins.Addr.Type()), p.getValue(fr, ins.Addr).(*watypes.Value), p.getValue(fr, ins.Val)) + + case *ssa.UnOp: + fr.env[ins] = waops.UnOp(ins, p.getValue(fr, ins.X)) + + case *ssa.Call: + args := p.prepareCall(fr, &ins.Call) + fr.env[ins] = p.runFunc(ins.Call.Value, args) + + case *ssa.Return: + switch len(ins.Results) { + case 0: + case 1: + fr.result = p.getValue(fr, ins.Results[0]) + default: + panic("multi-return is not supported") + } + fr.block = nil + return + } + } + + fr.block = nil +} + +func (p *Engine) prepareCall(fr *Frame, call *ssa.CallCommon) (args []watypes.Value) { + // 普通函数调用 + if call.Method != nil { + panic("method is not supported") + } + + for _, arg := range call.Args { + args = append(args, p.getValue(fr, arg)) + } + return +} + +func callBuiltin(fn *ssa.Builtin, args []watypes.Value) watypes.Value { + switch fn.Name() { + case "print", "println": // print(any, ...) + return wabuiltin.Print(fn, args) + } + + panic("unknown built-in: " + fn.Name()) +} diff --git a/ch14/examples/03-frame/wabuildin/print.go b/ch14/examples/03-frame/wabuildin/print.go new file mode 100644 index 0000000..cfb3345 --- /dev/null +++ b/ch14/examples/03-frame/wabuildin/print.go @@ -0,0 +1,29 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package wabuiltin + +import ( + "bytes" + "os" + + "github.com/wa-lang/ssago/03-frame/watypes" + "golang.org/x/tools/go/ssa" +) + +func Print(fn *ssa.Builtin, args []watypes.Value) ssa.Value { + ln := fn.Name() == "println" + var buf bytes.Buffer + + for i, arg := range args { + if i > 0 && ln { + buf.WriteRune(' ') + } + buf.WriteString(watypes.ToString(arg)) + } + if ln { + buf.WriteRune('\n') + } + + os.Stdout.Write(buf.Bytes()) + return nil +} diff --git a/ch14/examples/03-frame/waops/ops_const_value.go b/ch14/examples/03-frame/waops/ops_const_value.go new file mode 100644 index 0000000..2035e37 --- /dev/null +++ b/ch14/examples/03-frame/waops/ops_const_value.go @@ -0,0 +1,70 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/constant" + "go/types" + + "github.com/wa-lang/ssago/03-frame/watypes" + "golang.org/x/tools/go/ssa" +) + +// 从常量构造值 +func ConstValue(c *ssa.Const) watypes.Value { + return constValue(c) +} + +func constValue(c *ssa.Const) watypes.Value { + if c.IsNil() { + return Zero(c.Type()) // typed nil + } + + if t, ok := c.Type().Underlying().(*types.Basic); ok { + switch t.Kind() { + case types.String, types.UntypedString: + if c.Value.Kind() == constant.String { + return constant.StringVal(c.Value) + } + return string(rune(c.Int64())) + case types.Bool, types.UntypedBool: + return constant.BoolVal(c.Value) + case types.Int, types.UntypedInt: + // Assume sizeof(int) is same on host and target. + return int(c.Int64()) + case types.Int8: + return int8(c.Int64()) + case types.Int16: + return int16(c.Int64()) + case types.Int32, types.UntypedRune: + return int32(c.Int64()) + case types.Int64: + return c.Int64() + case types.Uint: + // Assume sizeof(uint) is same on host and target. + return uint(c.Uint64()) + case types.Uint8: + return uint8(c.Uint64()) + case types.Uint16: + return uint16(c.Uint64()) + case types.Uint32: + return uint32(c.Uint64()) + case types.Uint64: + return c.Uint64() + case types.Uintptr: + // Assume sizeof(uintptr) is same on host and target. + return uintptr(c.Uint64()) + case types.Float32: + return float32(c.Float64()) + case types.Float64, types.UntypedFloat: + return c.Float64() + case types.Complex64: + return complex64(c.Complex128()) + case types.Complex128, types.UntypedComplex: + return c.Complex128() + } + } + + panic(fmt.Sprintf("constValue: %s", c)) +} diff --git a/ch14/examples/03-frame/waops/ops_un_op.go b/ch14/examples/03-frame/waops/ops_un_op.go new file mode 100644 index 0000000..6977280 --- /dev/null +++ b/ch14/examples/03-frame/waops/ops_un_op.go @@ -0,0 +1,86 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + + "github.com/wa-lang/ssago/03-frame/watypes" + "golang.org/x/tools/go/ssa" +) + +// 一元运算符 +func UnOp(instr *ssa.UnOp, x watypes.Value) watypes.Value { + return unop(instr, x) +} + +func unop(instr *ssa.UnOp, x watypes.Value) watypes.Value { + switch instr.Op { + case token.MUL: // 指针类型 + return watypes.Load(Deref(instr.X.Type()), x.(*watypes.Value)) + + case token.NOT: // 非 + return !x.(bool) + + case token.SUB: + switch x := x.(type) { + case int: + return -x + case int8: + return -x + case int16: + return -x + case int32: + return -x + case int64: + return -x + case uint: + return -x + case uint8: + return -x + case uint16: + return -x + case uint32: + return -x + case uint64: + return -x + case uintptr: + return -x + case float32: + return -x + case float64: + return -x + case complex64: + return -x + case complex128: + return -x + } + case token.XOR: + switch x := x.(type) { + case int: + return ^x + case int8: + return ^x + case int16: + return ^x + case int32: + return ^x + case int64: + return ^x + case uint: + return ^x + case uint8: + return ^x + case uint16: + return ^x + case uint32: + return ^x + case uint64: + return ^x + case uintptr: + return ^x + } + } + panic(fmt.Sprintf("invalid unary op %s %T", instr.Op, x)) +} diff --git a/ch14/examples/03-frame/waops/ops_zero.go b/ch14/examples/03-frame/waops/ops_zero.go new file mode 100644 index 0000000..190b88b --- /dev/null +++ b/ch14/examples/03-frame/waops/ops_zero.go @@ -0,0 +1,71 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/types" + "unsafe" + + "github.com/wa-lang/ssago/03-frame/watypes" +) + +// 生成零值 +func Zero(t types.Type) watypes.Value { + return zero(t) +} + +func zero(t types.Type) watypes.Value { + switch t := t.(type) { + case *types.Basic: + if t.Kind() == types.UntypedNil { + panic("untyped nil has no zero value") + } + if t.Info()&types.IsUntyped != 0 { + t = types.Default(t).(*types.Basic) + } + switch t.Kind() { + case types.Bool: + return false + case types.Int: + return int(0) + case types.Int8: + return int8(0) + case types.Int16: + return int16(0) + case types.Int32: + return int32(0) + case types.Int64: + return int64(0) + case types.Uint: + return uint(0) + case types.Uint8: + return uint8(0) + case types.Uint16: + return uint16(0) + case types.Uint32: + return uint32(0) + case types.Uint64: + return uint64(0) + case types.Uintptr: + return uintptr(0) + case types.Float32: + return float32(0) + case types.Float64: + return float64(0) + case types.Complex64: + return complex64(0) + case types.Complex128: + return complex128(0) + case types.String: + return "" + case types.UnsafePointer: + return unsafe.Pointer(nil) + default: + panic(fmt.Sprint("zero for unexpected type:", t)) + } + case *types.Pointer: + return (*watypes.Value)(nil) + } + panic(fmt.Sprint("zero: unexpected ", t)) +} diff --git a/ch14/examples/03-frame/waops/utils.go b/ch14/examples/03-frame/waops/utils.go new file mode 100644 index 0000000..1ad85f5 --- /dev/null +++ b/ch14/examples/03-frame/waops/utils.go @@ -0,0 +1,15 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "go/types" +) + +// 对于指针获取指针指向的类型, 或者返回当前类型. +func Deref(typ types.Type) types.Type { + if p, ok := typ.Underlying().(*types.Pointer); ok { + return p.Elem() + } + return typ +} diff --git a/ch14/examples/03-frame/watypes/value.go b/ch14/examples/03-frame/watypes/value.go new file mode 100644 index 0000000..36fbde2 --- /dev/null +++ b/ch14/examples/03-frame/watypes/value.go @@ -0,0 +1,49 @@ +package watypes + +import ( + "bytes" + "fmt" + "go/types" + + "golang.org/x/tools/go/ssa" +) + +// Wa支持的值类型的抽象接口 +type Value interface{} + +// 返回地址addr处存储的T类型的值 +func Load(T types.Type, addr *Value) Value { + return *addr +} + +// 将类型为T的值v存入地址addr中 +func Store(T types.Type, addr *Value, v Value) { + *addr = v +} + +// ToString 输出Value的可读字符串 +func ToString(v Value) string { + var b bytes.Buffer + writeValue(&b, v) + return b.String() +} + +func writeValue(buf *bytes.Buffer, v Value) { + switch v := v.(type) { + case nil, bool, int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64, complex64, complex128, string: + fmt.Fprintf(buf, "%v", v) + + case *Value: + if v == nil { + buf.WriteString("") + } else { + fmt.Fprintf(buf, "%p", v) + } + + case *ssa.Function, *ssa.Builtin: + fmt.Fprintf(buf, "%p", v) // (an address) + + default: + fmt.Fprintf(buf, "<%T>", v) + } +} diff --git a/ch14/examples/04-bi-op/main.go b/ch14/examples/04-bi-op/main.go new file mode 100644 index 0000000..75410b9 --- /dev/null +++ b/ch14/examples/04-bi-op/main.go @@ -0,0 +1,63 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" + + "golang.org/x/tools/go/ssa" +) + +const src = ` +package main + +var i int + +func add(i int, j int) int{ + return i + j +} + +func main() { + i = 24 + println("The answer is:", i + 3 * add(2, 4)) +} +` + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "test.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: nil} + pkg, err := conf.Check("test.go", fset, []*ast.File{f}, info) + if err != nil { + log.Fatal(err) + } + + var ssaProg = ssa.NewProgram(fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + + ssaPkg.Build() + ssaPkg.WriteTo(os.Stdout) + ssaPkg.Func("main").WriteTo(os.Stdout) + ssaPkg.Func("add").WriteTo(os.Stdout) + + p := NewEngine(ssaPkg) + p.initGlobals() + + p.runFunc(ssaPkg.Func("main"), nil) +} diff --git a/ch14/examples/04-bi-op/run.go b/ch14/examples/04-bi-op/run.go new file mode 100644 index 0000000..9a24ef8 --- /dev/null +++ b/ch14/examples/04-bi-op/run.go @@ -0,0 +1,171 @@ +package main + +import ( + "fmt" + "sync" + + "github.com/wa-lang/ssago/04-bi-op/wabuildin" + "github.com/wa-lang/ssago/04-bi-op/waops" + "github.com/wa-lang/ssago/04-bi-op/watypes" + "golang.org/x/tools/go/ssa" +) + +type Engine struct { + main *ssa.Package + initOnce sync.Once + + // 全局变量 + globals map[string]*watypes.Value +} + +func NewEngine(mainpkg *ssa.Package) *Engine { + p := &Engine{ + main: mainpkg, + globals: make(map[string]*watypes.Value), + } + return p +} + +// 读全局变量 +func (p *Engine) getGlobal(key *ssa.Global) (v *watypes.Value, ok bool) { + v, ok = p.globals[key.RelString(nil)] + return +} + +// 设置全局变量 +func (p *Engine) setGlobal(key *ssa.Global, v *watypes.Value) { + p.globals[key.RelString(nil)] = v +} + +// 全局变量零值初始化 +func (p *Engine) initGlobals() *Engine { + p.initOnce.Do(func() { + for _, pkg := range p.main.Prog.AllPackages() { + for _, m := range pkg.Members { + switch v := m.(type) { + case *ssa.Global: + cell := waops.Zero(waops.Deref(v.Type())) + p.setGlobal(v, &cell) + } + } + } + }) + return p +} + +type Frame struct { + //局部变量、虚拟寄存器等: + env map[ssa.Value]watypes.Value + + //返回值 + result watypes.Value + + //当前块 + block *ssa.BasicBlock + + //上一个块 + prevBlock *ssa.BasicBlock +} + +func NewFrame() *Frame { + f := &Frame{ + env: make(map[ssa.Value]watypes.Value), + } + return f +} + +// 读取值(nil/全局变量/虚拟寄存器等) +func (p *Engine) getValue(fr *Frame, key ssa.Value) watypes.Value { + switch key := key.(type) { + case *ssa.Global: + if r, ok := p.getGlobal(key); ok { + return r + } + case *ssa.Const: + return waops.ConstValue(key) + case nil: + return nil + } + + if r, ok := fr.env[key]; ok { + return r + } + + panic(fmt.Sprintf("get: no value for %T: %v", key, key.Name())) +} + +func (p *Engine) runFunc(fn watypes.Value, args []watypes.Value) watypes.Value { + if fn, ok := fn.(*ssa.Builtin); ok { + return callBuiltin(fn, args) + } + + if fn, ok := fn.(*ssa.Function); ok { + fr := NewFrame() + fr.block = fn.Blocks[0] + // 函数的参数添加到上下文环境 + for i, p := range fn.Params { + fr.env[p] = args[i] + } + + for fr.block != nil { + p.runFrame(fr) // 核心逻辑 + } + + return fr.result + } + + panic(fmt.Sprintf("Unknown function: %v", fn)) +} + +func (p *Engine) runFrame(fr *Frame) { + for i := 0; i < len(fr.block.Instrs); i++ { + switch ins := fr.block.Instrs[i].(type) { + case *ssa.Store: + watypes.Store(waops.Deref(ins.Addr.Type()), p.getValue(fr, ins.Addr).(*watypes.Value), p.getValue(fr, ins.Val)) + + case *ssa.UnOp: + fr.env[ins] = waops.UnOp(ins, p.getValue(fr, ins.X)) + + case *ssa.BinOp: + fr.env[ins] = waops.BinOp(ins.Op, ins.X.Type(), p.getValue(fr, ins.X), p.getValue(fr, ins.Y)) + + case *ssa.Call: + args := p.prepareCall(fr, &ins.Call) + fr.env[ins] = p.runFunc(ins.Call.Value, args) + + case *ssa.Return: + switch len(ins.Results) { + case 0: + case 1: + fr.result = p.getValue(fr, ins.Results[0]) + default: + panic("multi-return is not supported") + } + fr.block = nil + return + } + } + + fr.block = nil +} + +func (p *Engine) prepareCall(fr *Frame, call *ssa.CallCommon) (args []watypes.Value) { + // 普通函数调用 + if call.Method != nil { + panic("method is not supported") + } + + for _, arg := range call.Args { + args = append(args, p.getValue(fr, arg)) + } + return +} + +func callBuiltin(fn *ssa.Builtin, args []watypes.Value) watypes.Value { + switch fn.Name() { + case "print", "println": // print(any, ...) + return wabuiltin.Print(fn, args) + } + + panic("unknown built-in: " + fn.Name()) +} diff --git a/ch14/examples/04-bi-op/wabuildin/print.go b/ch14/examples/04-bi-op/wabuildin/print.go new file mode 100644 index 0000000..132244a --- /dev/null +++ b/ch14/examples/04-bi-op/wabuildin/print.go @@ -0,0 +1,29 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package wabuiltin + +import ( + "bytes" + "os" + + "github.com/wa-lang/ssago/04-bi-op/watypes" + "golang.org/x/tools/go/ssa" +) + +func Print(fn *ssa.Builtin, args []watypes.Value) ssa.Value { + ln := fn.Name() == "println" + var buf bytes.Buffer + + for i, arg := range args { + if i > 0 && ln { + buf.WriteRune(' ') + } + buf.WriteString(watypes.ToString(arg)) + } + if ln { + buf.WriteRune('\n') + } + + os.Stdout.Write(buf.Bytes()) + return nil +} diff --git a/ch14/examples/04-bi-op/waops/ops_bin_op.go b/ch14/examples/04-bi-op/waops/ops_bin_op.go new file mode 100644 index 0000000..2b8e3da --- /dev/null +++ b/ch14/examples/04-bi-op/waops/ops_bin_op.go @@ -0,0 +1,422 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + "go/types" + + "github.com/wa-lang/ssago/04-bi-op/watypes" +) + +// 实现二元运算 +func BinOp(op token.Token, t types.Type, x, y watypes.Value) watypes.Value { + return binop(op, t, x, y) +} + +func binop(op token.Token, t types.Type, x, y watypes.Value) watypes.Value { + switch op { + case token.EQL: + return watypes.Equals(t, x, y) + case token.NEQ: + return !watypes.Equals(t, x, y) + + case token.ADD: + switch x.(type) { + case int: + return x.(int) + y.(int) + case int8: + return x.(int8) + y.(int8) + case int16: + return x.(int16) + y.(int16) + case int32: + return x.(int32) + y.(int32) + case int64: + return x.(int64) + y.(int64) + case uint: + return x.(uint) + y.(uint) + case uint8: + return x.(uint8) + y.(uint8) + case uint16: + return x.(uint16) + y.(uint16) + case uint32: + return x.(uint32) + y.(uint32) + case uint64: + return x.(uint64) + y.(uint64) + case uintptr: + return x.(uintptr) + y.(uintptr) + case float32: + return x.(float32) + y.(float32) + case float64: + return x.(float64) + y.(float64) + case complex64: + return x.(complex64) + y.(complex64) + case complex128: + return x.(complex128) + y.(complex128) + case string: + return x.(string) + y.(string) + } + + case token.SUB: + switch x.(type) { + case int: + return x.(int) - y.(int) + case int8: + return x.(int8) - y.(int8) + case int16: + return x.(int16) - y.(int16) + case int32: + return x.(int32) - y.(int32) + case int64: + return x.(int64) - y.(int64) + case uint: + return x.(uint) - y.(uint) + case uint8: + return x.(uint8) - y.(uint8) + case uint16: + return x.(uint16) - y.(uint16) + case uint32: + return x.(uint32) - y.(uint32) + case uint64: + return x.(uint64) - y.(uint64) + case uintptr: + return x.(uintptr) - y.(uintptr) + case float32: + return x.(float32) - y.(float32) + case float64: + return x.(float64) - y.(float64) + case complex64: + return x.(complex64) - y.(complex64) + case complex128: + return x.(complex128) - y.(complex128) + } + + case token.MUL: + switch x.(type) { + case int: + return x.(int) * y.(int) + case int8: + return x.(int8) * y.(int8) + case int16: + return x.(int16) * y.(int16) + case int32: + return x.(int32) * y.(int32) + case int64: + return x.(int64) * y.(int64) + case uint: + return x.(uint) * y.(uint) + case uint8: + return x.(uint8) * y.(uint8) + case uint16: + return x.(uint16) * y.(uint16) + case uint32: + return x.(uint32) * y.(uint32) + case uint64: + return x.(uint64) * y.(uint64) + case uintptr: + return x.(uintptr) * y.(uintptr) + case float32: + return x.(float32) * y.(float32) + case float64: + return x.(float64) * y.(float64) + case complex64: + return x.(complex64) * y.(complex64) + case complex128: + return x.(complex128) * y.(complex128) + } + + case token.QUO: + switch x.(type) { + case int: + return x.(int) / y.(int) + case int8: + return x.(int8) / y.(int8) + case int16: + return x.(int16) / y.(int16) + case int32: + return x.(int32) / y.(int32) + case int64: + return x.(int64) / y.(int64) + case uint: + return x.(uint) / y.(uint) + case uint8: + return x.(uint8) / y.(uint8) + case uint16: + return x.(uint16) / y.(uint16) + case uint32: + return x.(uint32) / y.(uint32) + case uint64: + return x.(uint64) / y.(uint64) + case uintptr: + return x.(uintptr) / y.(uintptr) + case float32: + return x.(float32) / y.(float32) + case float64: + return x.(float64) / y.(float64) + case complex64: + return x.(complex64) / y.(complex64) + case complex128: + return x.(complex128) / y.(complex128) + } + + case token.REM: + switch x.(type) { + case int: + return x.(int) % y.(int) + case int8: + return x.(int8) % y.(int8) + case int16: + return x.(int16) % y.(int16) + case int32: + return x.(int32) % y.(int32) + case int64: + return x.(int64) % y.(int64) + case uint: + return x.(uint) % y.(uint) + case uint8: + return x.(uint8) % y.(uint8) + case uint16: + return x.(uint16) % y.(uint16) + case uint32: + return x.(uint32) % y.(uint32) + case uint64: + return x.(uint64) % y.(uint64) + case uintptr: + return x.(uintptr) % y.(uintptr) + } + + case token.AND: + switch x.(type) { + case int: + return x.(int) & y.(int) + case int8: + return x.(int8) & y.(int8) + case int16: + return x.(int16) & y.(int16) + case int32: + return x.(int32) & y.(int32) + case int64: + return x.(int64) & y.(int64) + case uint: + return x.(uint) & y.(uint) + case uint8: + return x.(uint8) & y.(uint8) + case uint16: + return x.(uint16) & y.(uint16) + case uint32: + return x.(uint32) & y.(uint32) + case uint64: + return x.(uint64) & y.(uint64) + case uintptr: + return x.(uintptr) & y.(uintptr) + } + + case token.OR: + switch x.(type) { + case int: + return x.(int) | y.(int) + case int8: + return x.(int8) | y.(int8) + case int16: + return x.(int16) | y.(int16) + case int32: + return x.(int32) | y.(int32) + case int64: + return x.(int64) | y.(int64) + case uint: + return x.(uint) | y.(uint) + case uint8: + return x.(uint8) | y.(uint8) + case uint16: + return x.(uint16) | y.(uint16) + case uint32: + return x.(uint32) | y.(uint32) + case uint64: + return x.(uint64) | y.(uint64) + case uintptr: + return x.(uintptr) | y.(uintptr) + } + + case token.XOR: + switch x.(type) { + case int: + return x.(int) ^ y.(int) + case int8: + return x.(int8) ^ y.(int8) + case int16: + return x.(int16) ^ y.(int16) + case int32: + return x.(int32) ^ y.(int32) + case int64: + return x.(int64) ^ y.(int64) + case uint: + return x.(uint) ^ y.(uint) + case uint8: + return x.(uint8) ^ y.(uint8) + case uint16: + return x.(uint16) ^ y.(uint16) + case uint32: + return x.(uint32) ^ y.(uint32) + case uint64: + return x.(uint64) ^ y.(uint64) + case uintptr: + return x.(uintptr) ^ y.(uintptr) + } + + case token.AND_NOT: + switch x.(type) { + case int: + return x.(int) &^ y.(int) + case int8: + return x.(int8) &^ y.(int8) + case int16: + return x.(int16) &^ y.(int16) + case int32: + return x.(int32) &^ y.(int32) + case int64: + return x.(int64) &^ y.(int64) + case uint: + return x.(uint) &^ y.(uint) + case uint8: + return x.(uint8) &^ y.(uint8) + case uint16: + return x.(uint16) &^ y.(uint16) + case uint32: + return x.(uint32) &^ y.(uint32) + case uint64: + return x.(uint64) &^ y.(uint64) + case uintptr: + return x.(uintptr) &^ y.(uintptr) + } + + case token.LSS: + switch x.(type) { + case int: + return x.(int) < y.(int) + case int8: + return x.(int8) < y.(int8) + case int16: + return x.(int16) < y.(int16) + case int32: + return x.(int32) < y.(int32) + case int64: + return x.(int64) < y.(int64) + case uint: + return x.(uint) < y.(uint) + case uint8: + return x.(uint8) < y.(uint8) + case uint16: + return x.(uint16) < y.(uint16) + case uint32: + return x.(uint32) < y.(uint32) + case uint64: + return x.(uint64) < y.(uint64) + case uintptr: + return x.(uintptr) < y.(uintptr) + case float32: + return x.(float32) < y.(float32) + case float64: + return x.(float64) < y.(float64) + case string: + return x.(string) < y.(string) + } + + case token.LEQ: + switch x.(type) { + case int: + return x.(int) <= y.(int) + case int8: + return x.(int8) <= y.(int8) + case int16: + return x.(int16) <= y.(int16) + case int32: + return x.(int32) <= y.(int32) + case int64: + return x.(int64) <= y.(int64) + case uint: + return x.(uint) <= y.(uint) + case uint8: + return x.(uint8) <= y.(uint8) + case uint16: + return x.(uint16) <= y.(uint16) + case uint32: + return x.(uint32) <= y.(uint32) + case uint64: + return x.(uint64) <= y.(uint64) + case uintptr: + return x.(uintptr) <= y.(uintptr) + case float32: + return x.(float32) <= y.(float32) + case float64: + return x.(float64) <= y.(float64) + case string: + return x.(string) <= y.(string) + } + + case token.GTR: + switch x.(type) { + case int: + return x.(int) > y.(int) + case int8: + return x.(int8) > y.(int8) + case int16: + return x.(int16) > y.(int16) + case int32: + return x.(int32) > y.(int32) + case int64: + return x.(int64) > y.(int64) + case uint: + return x.(uint) > y.(uint) + case uint8: + return x.(uint8) > y.(uint8) + case uint16: + return x.(uint16) > y.(uint16) + case uint32: + return x.(uint32) > y.(uint32) + case uint64: + return x.(uint64) > y.(uint64) + case uintptr: + return x.(uintptr) > y.(uintptr) + case float32: + return x.(float32) > y.(float32) + case float64: + return x.(float64) > y.(float64) + case string: + return x.(string) > y.(string) + } + + case token.GEQ: + switch x.(type) { + case int: + return x.(int) >= y.(int) + case int8: + return x.(int8) >= y.(int8) + case int16: + return x.(int16) >= y.(int16) + case int32: + return x.(int32) >= y.(int32) + case int64: + return x.(int64) >= y.(int64) + case uint: + return x.(uint) >= y.(uint) + case uint8: + return x.(uint8) >= y.(uint8) + case uint16: + return x.(uint16) >= y.(uint16) + case uint32: + return x.(uint32) >= y.(uint32) + case uint64: + return x.(uint64) >= y.(uint64) + case uintptr: + return x.(uintptr) >= y.(uintptr) + case float32: + return x.(float32) >= y.(float32) + case float64: + return x.(float64) >= y.(float64) + case string: + return x.(string) >= y.(string) + } + } + panic(fmt.Sprintf("invalid binary op: %T %s %T", x, op, y)) +} diff --git a/ch14/examples/04-bi-op/waops/ops_const_value.go b/ch14/examples/04-bi-op/waops/ops_const_value.go new file mode 100644 index 0000000..b7fe3a9 --- /dev/null +++ b/ch14/examples/04-bi-op/waops/ops_const_value.go @@ -0,0 +1,70 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/constant" + "go/types" + + "github.com/wa-lang/ssago/04-bi-op/watypes" + "golang.org/x/tools/go/ssa" +) + +// 从常量构造值 +func ConstValue(c *ssa.Const) watypes.Value { + return constValue(c) +} + +func constValue(c *ssa.Const) watypes.Value { + if c.IsNil() { + return Zero(c.Type()) // typed nil + } + + if t, ok := c.Type().Underlying().(*types.Basic); ok { + switch t.Kind() { + case types.String, types.UntypedString: + if c.Value.Kind() == constant.String { + return constant.StringVal(c.Value) + } + return string(rune(c.Int64())) + case types.Bool, types.UntypedBool: + return constant.BoolVal(c.Value) + case types.Int, types.UntypedInt: + // Assume sizeof(int) is same on host and target. + return int(c.Int64()) + case types.Int8: + return int8(c.Int64()) + case types.Int16: + return int16(c.Int64()) + case types.Int32, types.UntypedRune: + return int32(c.Int64()) + case types.Int64: + return c.Int64() + case types.Uint: + // Assume sizeof(uint) is same on host and target. + return uint(c.Uint64()) + case types.Uint8: + return uint8(c.Uint64()) + case types.Uint16: + return uint16(c.Uint64()) + case types.Uint32: + return uint32(c.Uint64()) + case types.Uint64: + return c.Uint64() + case types.Uintptr: + // Assume sizeof(uintptr) is same on host and target. + return uintptr(c.Uint64()) + case types.Float32: + return float32(c.Float64()) + case types.Float64, types.UntypedFloat: + return c.Float64() + case types.Complex64: + return complex64(c.Complex128()) + case types.Complex128, types.UntypedComplex: + return c.Complex128() + } + } + + panic(fmt.Sprintf("constValue: %s", c)) +} diff --git a/ch14/examples/04-bi-op/waops/ops_un_op.go b/ch14/examples/04-bi-op/waops/ops_un_op.go new file mode 100644 index 0000000..928f59d --- /dev/null +++ b/ch14/examples/04-bi-op/waops/ops_un_op.go @@ -0,0 +1,86 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + + "github.com/wa-lang/ssago/04-bi-op/watypes" + "golang.org/x/tools/go/ssa" +) + +// 一元运算符 +func UnOp(instr *ssa.UnOp, x watypes.Value) watypes.Value { + return unop(instr, x) +} + +func unop(instr *ssa.UnOp, x watypes.Value) watypes.Value { + switch instr.Op { + case token.MUL: // 指针类型 + return watypes.Load(Deref(instr.X.Type()), x.(*watypes.Value)) + + case token.NOT: // 非 + return !x.(bool) + + case token.SUB: + switch x := x.(type) { + case int: + return -x + case int8: + return -x + case int16: + return -x + case int32: + return -x + case int64: + return -x + case uint: + return -x + case uint8: + return -x + case uint16: + return -x + case uint32: + return -x + case uint64: + return -x + case uintptr: + return -x + case float32: + return -x + case float64: + return -x + case complex64: + return -x + case complex128: + return -x + } + case token.XOR: + switch x := x.(type) { + case int: + return ^x + case int8: + return ^x + case int16: + return ^x + case int32: + return ^x + case int64: + return ^x + case uint: + return ^x + case uint8: + return ^x + case uint16: + return ^x + case uint32: + return ^x + case uint64: + return ^x + case uintptr: + return ^x + } + } + panic(fmt.Sprintf("invalid unary op %s %T", instr.Op, x)) +} diff --git a/ch14/examples/04-bi-op/waops/ops_zero.go b/ch14/examples/04-bi-op/waops/ops_zero.go new file mode 100644 index 0000000..6951dfa --- /dev/null +++ b/ch14/examples/04-bi-op/waops/ops_zero.go @@ -0,0 +1,71 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/types" + "unsafe" + + "github.com/wa-lang/ssago/04-bi-op/watypes" +) + +// 生成零值 +func Zero(t types.Type) watypes.Value { + return zero(t) +} + +func zero(t types.Type) watypes.Value { + switch t := t.(type) { + case *types.Basic: + if t.Kind() == types.UntypedNil { + panic("untyped nil has no zero value") + } + if t.Info()&types.IsUntyped != 0 { + t = types.Default(t).(*types.Basic) + } + switch t.Kind() { + case types.Bool: + return false + case types.Int: + return int(0) + case types.Int8: + return int8(0) + case types.Int16: + return int16(0) + case types.Int32: + return int32(0) + case types.Int64: + return int64(0) + case types.Uint: + return uint(0) + case types.Uint8: + return uint8(0) + case types.Uint16: + return uint16(0) + case types.Uint32: + return uint32(0) + case types.Uint64: + return uint64(0) + case types.Uintptr: + return uintptr(0) + case types.Float32: + return float32(0) + case types.Float64: + return float64(0) + case types.Complex64: + return complex64(0) + case types.Complex128: + return complex128(0) + case types.String: + return "" + case types.UnsafePointer: + return unsafe.Pointer(nil) + default: + panic(fmt.Sprint("zero for unexpected type:", t)) + } + case *types.Pointer: + return (*watypes.Value)(nil) + } + panic(fmt.Sprint("zero: unexpected ", t)) +} diff --git a/ch14/examples/04-bi-op/waops/utils.go b/ch14/examples/04-bi-op/waops/utils.go new file mode 100644 index 0000000..1ad85f5 --- /dev/null +++ b/ch14/examples/04-bi-op/waops/utils.go @@ -0,0 +1,15 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "go/types" +) + +// 对于指针获取指针指向的类型, 或者返回当前类型. +func Deref(typ types.Type) types.Type { + if p, ok := typ.Underlying().(*types.Pointer); ok { + return p.Elem() + } + return typ +} diff --git a/ch14/examples/04-bi-op/watypes/value.go b/ch14/examples/04-bi-op/watypes/value.go new file mode 100644 index 0000000..bd92004 --- /dev/null +++ b/ch14/examples/04-bi-op/watypes/value.go @@ -0,0 +1,92 @@ +package watypes + +import ( + "bytes" + "fmt" + "go/types" + + "golang.org/x/tools/go/ssa" +) + +// Wa支持的值类型的抽象接口 +type Value interface{} + +// 返回地址addr处存储的T类型的值 +func Load(T types.Type, addr *Value) Value { + return *addr +} + +// 将类型为T的值v存入地址addr中 +func Store(T types.Type, addr *Value, v Value) { + *addr = v +} + +// ToString 输出Value的可读字符串 +func ToString(v Value) string { + var b bytes.Buffer + writeValue(&b, v) + return b.String() +} + +func writeValue(buf *bytes.Buffer, v Value) { + switch v := v.(type) { + case nil, bool, int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64, complex64, complex128, string: + fmt.Fprintf(buf, "%v", v) + + case *Value: + if v == nil { + buf.WriteString("") + } else { + fmt.Fprintf(buf, "%p", v) + } + + case *ssa.Function, *ssa.Builtin: + fmt.Fprintf(buf, "%p", v) // (an address) + + default: + fmt.Fprintf(buf, "<%T>", v) + } +} + +func Equals(t types.Type, x, y Value) bool { + switch x := x.(type) { + case bool: + return x == y.(bool) + case int: + return x == y.(int) + case int8: + return x == y.(int8) + case int16: + return x == y.(int16) + case int32: + return x == y.(int32) + case int64: + return x == y.(int64) + case uint: + return x == y.(uint) + case uint8: + return x == y.(uint8) + case uint16: + return x == y.(uint16) + case uint32: + return x == y.(uint32) + case uint64: + return x == y.(uint64) + case uintptr: + return x == y.(uintptr) + case float32: + return x == y.(float32) + case float64: + return x == y.(float64) + case complex64: + return x == y.(complex64) + case complex128: + return x == y.(complex128) + case string: + return x == y.(string) + case *Value: + return x == y.(*Value) + } + + panic(fmt.Sprintf("comparing uncomparable type %s", t)) +} diff --git a/ch14/examples/05-branch/main.go b/ch14/examples/05-branch/main.go new file mode 100644 index 0000000..164b902 --- /dev/null +++ b/ch14/examples/05-branch/main.go @@ -0,0 +1,79 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" + + "golang.org/x/tools/go/ssa" +) + +const src = ` +package main + +func add(i int, j int) int{ + return i + j +} + +func fib(n int){ + t1, t2 := 0, 1 + for k:= 0; k < n; k++{ + print(t2, " ") + next := t1 + t2 + t1 = t2 + t2 = next + } +} + +func main() { + var i int + if add(3, 5) < 9{ + println("branch 0") + i = 13 + } else{ + println("branch 1") + i = 42 + } + + fib(i) +} +` + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "test.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: nil} + pkg, err := conf.Check("test.go", fset, []*ast.File{f}, info) + if err != nil { + log.Fatal(err) + } + + var ssaProg = ssa.NewProgram(fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + + ssaPkg.Build() + ssaPkg.WriteTo(os.Stdout) + ssaPkg.Func("main").WriteTo(os.Stdout) + ssaPkg.Func("fib").WriteTo(os.Stdout) + + p := NewEngine(ssaPkg) + p.initGlobals() + + p.runFunc(ssaPkg.Func("main"), nil) +} diff --git a/ch14/examples/05-branch/run.go b/ch14/examples/05-branch/run.go new file mode 100644 index 0000000..1bd0f40 --- /dev/null +++ b/ch14/examples/05-branch/run.go @@ -0,0 +1,197 @@ +package main + +import ( + "fmt" + "sync" + + "github.com/wa-lang/ssago/05-branch/wabuildin" + "github.com/wa-lang/ssago/05-branch/waops" + "github.com/wa-lang/ssago/05-branch/watypes" + "golang.org/x/tools/go/ssa" +) + +type Engine struct { + main *ssa.Package + initOnce sync.Once + + // 全局变量 + globals map[string]*watypes.Value +} + +func NewEngine(mainpkg *ssa.Package) *Engine { + p := &Engine{ + main: mainpkg, + globals: make(map[string]*watypes.Value), + } + return p +} + +// 读全局变量 +func (p *Engine) getGlobal(key *ssa.Global) (v *watypes.Value, ok bool) { + v, ok = p.globals[key.RelString(nil)] + return +} + +// 设置全局变量 +func (p *Engine) setGlobal(key *ssa.Global, v *watypes.Value) { + p.globals[key.RelString(nil)] = v +} + +// 全局变量零值初始化 +func (p *Engine) initGlobals() *Engine { + p.initOnce.Do(func() { + for _, pkg := range p.main.Prog.AllPackages() { + for _, m := range pkg.Members { + switch v := m.(type) { + case *ssa.Global: + cell := waops.Zero(waops.Deref(v.Type())) + p.setGlobal(v, &cell) + } + } + } + }) + return p +} + +type Frame struct { + //局部变量、虚拟寄存器等: + env map[ssa.Value]watypes.Value + + //返回值 + result watypes.Value + + //当前块 + block *ssa.BasicBlock + + //上一个块 + prevBlock *ssa.BasicBlock +} + +func NewFrame() *Frame { + f := &Frame{ + env: make(map[ssa.Value]watypes.Value), + } + return f +} + +// 读取值(nil/全局变量/虚拟寄存器等) +func (p *Engine) getValue(fr *Frame, key ssa.Value) watypes.Value { + switch key := key.(type) { + case *ssa.Global: + if r, ok := p.getGlobal(key); ok { + return r + } + case *ssa.Const: + return waops.ConstValue(key) + case nil: + return nil + } + + if r, ok := fr.env[key]; ok { + return r + } + + panic(fmt.Sprintf("get: no value for %T: %v", key, key.Name())) +} + +func (p *Engine) runFunc(fn watypes.Value, args []watypes.Value) watypes.Value { + if fn, ok := fn.(*ssa.Builtin); ok { + return callBuiltin(fn, args) + } + + if fn, ok := fn.(*ssa.Function); ok { + fr := NewFrame() + fr.block = fn.Blocks[0] + // 函数的参数添加到上下文环境 + for i, p := range fn.Params { + fr.env[p] = args[i] + } + + for fr.block != nil { + p.runFrame(fr) // 核心逻辑 + } + + return fr.result + } + + panic(fmt.Sprintf("Unknown function: %v", fn)) +} + +func (p *Engine) runFrame(fr *Frame) { + for i := 0; i < len(fr.block.Instrs); i++ { + switch ins := fr.block.Instrs[i].(type) { + case *ssa.Store: + watypes.Store(waops.Deref(ins.Addr.Type()), p.getValue(fr, ins.Addr).(*watypes.Value), p.getValue(fr, ins.Val)) + + case *ssa.UnOp: + fr.env[ins] = waops.UnOp(ins, p.getValue(fr, ins.X)) + + case *ssa.BinOp: + fr.env[ins] = waops.BinOp(ins.Op, ins.X.Type(), p.getValue(fr, ins.X), p.getValue(fr, ins.Y)) + + case *ssa.Call: + args := p.prepareCall(fr, &ins.Call) + fr.env[ins] = p.runFunc(ins.Call.Value, args) + + case *ssa.Return: + switch len(ins.Results) { + case 0: + case 1: + fr.result = p.getValue(fr, ins.Results[0]) + default: + panic("multi-return is not supported") + } + fr.block = nil + return + + case *ssa.If: + if p.getValue(fr, ins.Cond).(bool) { + //println("if:true, goto block:", fr.block.Succs[0].String()) + fr.prevBlock, fr.block = fr.block, fr.block.Succs[0] // true + } else { + //println("if:false, goto block:", fr.block.Succs[1].String()) + fr.prevBlock, fr.block = fr.block, fr.block.Succs[1] // false + } + return + + case *ssa.Jump: + //println("jump to block:", fr.block.Succs[0].String()) + fr.prevBlock, fr.block = fr.block, fr.block.Succs[0] + return + + case *ssa.Phi: + for i, pred := range ins.Block().Preds { + if fr.prevBlock == pred { + fr.env[ins] = p.getValue(fr, ins.Edges[i]) + break + } + } + + default: + panic(fmt.Sprintf("Unknown instruction: %v", ins)) + } + } + + fr.block = nil +} + +func (p *Engine) prepareCall(fr *Frame, call *ssa.CallCommon) (args []watypes.Value) { + // 普通函数调用 + if call.Method != nil { + panic("method is not supported") + } + + for _, arg := range call.Args { + args = append(args, p.getValue(fr, arg)) + } + return +} + +func callBuiltin(fn *ssa.Builtin, args []watypes.Value) watypes.Value { + switch fn.Name() { + case "print", "println": // print(any, ...) + return wabuiltin.Print(fn, args) + } + + panic("unknown built-in: " + fn.Name()) +} diff --git a/ch14/examples/05-branch/wabuildin/print.go b/ch14/examples/05-branch/wabuildin/print.go new file mode 100644 index 0000000..e2dce51 --- /dev/null +++ b/ch14/examples/05-branch/wabuildin/print.go @@ -0,0 +1,29 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package wabuiltin + +import ( + "bytes" + "os" + + "github.com/wa-lang/ssago/05-branch/watypes" + "golang.org/x/tools/go/ssa" +) + +func Print(fn *ssa.Builtin, args []watypes.Value) ssa.Value { + ln := fn.Name() == "println" + var buf bytes.Buffer + + for i, arg := range args { + if i > 0 && ln { + buf.WriteRune(' ') + } + buf.WriteString(watypes.ToString(arg)) + } + if ln { + buf.WriteRune('\n') + } + + os.Stdout.Write(buf.Bytes()) + return nil +} diff --git a/ch14/examples/05-branch/waops/ops_bin_op.go b/ch14/examples/05-branch/waops/ops_bin_op.go new file mode 100644 index 0000000..078eaa5 --- /dev/null +++ b/ch14/examples/05-branch/waops/ops_bin_op.go @@ -0,0 +1,422 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + "go/types" + + "github.com/wa-lang/ssago/05-branch/watypes" +) + +// 实现二元运算 +func BinOp(op token.Token, t types.Type, x, y watypes.Value) watypes.Value { + return binop(op, t, x, y) +} + +func binop(op token.Token, t types.Type, x, y watypes.Value) watypes.Value { + switch op { + case token.EQL: + return watypes.Equals(t, x, y) + case token.NEQ: + return !watypes.Equals(t, x, y) + + case token.ADD: + switch x.(type) { + case int: + return x.(int) + y.(int) + case int8: + return x.(int8) + y.(int8) + case int16: + return x.(int16) + y.(int16) + case int32: + return x.(int32) + y.(int32) + case int64: + return x.(int64) + y.(int64) + case uint: + return x.(uint) + y.(uint) + case uint8: + return x.(uint8) + y.(uint8) + case uint16: + return x.(uint16) + y.(uint16) + case uint32: + return x.(uint32) + y.(uint32) + case uint64: + return x.(uint64) + y.(uint64) + case uintptr: + return x.(uintptr) + y.(uintptr) + case float32: + return x.(float32) + y.(float32) + case float64: + return x.(float64) + y.(float64) + case complex64: + return x.(complex64) + y.(complex64) + case complex128: + return x.(complex128) + y.(complex128) + case string: + return x.(string) + y.(string) + } + + case token.SUB: + switch x.(type) { + case int: + return x.(int) - y.(int) + case int8: + return x.(int8) - y.(int8) + case int16: + return x.(int16) - y.(int16) + case int32: + return x.(int32) - y.(int32) + case int64: + return x.(int64) - y.(int64) + case uint: + return x.(uint) - y.(uint) + case uint8: + return x.(uint8) - y.(uint8) + case uint16: + return x.(uint16) - y.(uint16) + case uint32: + return x.(uint32) - y.(uint32) + case uint64: + return x.(uint64) - y.(uint64) + case uintptr: + return x.(uintptr) - y.(uintptr) + case float32: + return x.(float32) - y.(float32) + case float64: + return x.(float64) - y.(float64) + case complex64: + return x.(complex64) - y.(complex64) + case complex128: + return x.(complex128) - y.(complex128) + } + + case token.MUL: + switch x.(type) { + case int: + return x.(int) * y.(int) + case int8: + return x.(int8) * y.(int8) + case int16: + return x.(int16) * y.(int16) + case int32: + return x.(int32) * y.(int32) + case int64: + return x.(int64) * y.(int64) + case uint: + return x.(uint) * y.(uint) + case uint8: + return x.(uint8) * y.(uint8) + case uint16: + return x.(uint16) * y.(uint16) + case uint32: + return x.(uint32) * y.(uint32) + case uint64: + return x.(uint64) * y.(uint64) + case uintptr: + return x.(uintptr) * y.(uintptr) + case float32: + return x.(float32) * y.(float32) + case float64: + return x.(float64) * y.(float64) + case complex64: + return x.(complex64) * y.(complex64) + case complex128: + return x.(complex128) * y.(complex128) + } + + case token.QUO: + switch x.(type) { + case int: + return x.(int) / y.(int) + case int8: + return x.(int8) / y.(int8) + case int16: + return x.(int16) / y.(int16) + case int32: + return x.(int32) / y.(int32) + case int64: + return x.(int64) / y.(int64) + case uint: + return x.(uint) / y.(uint) + case uint8: + return x.(uint8) / y.(uint8) + case uint16: + return x.(uint16) / y.(uint16) + case uint32: + return x.(uint32) / y.(uint32) + case uint64: + return x.(uint64) / y.(uint64) + case uintptr: + return x.(uintptr) / y.(uintptr) + case float32: + return x.(float32) / y.(float32) + case float64: + return x.(float64) / y.(float64) + case complex64: + return x.(complex64) / y.(complex64) + case complex128: + return x.(complex128) / y.(complex128) + } + + case token.REM: + switch x.(type) { + case int: + return x.(int) % y.(int) + case int8: + return x.(int8) % y.(int8) + case int16: + return x.(int16) % y.(int16) + case int32: + return x.(int32) % y.(int32) + case int64: + return x.(int64) % y.(int64) + case uint: + return x.(uint) % y.(uint) + case uint8: + return x.(uint8) % y.(uint8) + case uint16: + return x.(uint16) % y.(uint16) + case uint32: + return x.(uint32) % y.(uint32) + case uint64: + return x.(uint64) % y.(uint64) + case uintptr: + return x.(uintptr) % y.(uintptr) + } + + case token.AND: + switch x.(type) { + case int: + return x.(int) & y.(int) + case int8: + return x.(int8) & y.(int8) + case int16: + return x.(int16) & y.(int16) + case int32: + return x.(int32) & y.(int32) + case int64: + return x.(int64) & y.(int64) + case uint: + return x.(uint) & y.(uint) + case uint8: + return x.(uint8) & y.(uint8) + case uint16: + return x.(uint16) & y.(uint16) + case uint32: + return x.(uint32) & y.(uint32) + case uint64: + return x.(uint64) & y.(uint64) + case uintptr: + return x.(uintptr) & y.(uintptr) + } + + case token.OR: + switch x.(type) { + case int: + return x.(int) | y.(int) + case int8: + return x.(int8) | y.(int8) + case int16: + return x.(int16) | y.(int16) + case int32: + return x.(int32) | y.(int32) + case int64: + return x.(int64) | y.(int64) + case uint: + return x.(uint) | y.(uint) + case uint8: + return x.(uint8) | y.(uint8) + case uint16: + return x.(uint16) | y.(uint16) + case uint32: + return x.(uint32) | y.(uint32) + case uint64: + return x.(uint64) | y.(uint64) + case uintptr: + return x.(uintptr) | y.(uintptr) + } + + case token.XOR: + switch x.(type) { + case int: + return x.(int) ^ y.(int) + case int8: + return x.(int8) ^ y.(int8) + case int16: + return x.(int16) ^ y.(int16) + case int32: + return x.(int32) ^ y.(int32) + case int64: + return x.(int64) ^ y.(int64) + case uint: + return x.(uint) ^ y.(uint) + case uint8: + return x.(uint8) ^ y.(uint8) + case uint16: + return x.(uint16) ^ y.(uint16) + case uint32: + return x.(uint32) ^ y.(uint32) + case uint64: + return x.(uint64) ^ y.(uint64) + case uintptr: + return x.(uintptr) ^ y.(uintptr) + } + + case token.AND_NOT: + switch x.(type) { + case int: + return x.(int) &^ y.(int) + case int8: + return x.(int8) &^ y.(int8) + case int16: + return x.(int16) &^ y.(int16) + case int32: + return x.(int32) &^ y.(int32) + case int64: + return x.(int64) &^ y.(int64) + case uint: + return x.(uint) &^ y.(uint) + case uint8: + return x.(uint8) &^ y.(uint8) + case uint16: + return x.(uint16) &^ y.(uint16) + case uint32: + return x.(uint32) &^ y.(uint32) + case uint64: + return x.(uint64) &^ y.(uint64) + case uintptr: + return x.(uintptr) &^ y.(uintptr) + } + + case token.LSS: + switch x.(type) { + case int: + return x.(int) < y.(int) + case int8: + return x.(int8) < y.(int8) + case int16: + return x.(int16) < y.(int16) + case int32: + return x.(int32) < y.(int32) + case int64: + return x.(int64) < y.(int64) + case uint: + return x.(uint) < y.(uint) + case uint8: + return x.(uint8) < y.(uint8) + case uint16: + return x.(uint16) < y.(uint16) + case uint32: + return x.(uint32) < y.(uint32) + case uint64: + return x.(uint64) < y.(uint64) + case uintptr: + return x.(uintptr) < y.(uintptr) + case float32: + return x.(float32) < y.(float32) + case float64: + return x.(float64) < y.(float64) + case string: + return x.(string) < y.(string) + } + + case token.LEQ: + switch x.(type) { + case int: + return x.(int) <= y.(int) + case int8: + return x.(int8) <= y.(int8) + case int16: + return x.(int16) <= y.(int16) + case int32: + return x.(int32) <= y.(int32) + case int64: + return x.(int64) <= y.(int64) + case uint: + return x.(uint) <= y.(uint) + case uint8: + return x.(uint8) <= y.(uint8) + case uint16: + return x.(uint16) <= y.(uint16) + case uint32: + return x.(uint32) <= y.(uint32) + case uint64: + return x.(uint64) <= y.(uint64) + case uintptr: + return x.(uintptr) <= y.(uintptr) + case float32: + return x.(float32) <= y.(float32) + case float64: + return x.(float64) <= y.(float64) + case string: + return x.(string) <= y.(string) + } + + case token.GTR: + switch x.(type) { + case int: + return x.(int) > y.(int) + case int8: + return x.(int8) > y.(int8) + case int16: + return x.(int16) > y.(int16) + case int32: + return x.(int32) > y.(int32) + case int64: + return x.(int64) > y.(int64) + case uint: + return x.(uint) > y.(uint) + case uint8: + return x.(uint8) > y.(uint8) + case uint16: + return x.(uint16) > y.(uint16) + case uint32: + return x.(uint32) > y.(uint32) + case uint64: + return x.(uint64) > y.(uint64) + case uintptr: + return x.(uintptr) > y.(uintptr) + case float32: + return x.(float32) > y.(float32) + case float64: + return x.(float64) > y.(float64) + case string: + return x.(string) > y.(string) + } + + case token.GEQ: + switch x.(type) { + case int: + return x.(int) >= y.(int) + case int8: + return x.(int8) >= y.(int8) + case int16: + return x.(int16) >= y.(int16) + case int32: + return x.(int32) >= y.(int32) + case int64: + return x.(int64) >= y.(int64) + case uint: + return x.(uint) >= y.(uint) + case uint8: + return x.(uint8) >= y.(uint8) + case uint16: + return x.(uint16) >= y.(uint16) + case uint32: + return x.(uint32) >= y.(uint32) + case uint64: + return x.(uint64) >= y.(uint64) + case uintptr: + return x.(uintptr) >= y.(uintptr) + case float32: + return x.(float32) >= y.(float32) + case float64: + return x.(float64) >= y.(float64) + case string: + return x.(string) >= y.(string) + } + } + panic(fmt.Sprintf("invalid binary op: %T %s %T", x, op, y)) +} diff --git a/ch14/examples/05-branch/waops/ops_const_value.go b/ch14/examples/05-branch/waops/ops_const_value.go new file mode 100644 index 0000000..8cdfbdf --- /dev/null +++ b/ch14/examples/05-branch/waops/ops_const_value.go @@ -0,0 +1,70 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/constant" + "go/types" + + "github.com/wa-lang/ssago/05-branch/watypes" + "golang.org/x/tools/go/ssa" +) + +// 从常量构造值 +func ConstValue(c *ssa.Const) watypes.Value { + return constValue(c) +} + +func constValue(c *ssa.Const) watypes.Value { + if c.IsNil() { + return Zero(c.Type()) // typed nil + } + + if t, ok := c.Type().Underlying().(*types.Basic); ok { + switch t.Kind() { + case types.String, types.UntypedString: + if c.Value.Kind() == constant.String { + return constant.StringVal(c.Value) + } + return string(rune(c.Int64())) + case types.Bool, types.UntypedBool: + return constant.BoolVal(c.Value) + case types.Int, types.UntypedInt: + // Assume sizeof(int) is same on host and target. + return int(c.Int64()) + case types.Int8: + return int8(c.Int64()) + case types.Int16: + return int16(c.Int64()) + case types.Int32, types.UntypedRune: + return int32(c.Int64()) + case types.Int64: + return c.Int64() + case types.Uint: + // Assume sizeof(uint) is same on host and target. + return uint(c.Uint64()) + case types.Uint8: + return uint8(c.Uint64()) + case types.Uint16: + return uint16(c.Uint64()) + case types.Uint32: + return uint32(c.Uint64()) + case types.Uint64: + return c.Uint64() + case types.Uintptr: + // Assume sizeof(uintptr) is same on host and target. + return uintptr(c.Uint64()) + case types.Float32: + return float32(c.Float64()) + case types.Float64, types.UntypedFloat: + return c.Float64() + case types.Complex64: + return complex64(c.Complex128()) + case types.Complex128, types.UntypedComplex: + return c.Complex128() + } + } + + panic(fmt.Sprintf("constValue: %s", c)) +} diff --git a/ch14/examples/05-branch/waops/ops_un_op.go b/ch14/examples/05-branch/waops/ops_un_op.go new file mode 100644 index 0000000..10c2439 --- /dev/null +++ b/ch14/examples/05-branch/waops/ops_un_op.go @@ -0,0 +1,86 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + + "github.com/wa-lang/ssago/05-branch/watypes" + "golang.org/x/tools/go/ssa" +) + +// 一元运算符 +func UnOp(instr *ssa.UnOp, x watypes.Value) watypes.Value { + return unop(instr, x) +} + +func unop(instr *ssa.UnOp, x watypes.Value) watypes.Value { + switch instr.Op { + case token.MUL: // 指针类型 + return watypes.Load(Deref(instr.X.Type()), x.(*watypes.Value)) + + case token.NOT: // 非 + return !x.(bool) + + case token.SUB: + switch x := x.(type) { + case int: + return -x + case int8: + return -x + case int16: + return -x + case int32: + return -x + case int64: + return -x + case uint: + return -x + case uint8: + return -x + case uint16: + return -x + case uint32: + return -x + case uint64: + return -x + case uintptr: + return -x + case float32: + return -x + case float64: + return -x + case complex64: + return -x + case complex128: + return -x + } + case token.XOR: + switch x := x.(type) { + case int: + return ^x + case int8: + return ^x + case int16: + return ^x + case int32: + return ^x + case int64: + return ^x + case uint: + return ^x + case uint8: + return ^x + case uint16: + return ^x + case uint32: + return ^x + case uint64: + return ^x + case uintptr: + return ^x + } + } + panic(fmt.Sprintf("invalid unary op %s %T", instr.Op, x)) +} diff --git a/ch14/examples/05-branch/waops/ops_zero.go b/ch14/examples/05-branch/waops/ops_zero.go new file mode 100644 index 0000000..7da23eb --- /dev/null +++ b/ch14/examples/05-branch/waops/ops_zero.go @@ -0,0 +1,71 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/types" + "unsafe" + + "github.com/wa-lang/ssago/05-branch/watypes" +) + +// 生成零值 +func Zero(t types.Type) watypes.Value { + return zero(t) +} + +func zero(t types.Type) watypes.Value { + switch t := t.(type) { + case *types.Basic: + if t.Kind() == types.UntypedNil { + panic("untyped nil has no zero value") + } + if t.Info()&types.IsUntyped != 0 { + t = types.Default(t).(*types.Basic) + } + switch t.Kind() { + case types.Bool: + return false + case types.Int: + return int(0) + case types.Int8: + return int8(0) + case types.Int16: + return int16(0) + case types.Int32: + return int32(0) + case types.Int64: + return int64(0) + case types.Uint: + return uint(0) + case types.Uint8: + return uint8(0) + case types.Uint16: + return uint16(0) + case types.Uint32: + return uint32(0) + case types.Uint64: + return uint64(0) + case types.Uintptr: + return uintptr(0) + case types.Float32: + return float32(0) + case types.Float64: + return float64(0) + case types.Complex64: + return complex64(0) + case types.Complex128: + return complex128(0) + case types.String: + return "" + case types.UnsafePointer: + return unsafe.Pointer(nil) + default: + panic(fmt.Sprint("zero for unexpected type:", t)) + } + case *types.Pointer: + return (*watypes.Value)(nil) + } + panic(fmt.Sprint("zero: unexpected ", t)) +} diff --git a/ch14/examples/05-branch/waops/utils.go b/ch14/examples/05-branch/waops/utils.go new file mode 100644 index 0000000..1ad85f5 --- /dev/null +++ b/ch14/examples/05-branch/waops/utils.go @@ -0,0 +1,15 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "go/types" +) + +// 对于指针获取指针指向的类型, 或者返回当前类型. +func Deref(typ types.Type) types.Type { + if p, ok := typ.Underlying().(*types.Pointer); ok { + return p.Elem() + } + return typ +} diff --git a/ch14/examples/05-branch/watypes/value.go b/ch14/examples/05-branch/watypes/value.go new file mode 100644 index 0000000..bd92004 --- /dev/null +++ b/ch14/examples/05-branch/watypes/value.go @@ -0,0 +1,92 @@ +package watypes + +import ( + "bytes" + "fmt" + "go/types" + + "golang.org/x/tools/go/ssa" +) + +// Wa支持的值类型的抽象接口 +type Value interface{} + +// 返回地址addr处存储的T类型的值 +func Load(T types.Type, addr *Value) Value { + return *addr +} + +// 将类型为T的值v存入地址addr中 +func Store(T types.Type, addr *Value, v Value) { + *addr = v +} + +// ToString 输出Value的可读字符串 +func ToString(v Value) string { + var b bytes.Buffer + writeValue(&b, v) + return b.String() +} + +func writeValue(buf *bytes.Buffer, v Value) { + switch v := v.(type) { + case nil, bool, int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64, complex64, complex128, string: + fmt.Fprintf(buf, "%v", v) + + case *Value: + if v == nil { + buf.WriteString("") + } else { + fmt.Fprintf(buf, "%p", v) + } + + case *ssa.Function, *ssa.Builtin: + fmt.Fprintf(buf, "%p", v) // (an address) + + default: + fmt.Fprintf(buf, "<%T>", v) + } +} + +func Equals(t types.Type, x, y Value) bool { + switch x := x.(type) { + case bool: + return x == y.(bool) + case int: + return x == y.(int) + case int8: + return x == y.(int8) + case int16: + return x == y.(int16) + case int32: + return x == y.(int32) + case int64: + return x == y.(int64) + case uint: + return x == y.(uint) + case uint8: + return x == y.(uint8) + case uint16: + return x == y.(uint16) + case uint32: + return x == y.(uint32) + case uint64: + return x == y.(uint64) + case uintptr: + return x == y.(uintptr) + case float32: + return x == y.(float32) + case float64: + return x == y.(float64) + case complex64: + return x == y.(complex64) + case complex128: + return x == y.(complex128) + case string: + return x == y.(string) + case *Value: + return x == y.(*Value) + } + + panic(fmt.Sprintf("comparing uncomparable type %s", t)) +} diff --git a/ch14/examples/06-import-func/main.go b/ch14/examples/06-import-func/main.go new file mode 100644 index 0000000..a358b1f --- /dev/null +++ b/ch14/examples/06-import-func/main.go @@ -0,0 +1,75 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "go/types" + "log" + "os" + + "github.com/wa-lang/ssago/06-import-func/watypes" + "golang.org/x/tools/go/ssa" +) + +const src = ` +package main + +func my_print(s string) +func main() { + my_print("Hello, wa!") +} +` + +func my_print(args ...watypes.Value) watypes.Value { + fmt.Print("my_print: ") + for _, a := range args { + switch a := a.(type) { + case []watypes.Value: + for _, a := range a { + fmt.Print(a) + } + default: + fmt.Print(a) + } + } + return nil +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "test.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + info := &types.Info{ + Types: make(map[ast.Expr]types.TypeAndValue), + Defs: make(map[*ast.Ident]types.Object), + Uses: make(map[*ast.Ident]types.Object), + Implicits: make(map[ast.Node]types.Object), + Selections: make(map[*ast.SelectorExpr]*types.Selection), + Scopes: make(map[ast.Node]*types.Scope), + } + + conf := types.Config{Importer: nil} + pkg, err := conf.Check("test.go", fset, []*ast.File{f}, info) + if err != nil { + log.Fatal(err) + } + + var ssaProg = ssa.NewProgram(fset, ssa.SanityCheckFunctions) + var ssaPkg = ssaProg.CreatePackage(pkg, []*ast.File{f}, info, true) + + ssaPkg.Build() + ssaPkg.WriteTo(os.Stdout) + + user_funcs := make(map[string]UserFunc) + user_funcs["my_print"] = my_print + + p := NewEngine(ssaPkg, user_funcs) + p.initGlobals() + + p.runFunc(ssaPkg.Func("main"), nil) +} diff --git a/ch14/examples/06-import-func/run.go b/ch14/examples/06-import-func/run.go new file mode 100644 index 0000000..3b84f00 --- /dev/null +++ b/ch14/examples/06-import-func/run.go @@ -0,0 +1,211 @@ +package main + +import ( + "fmt" + "sync" + + "github.com/wa-lang/ssago/06-import-func/wabuildin" + "github.com/wa-lang/ssago/06-import-func/waops" + "github.com/wa-lang/ssago/06-import-func/watypes" + "golang.org/x/tools/go/ssa" +) + +type UserFunc func(args ...watypes.Value) watypes.Value + +type Engine struct { + main *ssa.Package + initOnce sync.Once + + // 全局变量 + globals map[string]*watypes.Value + + // 外部导入的函数 + externals map[string]UserFunc +} + +func NewEngine(mainpkg *ssa.Package, funcs map[string]UserFunc) *Engine { + p := &Engine{ + main: mainpkg, + globals: make(map[string]*watypes.Value), + externals: make(map[string]UserFunc), + } + + for k, fn := range funcs { + p.externals[k] = fn + } + return p +} + +// 读全局变量 +func (p *Engine) getGlobal(key *ssa.Global) (v *watypes.Value, ok bool) { + v, ok = p.globals[key.RelString(nil)] + return +} + +// 设置全局变量 +func (p *Engine) setGlobal(key *ssa.Global, v *watypes.Value) { + p.globals[key.RelString(nil)] = v +} + +// 全局变量零值初始化 +func (p *Engine) initGlobals() *Engine { + p.initOnce.Do(func() { + for _, pkg := range p.main.Prog.AllPackages() { + for _, m := range pkg.Members { + switch v := m.(type) { + case *ssa.Global: + cell := waops.Zero(waops.Deref(v.Type())) + p.setGlobal(v, &cell) + } + } + } + }) + return p +} + +type Frame struct { + //局部变量、虚拟寄存器等: + env map[ssa.Value]watypes.Value + + //返回值 + result watypes.Value + + //当前块 + block *ssa.BasicBlock + + //上一个块 + prevBlock *ssa.BasicBlock +} + +func NewFrame() *Frame { + f := &Frame{ + env: make(map[ssa.Value]watypes.Value), + } + return f +} + +// 读取值(nil/全局变量/虚拟寄存器等) +func (p *Engine) getValue(fr *Frame, key ssa.Value) watypes.Value { + switch key := key.(type) { + case *ssa.Global: + if r, ok := p.getGlobal(key); ok { + return r + } + case *ssa.Const: + return waops.ConstValue(key) + case nil: + return nil + } + + if r, ok := fr.env[key]; ok { + return r + } + + panic(fmt.Sprintf("get: no value for %T: %v", key, key.Name())) +} + +func (p *Engine) runFunc(fn watypes.Value, args []watypes.Value) watypes.Value { + if fn, ok := fn.(*ssa.Builtin); ok { + return callBuiltin(fn, args) + } + + if fn, ok := fn.(*ssa.Function); ok { + if ext := p.externals[fn.Name()]; ext != nil { + return ext(args) + } + + fr := NewFrame() + fr.block = fn.Blocks[0] + // 函数的参数添加到上下文环境 + for i, p := range fn.Params { + fr.env[p] = args[i] + } + + for fr.block != nil { + p.runFrame(fr) // 核心逻辑 + } + + return fr.result + } + + panic(fmt.Sprintf("Unknown function: %v", fn)) +} + +func (p *Engine) runFrame(fr *Frame) { + for i := 0; i < len(fr.block.Instrs); i++ { + switch ins := fr.block.Instrs[i].(type) { + case *ssa.Store: + watypes.Store(waops.Deref(ins.Addr.Type()), p.getValue(fr, ins.Addr).(*watypes.Value), p.getValue(fr, ins.Val)) + + case *ssa.UnOp: + fr.env[ins] = waops.UnOp(ins, p.getValue(fr, ins.X)) + + case *ssa.BinOp: + fr.env[ins] = waops.BinOp(ins.Op, ins.X.Type(), p.getValue(fr, ins.X), p.getValue(fr, ins.Y)) + + case *ssa.Call: + args := p.prepareCall(fr, &ins.Call) + fr.env[ins] = p.runFunc(ins.Call.Value, args) + + case *ssa.Return: + switch len(ins.Results) { + case 0: + case 1: + fr.result = p.getValue(fr, ins.Results[0]) + default: + panic("multi-return is not supported") + } + fr.block = nil + return + + case *ssa.If: + if p.getValue(fr, ins.Cond).(bool) { + //println("if:true, goto block:", fr.block.Succs[0].String()) + fr.prevBlock, fr.block = fr.block, fr.block.Succs[0] // true + } else { + //println("if:false, goto block:", fr.block.Succs[1].String()) + fr.prevBlock, fr.block = fr.block, fr.block.Succs[1] // false + } + return + + case *ssa.Jump: + //println("jump to block:", fr.block.Succs[0].String()) + fr.prevBlock, fr.block = fr.block, fr.block.Succs[0] + return + + case *ssa.Phi: + for i, pred := range ins.Block().Preds { + if fr.prevBlock == pred { + fr.env[ins] = p.getValue(fr, ins.Edges[i]) + break + } + } + + default: + panic(fmt.Sprintf("Unknown instruction: %v", ins)) + } + } + + fr.block = nil +} + +func (p *Engine) prepareCall(fr *Frame, call *ssa.CallCommon) (args []watypes.Value) { + // 普通函数调用 + if call.Method != nil { + panic("method is not supported") + } + + for _, arg := range call.Args { + args = append(args, p.getValue(fr, arg)) + } + return +} + +func callBuiltin(fn *ssa.Builtin, args []watypes.Value) watypes.Value { + switch fn.Name() { + case "print", "println": // print(any, ...) + return wabuiltin.Print(fn, args) + } + + panic("unknown built-in: " + fn.Name()) +} diff --git a/ch14/examples/06-import-func/wabuildin/print.go b/ch14/examples/06-import-func/wabuildin/print.go new file mode 100644 index 0000000..5eadc5c --- /dev/null +++ b/ch14/examples/06-import-func/wabuildin/print.go @@ -0,0 +1,29 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package wabuiltin + +import ( + "bytes" + "os" + + "github.com/wa-lang/ssago/06-import-func/watypes" + "golang.org/x/tools/go/ssa" +) + +func Print(fn *ssa.Builtin, args []watypes.Value) ssa.Value { + ln := fn.Name() == "println" + var buf bytes.Buffer + + for i, arg := range args { + if i > 0 && ln { + buf.WriteRune(' ') + } + buf.WriteString(watypes.ToString(arg)) + } + if ln { + buf.WriteRune('\n') + } + + os.Stdout.Write(buf.Bytes()) + return nil +} diff --git a/ch14/examples/06-import-func/waops/ops_bin_op.go b/ch14/examples/06-import-func/waops/ops_bin_op.go new file mode 100644 index 0000000..bf07871 --- /dev/null +++ b/ch14/examples/06-import-func/waops/ops_bin_op.go @@ -0,0 +1,422 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + "go/types" + + "github.com/wa-lang/ssago/06-import-func/watypes" +) + +// 实现二元运算 +func BinOp(op token.Token, t types.Type, x, y watypes.Value) watypes.Value { + return binop(op, t, x, y) +} + +func binop(op token.Token, t types.Type, x, y watypes.Value) watypes.Value { + switch op { + case token.EQL: + return watypes.Equals(t, x, y) + case token.NEQ: + return !watypes.Equals(t, x, y) + + case token.ADD: + switch x.(type) { + case int: + return x.(int) + y.(int) + case int8: + return x.(int8) + y.(int8) + case int16: + return x.(int16) + y.(int16) + case int32: + return x.(int32) + y.(int32) + case int64: + return x.(int64) + y.(int64) + case uint: + return x.(uint) + y.(uint) + case uint8: + return x.(uint8) + y.(uint8) + case uint16: + return x.(uint16) + y.(uint16) + case uint32: + return x.(uint32) + y.(uint32) + case uint64: + return x.(uint64) + y.(uint64) + case uintptr: + return x.(uintptr) + y.(uintptr) + case float32: + return x.(float32) + y.(float32) + case float64: + return x.(float64) + y.(float64) + case complex64: + return x.(complex64) + y.(complex64) + case complex128: + return x.(complex128) + y.(complex128) + case string: + return x.(string) + y.(string) + } + + case token.SUB: + switch x.(type) { + case int: + return x.(int) - y.(int) + case int8: + return x.(int8) - y.(int8) + case int16: + return x.(int16) - y.(int16) + case int32: + return x.(int32) - y.(int32) + case int64: + return x.(int64) - y.(int64) + case uint: + return x.(uint) - y.(uint) + case uint8: + return x.(uint8) - y.(uint8) + case uint16: + return x.(uint16) - y.(uint16) + case uint32: + return x.(uint32) - y.(uint32) + case uint64: + return x.(uint64) - y.(uint64) + case uintptr: + return x.(uintptr) - y.(uintptr) + case float32: + return x.(float32) - y.(float32) + case float64: + return x.(float64) - y.(float64) + case complex64: + return x.(complex64) - y.(complex64) + case complex128: + return x.(complex128) - y.(complex128) + } + + case token.MUL: + switch x.(type) { + case int: + return x.(int) * y.(int) + case int8: + return x.(int8) * y.(int8) + case int16: + return x.(int16) * y.(int16) + case int32: + return x.(int32) * y.(int32) + case int64: + return x.(int64) * y.(int64) + case uint: + return x.(uint) * y.(uint) + case uint8: + return x.(uint8) * y.(uint8) + case uint16: + return x.(uint16) * y.(uint16) + case uint32: + return x.(uint32) * y.(uint32) + case uint64: + return x.(uint64) * y.(uint64) + case uintptr: + return x.(uintptr) * y.(uintptr) + case float32: + return x.(float32) * y.(float32) + case float64: + return x.(float64) * y.(float64) + case complex64: + return x.(complex64) * y.(complex64) + case complex128: + return x.(complex128) * y.(complex128) + } + + case token.QUO: + switch x.(type) { + case int: + return x.(int) / y.(int) + case int8: + return x.(int8) / y.(int8) + case int16: + return x.(int16) / y.(int16) + case int32: + return x.(int32) / y.(int32) + case int64: + return x.(int64) / y.(int64) + case uint: + return x.(uint) / y.(uint) + case uint8: + return x.(uint8) / y.(uint8) + case uint16: + return x.(uint16) / y.(uint16) + case uint32: + return x.(uint32) / y.(uint32) + case uint64: + return x.(uint64) / y.(uint64) + case uintptr: + return x.(uintptr) / y.(uintptr) + case float32: + return x.(float32) / y.(float32) + case float64: + return x.(float64) / y.(float64) + case complex64: + return x.(complex64) / y.(complex64) + case complex128: + return x.(complex128) / y.(complex128) + } + + case token.REM: + switch x.(type) { + case int: + return x.(int) % y.(int) + case int8: + return x.(int8) % y.(int8) + case int16: + return x.(int16) % y.(int16) + case int32: + return x.(int32) % y.(int32) + case int64: + return x.(int64) % y.(int64) + case uint: + return x.(uint) % y.(uint) + case uint8: + return x.(uint8) % y.(uint8) + case uint16: + return x.(uint16) % y.(uint16) + case uint32: + return x.(uint32) % y.(uint32) + case uint64: + return x.(uint64) % y.(uint64) + case uintptr: + return x.(uintptr) % y.(uintptr) + } + + case token.AND: + switch x.(type) { + case int: + return x.(int) & y.(int) + case int8: + return x.(int8) & y.(int8) + case int16: + return x.(int16) & y.(int16) + case int32: + return x.(int32) & y.(int32) + case int64: + return x.(int64) & y.(int64) + case uint: + return x.(uint) & y.(uint) + case uint8: + return x.(uint8) & y.(uint8) + case uint16: + return x.(uint16) & y.(uint16) + case uint32: + return x.(uint32) & y.(uint32) + case uint64: + return x.(uint64) & y.(uint64) + case uintptr: + return x.(uintptr) & y.(uintptr) + } + + case token.OR: + switch x.(type) { + case int: + return x.(int) | y.(int) + case int8: + return x.(int8) | y.(int8) + case int16: + return x.(int16) | y.(int16) + case int32: + return x.(int32) | y.(int32) + case int64: + return x.(int64) | y.(int64) + case uint: + return x.(uint) | y.(uint) + case uint8: + return x.(uint8) | y.(uint8) + case uint16: + return x.(uint16) | y.(uint16) + case uint32: + return x.(uint32) | y.(uint32) + case uint64: + return x.(uint64) | y.(uint64) + case uintptr: + return x.(uintptr) | y.(uintptr) + } + + case token.XOR: + switch x.(type) { + case int: + return x.(int) ^ y.(int) + case int8: + return x.(int8) ^ y.(int8) + case int16: + return x.(int16) ^ y.(int16) + case int32: + return x.(int32) ^ y.(int32) + case int64: + return x.(int64) ^ y.(int64) + case uint: + return x.(uint) ^ y.(uint) + case uint8: + return x.(uint8) ^ y.(uint8) + case uint16: + return x.(uint16) ^ y.(uint16) + case uint32: + return x.(uint32) ^ y.(uint32) + case uint64: + return x.(uint64) ^ y.(uint64) + case uintptr: + return x.(uintptr) ^ y.(uintptr) + } + + case token.AND_NOT: + switch x.(type) { + case int: + return x.(int) &^ y.(int) + case int8: + return x.(int8) &^ y.(int8) + case int16: + return x.(int16) &^ y.(int16) + case int32: + return x.(int32) &^ y.(int32) + case int64: + return x.(int64) &^ y.(int64) + case uint: + return x.(uint) &^ y.(uint) + case uint8: + return x.(uint8) &^ y.(uint8) + case uint16: + return x.(uint16) &^ y.(uint16) + case uint32: + return x.(uint32) &^ y.(uint32) + case uint64: + return x.(uint64) &^ y.(uint64) + case uintptr: + return x.(uintptr) &^ y.(uintptr) + } + + case token.LSS: + switch x.(type) { + case int: + return x.(int) < y.(int) + case int8: + return x.(int8) < y.(int8) + case int16: + return x.(int16) < y.(int16) + case int32: + return x.(int32) < y.(int32) + case int64: + return x.(int64) < y.(int64) + case uint: + return x.(uint) < y.(uint) + case uint8: + return x.(uint8) < y.(uint8) + case uint16: + return x.(uint16) < y.(uint16) + case uint32: + return x.(uint32) < y.(uint32) + case uint64: + return x.(uint64) < y.(uint64) + case uintptr: + return x.(uintptr) < y.(uintptr) + case float32: + return x.(float32) < y.(float32) + case float64: + return x.(float64) < y.(float64) + case string: + return x.(string) < y.(string) + } + + case token.LEQ: + switch x.(type) { + case int: + return x.(int) <= y.(int) + case int8: + return x.(int8) <= y.(int8) + case int16: + return x.(int16) <= y.(int16) + case int32: + return x.(int32) <= y.(int32) + case int64: + return x.(int64) <= y.(int64) + case uint: + return x.(uint) <= y.(uint) + case uint8: + return x.(uint8) <= y.(uint8) + case uint16: + return x.(uint16) <= y.(uint16) + case uint32: + return x.(uint32) <= y.(uint32) + case uint64: + return x.(uint64) <= y.(uint64) + case uintptr: + return x.(uintptr) <= y.(uintptr) + case float32: + return x.(float32) <= y.(float32) + case float64: + return x.(float64) <= y.(float64) + case string: + return x.(string) <= y.(string) + } + + case token.GTR: + switch x.(type) { + case int: + return x.(int) > y.(int) + case int8: + return x.(int8) > y.(int8) + case int16: + return x.(int16) > y.(int16) + case int32: + return x.(int32) > y.(int32) + case int64: + return x.(int64) > y.(int64) + case uint: + return x.(uint) > y.(uint) + case uint8: + return x.(uint8) > y.(uint8) + case uint16: + return x.(uint16) > y.(uint16) + case uint32: + return x.(uint32) > y.(uint32) + case uint64: + return x.(uint64) > y.(uint64) + case uintptr: + return x.(uintptr) > y.(uintptr) + case float32: + return x.(float32) > y.(float32) + case float64: + return x.(float64) > y.(float64) + case string: + return x.(string) > y.(string) + } + + case token.GEQ: + switch x.(type) { + case int: + return x.(int) >= y.(int) + case int8: + return x.(int8) >= y.(int8) + case int16: + return x.(int16) >= y.(int16) + case int32: + return x.(int32) >= y.(int32) + case int64: + return x.(int64) >= y.(int64) + case uint: + return x.(uint) >= y.(uint) + case uint8: + return x.(uint8) >= y.(uint8) + case uint16: + return x.(uint16) >= y.(uint16) + case uint32: + return x.(uint32) >= y.(uint32) + case uint64: + return x.(uint64) >= y.(uint64) + case uintptr: + return x.(uintptr) >= y.(uintptr) + case float32: + return x.(float32) >= y.(float32) + case float64: + return x.(float64) >= y.(float64) + case string: + return x.(string) >= y.(string) + } + } + panic(fmt.Sprintf("invalid binary op: %T %s %T", x, op, y)) +} diff --git a/ch14/examples/06-import-func/waops/ops_const_value.go b/ch14/examples/06-import-func/waops/ops_const_value.go new file mode 100644 index 0000000..9e14aa5 --- /dev/null +++ b/ch14/examples/06-import-func/waops/ops_const_value.go @@ -0,0 +1,70 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/constant" + "go/types" + + "github.com/wa-lang/ssago/06-import-func/watypes" + "golang.org/x/tools/go/ssa" +) + +// 从常量构造值 +func ConstValue(c *ssa.Const) watypes.Value { + return constValue(c) +} + +func constValue(c *ssa.Const) watypes.Value { + if c.IsNil() { + return Zero(c.Type()) // typed nil + } + + if t, ok := c.Type().Underlying().(*types.Basic); ok { + switch t.Kind() { + case types.String, types.UntypedString: + if c.Value.Kind() == constant.String { + return constant.StringVal(c.Value) + } + return string(rune(c.Int64())) + case types.Bool, types.UntypedBool: + return constant.BoolVal(c.Value) + case types.Int, types.UntypedInt: + // Assume sizeof(int) is same on host and target. + return int(c.Int64()) + case types.Int8: + return int8(c.Int64()) + case types.Int16: + return int16(c.Int64()) + case types.Int32, types.UntypedRune: + return int32(c.Int64()) + case types.Int64: + return c.Int64() + case types.Uint: + // Assume sizeof(uint) is same on host and target. + return uint(c.Uint64()) + case types.Uint8: + return uint8(c.Uint64()) + case types.Uint16: + return uint16(c.Uint64()) + case types.Uint32: + return uint32(c.Uint64()) + case types.Uint64: + return c.Uint64() + case types.Uintptr: + // Assume sizeof(uintptr) is same on host and target. + return uintptr(c.Uint64()) + case types.Float32: + return float32(c.Float64()) + case types.Float64, types.UntypedFloat: + return c.Float64() + case types.Complex64: + return complex64(c.Complex128()) + case types.Complex128, types.UntypedComplex: + return c.Complex128() + } + } + + panic(fmt.Sprintf("constValue: %s", c)) +} diff --git a/ch14/examples/06-import-func/waops/ops_un_op.go b/ch14/examples/06-import-func/waops/ops_un_op.go new file mode 100644 index 0000000..3dfc9f2 --- /dev/null +++ b/ch14/examples/06-import-func/waops/ops_un_op.go @@ -0,0 +1,86 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/token" + + "github.com/wa-lang/ssago/06-import-func/watypes" + "golang.org/x/tools/go/ssa" +) + +// 一元运算符 +func UnOp(instr *ssa.UnOp, x watypes.Value) watypes.Value { + return unop(instr, x) +} + +func unop(instr *ssa.UnOp, x watypes.Value) watypes.Value { + switch instr.Op { + case token.MUL: // 指针类型 + return watypes.Load(Deref(instr.X.Type()), x.(*watypes.Value)) + + case token.NOT: // 非 + return !x.(bool) + + case token.SUB: + switch x := x.(type) { + case int: + return -x + case int8: + return -x + case int16: + return -x + case int32: + return -x + case int64: + return -x + case uint: + return -x + case uint8: + return -x + case uint16: + return -x + case uint32: + return -x + case uint64: + return -x + case uintptr: + return -x + case float32: + return -x + case float64: + return -x + case complex64: + return -x + case complex128: + return -x + } + case token.XOR: + switch x := x.(type) { + case int: + return ^x + case int8: + return ^x + case int16: + return ^x + case int32: + return ^x + case int64: + return ^x + case uint: + return ^x + case uint8: + return ^x + case uint16: + return ^x + case uint32: + return ^x + case uint64: + return ^x + case uintptr: + return ^x + } + } + panic(fmt.Sprintf("invalid unary op %s %T", instr.Op, x)) +} diff --git a/ch14/examples/06-import-func/waops/ops_zero.go b/ch14/examples/06-import-func/waops/ops_zero.go new file mode 100644 index 0000000..547c61a --- /dev/null +++ b/ch14/examples/06-import-func/waops/ops_zero.go @@ -0,0 +1,71 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "fmt" + "go/types" + "unsafe" + + "github.com/wa-lang/ssago/06-import-func/watypes" +) + +// 生成零值 +func Zero(t types.Type) watypes.Value { + return zero(t) +} + +func zero(t types.Type) watypes.Value { + switch t := t.(type) { + case *types.Basic: + if t.Kind() == types.UntypedNil { + panic("untyped nil has no zero value") + } + if t.Info()&types.IsUntyped != 0 { + t = types.Default(t).(*types.Basic) + } + switch t.Kind() { + case types.Bool: + return false + case types.Int: + return int(0) + case types.Int8: + return int8(0) + case types.Int16: + return int16(0) + case types.Int32: + return int32(0) + case types.Int64: + return int64(0) + case types.Uint: + return uint(0) + case types.Uint8: + return uint8(0) + case types.Uint16: + return uint16(0) + case types.Uint32: + return uint32(0) + case types.Uint64: + return uint64(0) + case types.Uintptr: + return uintptr(0) + case types.Float32: + return float32(0) + case types.Float64: + return float64(0) + case types.Complex64: + return complex64(0) + case types.Complex128: + return complex128(0) + case types.String: + return "" + case types.UnsafePointer: + return unsafe.Pointer(nil) + default: + panic(fmt.Sprint("zero for unexpected type:", t)) + } + case *types.Pointer: + return (*watypes.Value)(nil) + } + panic(fmt.Sprint("zero: unexpected ", t)) +} diff --git a/ch14/examples/06-import-func/waops/utils.go b/ch14/examples/06-import-func/waops/utils.go new file mode 100644 index 0000000..1ad85f5 --- /dev/null +++ b/ch14/examples/06-import-func/waops/utils.go @@ -0,0 +1,15 @@ +// 版权 @2019 凹语言 作者。保留所有权利。 + +package waops + +import ( + "go/types" +) + +// 对于指针获取指针指向的类型, 或者返回当前类型. +func Deref(typ types.Type) types.Type { + if p, ok := typ.Underlying().(*types.Pointer); ok { + return p.Elem() + } + return typ +} diff --git a/ch14/examples/06-import-func/watypes/value.go b/ch14/examples/06-import-func/watypes/value.go new file mode 100644 index 0000000..bd92004 --- /dev/null +++ b/ch14/examples/06-import-func/watypes/value.go @@ -0,0 +1,92 @@ +package watypes + +import ( + "bytes" + "fmt" + "go/types" + + "golang.org/x/tools/go/ssa" +) + +// Wa支持的值类型的抽象接口 +type Value interface{} + +// 返回地址addr处存储的T类型的值 +func Load(T types.Type, addr *Value) Value { + return *addr +} + +// 将类型为T的值v存入地址addr中 +func Store(T types.Type, addr *Value, v Value) { + *addr = v +} + +// ToString 输出Value的可读字符串 +func ToString(v Value) string { + var b bytes.Buffer + writeValue(&b, v) + return b.String() +} + +func writeValue(buf *bytes.Buffer, v Value) { + switch v := v.(type) { + case nil, bool, int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64, complex64, complex128, string: + fmt.Fprintf(buf, "%v", v) + + case *Value: + if v == nil { + buf.WriteString("") + } else { + fmt.Fprintf(buf, "%p", v) + } + + case *ssa.Function, *ssa.Builtin: + fmt.Fprintf(buf, "%p", v) // (an address) + + default: + fmt.Fprintf(buf, "<%T>", v) + } +} + +func Equals(t types.Type, x, y Value) bool { + switch x := x.(type) { + case bool: + return x == y.(bool) + case int: + return x == y.(int) + case int8: + return x == y.(int8) + case int16: + return x == y.(int16) + case int32: + return x == y.(int32) + case int64: + return x == y.(int64) + case uint: + return x == y.(uint) + case uint8: + return x == y.(uint8) + case uint16: + return x == y.(uint16) + case uint32: + return x == y.(uint32) + case uint64: + return x == y.(uint64) + case uintptr: + return x == y.(uintptr) + case float32: + return x == y.(float32) + case float64: + return x == y.(float64) + case complex64: + return x == y.(complex64) + case complex128: + return x == y.(complex128) + case string: + return x == y.(string) + case *Value: + return x == y.(*Value) + } + + panic(fmt.Sprintf("comparing uncomparable type %s", t)) +} diff --git a/ch14/readme.html b/ch14/readme.html new file mode 100644 index 0000000..3aa8348 --- /dev/null +++ b/ch14/readme.html @@ -0,0 +1,264 @@ + + + + + + 第14章 凹语言 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第14章 凹语言

+

基于Go现有的语法树,我们裁剪出一个极小子集——凹语言,本章将综合之前章节的内容,一步一步的介绍它的解释执行。

+
+

因为出版社版权限制不方便全部公开新增内容,完整内容请参考 实体书

+

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch15/examples/01/.keep b/ch15/examples/01/.keep new file mode 100644 index 0000000..e69de29 diff --git a/ch15/readme.html b/ch15/readme.html new file mode 100644 index 0000000..306402f --- /dev/null +++ b/ch15/readme.html @@ -0,0 +1,264 @@ + + + + + + 第15章 LLVM简介 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第15章 LLVM简介

+

​​本章不讲解深奥而枯燥的编译原理,也不讲解LLVM背后的复杂的技术实现,只是告诉读者两件事:LLVM能做什么以及LLVM如何使用。

+
+

因为出版社版权限制不方便全部公开新增内容,完整内容请参考 实体书

+

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch16/examples/01/.keep b/ch16/examples/01/.keep new file mode 100644 index 0000000..e69de29 diff --git a/ch16/examples/tests/test0.w b/ch16/examples/tests/test0.w new file mode 100644 index 0000000..576dc0b --- /dev/null +++ b/ch16/examples/tests/test0.w @@ -0,0 +1,7 @@ +a = (2 + 6)*5 +print(a) +b = (a + 2)/3 +print(b) +c = (a + b) * 2 - (a+4)/7 +print(c) +print(22456) diff --git a/ch16/examples/tests/test1.w b/ch16/examples/tests/test1.w new file mode 100644 index 0000000..6656c39 --- /dev/null +++ b/ch16/examples/tests/test1.w @@ -0,0 +1 @@ +a <> diff --git a/ch16/examples/tests/test2.w b/ch16/examples/tests/test2.w new file mode 100644 index 0000000..7c9c4d7 --- /dev/null +++ b/ch16/examples/tests/test2.w @@ -0,0 +1 @@ +a[21] diff --git a/ch16/examples/tests/test3.w b/ch16/examples/tests/test3.w new file mode 100644 index 0000000..7de9849 --- /dev/null +++ b/ch16/examples/tests/test3.w @@ -0,0 +1 @@ +print(3, b) diff --git a/ch16/examples/tests/test4.w b/ch16/examples/tests/test4.w new file mode 100644 index 0000000..994cb8d --- /dev/null +++ b/ch16/examples/tests/test4.w @@ -0,0 +1 @@ +print(3 + b) diff --git a/ch16/examples/tests/test5.w b/ch16/examples/tests/test5.w new file mode 100644 index 0000000..e3ccaf1 --- /dev/null +++ b/ch16/examples/tests/test5.w @@ -0,0 +1 @@ +a + 2 = a + 3 diff --git a/ch16/examples/tests/test6.w b/ch16/examples/tests/test6.w new file mode 100644 index 0000000..001cf86 --- /dev/null +++ b/ch16/examples/tests/test6.w @@ -0,0 +1 @@ +a = 5 % 4 diff --git a/ch16/examples/tests/test7.w b/ch16/examples/tests/test7.w new file mode 100644 index 0000000..53927c7 --- /dev/null +++ b/ch16/examples/tests/test7.w @@ -0,0 +1 @@ +a = a + 2 diff --git a/ch16/examples/tests/test8.w b/ch16/examples/tests/test8.w new file mode 100644 index 0000000..30c8a16 --- /dev/null +++ b/ch16/examples/tests/test8.w @@ -0,0 +1,2 @@ +a = 2 +b = -a diff --git a/ch16/examples/tests/test9.w b/ch16/examples/tests/test9.w new file mode 100644 index 0000000..445d521 --- /dev/null +++ b/ch16/examples/tests/test9.w @@ -0,0 +1,3 @@ +a = 2 +a = 3 + diff --git a/ch16/examples/wcc/wcc.go b/ch16/examples/wcc/wcc.go new file mode 100644 index 0000000..5c86fb9 --- /dev/null +++ b/ch16/examples/wcc/wcc.go @@ -0,0 +1,244 @@ +// 作者:史斌(https://github.com/benshi001) +// 转载请注明原作者 + +package main + +import ( + "bufio" + "fmt" + "go/ast" + "go/parser" + "go/token" + "io" + "os" + "os/exec" + "path" + "strings" +) + +var lineNo int = 0 // 行编号 +var varNo int = 0 // 临时变量编号 +var vars map[string]int = map[string]int{} // 已定义的变量 +var srcError bool = false // 源文件是否包含错误 + +// 如果出现错误,则删除生成的.ll文件 +func remove(path string) { + if srcError { + os.Remove(path) + } +} + +func main() { + // 一次只能编译一个文件 + if len(os.Args) != 2 { + fmt.Printf("正确用法:%s XXX.w\n", os.Args[0]) + return + } + + // 中间结果文件和最终目标文件的基础路径 + // 如果源文件名是xxx.w,则生成xxx.ll/xxx.s/xxx.exe + // 否则直接在源文件名后面追加.ll/.s/.exe + var basePath string + if path.Ext(os.Args[1]) == ".w" { + basePath = strings.ReplaceAll(os.Args[1], ".w", "") + } else { + basePath = os.Args[1] + } + defer remove(basePath + ".ll") + + // 打开源文件 + fSrc, e0 := os.Open(os.Args[1]) + if e0 != nil { + fmt.Printf("无法读取源文件%s\n", os.Args[1]) + return + } + defer fSrc.Close() + + // 创建.ll文件并写入基本信息 + fLl, e1 := os.Create(basePath + ".ll") + if e1 != nil { + fmt.Printf("无法创建文件%s\n", basePath+".ll") + return + } + defer fLl.Close() + + // 生成.ll文件的开头 + fLl.WriteString("; source file: " + os.Args[1]) + fLl.WriteString("\n@str = constant [4 x i8] c\"%d\\0A\\00\"\n") + fLl.WriteString("declare i32 @printf(i8*, ...)\n") + fLl.WriteString("define i32 @main() {\n") + fLl.WriteString(" %fmt = getelementptr [4 x i8], [4 x i8]* @str, i32 0, i32 0\n") + + // 逐行读取源文件并生成LLVM-IR + brSrc := bufio.NewReader(fSrc) + for { + line, _, c := brSrc.ReadLine() + if c == io.EOF { + break + } + lineNo++ + + // 源代码以注释形式插入 + lineSrc := strings.TrimSpace(string(line)) + if len(lineSrc) == 0 { + // 忽略空行 + continue + } + fLl.WriteString(" ; " + lineSrc + "\n") + + // 这里我耍了一个花招,把所有的=替换为<,因此"a=b+c" + // 将被替换为"a right + stmt := fmt.Sprintf(" %%tmp%d = %s i64 %%tmp%d, %%tmp%d\n", + varNo, opMap[binExpr.Op], idxLeft, idxRight) + fLl.WriteString(stmt) + return varNo, true + + // 不支持其它其它运算 + default: + srcError = true + fmt.Printf("源文件%s第%d行:不支持的运算\n", os.Args[1], lineNo) + return -1, false + } + } else if vExpr, b0 := expr.(*ast.Ident); b0 { // 树形表达式的最末端,单个变量 + // 检查变量是否定义过 + if _, ok := vars[vExpr.Name]; !ok { + srcError = true + fmt.Printf("源文件%s第%d行:引用未定义的变量\n", os.Args[1], lineNo) + return -1, false + } + // 生成赋值语句 + varNo++ + stmt := fmt.Sprintf(" %%tmp%d = add i64 %%%s, 0\n", varNo, vExpr.Name) + fLl.WriteString(stmt) + return varNo, true + } else if cExpr, b0 := expr.(*ast.BasicLit); b0 { // 树形表达式的最末端,单个常量 + // 生成赋值语句 + varNo++ + stmt := fmt.Sprintf(" %%tmp%d = add i64 %s, 0\n", varNo, cExpr.Value) + fLl.WriteString(stmt) + return varNo, true + } else if pExpr, b0 := expr.(*ast.ParenExpr); b0 { // 括号表达式 + idx, b1 := processExpr(pExpr.X, fLl) + return idx, b1 + } else { // 不支持其它的表达式 + srcError = true + fmt.Printf("源文件%s第%d行:不支持的表达式\n", os.Args[1], lineNo) + return -1, false + } +} + +// 返回true表示正常生成代码 +// 返回false表示源代码有语法错误 +func processPrint(call *ast.CallExpr, fLl *os.File) bool { + // 只能打印一个值 + if len(call.Args) != 1 { + srcError = true + fmt.Printf("源文件%s第%d行:print只能打印一个数值\n", os.Args[1], lineNo) + return false + } else if litExpr, b := call.Args[0].(*ast.BasicLit); b { + // 生成打印常量的printf + fLl.WriteString(" call i32 (i8*, ...) @printf(i8* %fmt, i64 ") + fLl.WriteString(litExpr.Value + ")\n") + return true + } else if idExpr, b := call.Args[0].(*ast.Ident); b { + // 生成打印变量的printf + fLl.WriteString(" call i32 (i8*, ...) @printf(i8* %fmt, i64 %") + fLl.WriteString(idExpr.Name + ")\n") + return true + } else { + // 错误:不能打印表达式 + srcError = true + fmt.Printf("源文件%s第%d行:print只能打印变量或常量\n", os.Args[1], lineNo) + return false + } +} diff --git a/ch16/readme.html b/ch16/readme.html new file mode 100644 index 0000000..6dc867a --- /dev/null +++ b/ch16/readme.html @@ -0,0 +1,264 @@ + + + + + + 第16章 LLVM实例 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第16章 LLVM实例

+

上节展示了LLVM-IR程序的写法以及如何调用LLVM工具将LLVM-IR编译成可执行程序。本章展示一个综合实例:如何如何将Go的AST翻译成LLVM-IR,进而生成一个可执行程序。

+
+

因为出版社版权限制不方便全部公开新增内容,完整内容请参考 实体书

+

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch2/examples/01/main.go b/ch2/examples/01/main.go new file mode 100644 index 0000000..0435f66 --- /dev/null +++ b/ch2/examples/01/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "go/ast" + "go/token" +) + +func main() { + var lit9527 = &ast.BasicLit{ + Kind: token.INT, + Value: "9527", + } + ast.Print(nil, lit9527) +} diff --git a/ch2/examples/02/main.go b/ch2/examples/02/main.go new file mode 100644 index 0000000..ce662d3 --- /dev/null +++ b/ch2/examples/02/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`9527`) + ast.Print(nil, expr) +} diff --git a/ch2/examples/03/main.go b/ch2/examples/03/main.go new file mode 100644 index 0000000..b31d18e --- /dev/null +++ b/ch2/examples/03/main.go @@ -0,0 +1,13 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`x`) + ast.Print(nil, expr) + + ast.Print(nil, ast.NewIdent(`x`)) +} diff --git a/ch2/readme.html b/ch2/readme.html new file mode 100644 index 0000000..7294df3 --- /dev/null +++ b/ch2/readme.html @@ -0,0 +1,407 @@ + + + + + + 第2章 基础面值 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第2章 基础面值

+

面值是在程序代码中直接表示的值,其它的非零初始值只能由面值常量或常量表达式生成。比如表达式x+2*y2就是面值,而xy则不是面值而是标识符。Go语言规范明确定义了基础面值只有整数、浮点数、复数、字符和字符串几种类型。需要特别注意的是布尔类型的true和false并不是普通的面值,而是内置的布尔类型标识符(可能被重新定义为其它变量)。但是从Go语言用户角度看,true和false也是预定义的面值类型,因此普通的标识符也被归在面值一类(在literal_begliteral_end之间)。

+

2.1 基础面值定义

+

基础面值有整数、浮点数、复数、字符和字符串几种类型,同时标识符也作为面值类型。在go/token包中,基础面值也被定义为独立的Token:

+

+

其中没有导出的literal_begliteral_end之间的Token都是基础面值类型。

+

其中整数型面值定义如下:

+
int_lit        = decimal_lit | binary_lit | octal_lit | hex_lit .
+decimal_lit    = "0" | ( "1" … "9" ) [ [ "_" ] decimal_digits ] .
+binary_lit     = "0" ( "b" | "B" ) [ "_" ] binary_digits .
+octal_lit      = "0" [ "o" | "O" ] [ "_" ] octal_digits .
+hex_lit        = "0" ( "x" | "X" ) [ "_" ] hex_digits .
+
+

整数型面值分为十进制面值、二进制面值、八进制面值和十六进制面值四种形式。需要注意的是整数型面值并不支持科学计数法形式,同时数字中间可以添加下划线分隔数字。

+

数值类型的面值中除了整数之外就是浮点数面值。浮点数面值又分为十进制浮点数和十六进制浮点数,它们的语法定义如下:

+
float_lit         = decimal_float_lit | hex_float_lit .
+
+decimal_float_lit = decimal_digits "." [ decimal_digits ] [ decimal_exponent ] |
+                    decimal_digits decimal_exponent |
+                    "." decimal_digits [ decimal_exponent ] .
+decimal_exponent  = ( "e" | "E" ) [ "+" | "-" ] decimal_digits .
+
+hex_float_lit     = "0" ( "x" | "X" ) hex_mantissa hex_exponent .
+hex_mantissa      = [ "_" ] hex_digits "." [ hex_digits ] |
+                    [ "_" ] hex_digits |
+                    "." hex_digits .
+hex_exponent      = ( "p" | "P" ) [ "+" | "-" ] decimal_digits .
+
+

其中decimal_float_lit表示十进制浮点数,又有普通十进制和科学计数法两种表示形式。而科学计数法形式的面值中不仅仅有十进制形式,还有十六进制科学计数法形式。十六进制浮点数在C语言的C99标准就已经存在,而C++的C++17版本开始支持,Java等语言也已经支持,而Go语言是在Go1.13开始支持。十六进制浮点数的优势是可以完美配合IEEE754定义的二进制指数的浮点数表达,可以尽量包装浮点数面值和浮点数变量的值精确一致。

+

除了整数和浮点数之外,数值型面值还包含复数类型:

+
imaginary_lit = (decimal_digits | int_lit | float_lit) "i" .
+
+

复数面值的定义比较简单,它是在整数或浮点数面值增加一个i后缀。比如0i123i就分别将0和123转为复数形式。

+

除了数值型面值之外,还有字符面值和字符串面值,它们的定义如下:

+
rune_lit         = "'" ( unicode_value | byte_value ) "'" .
+unicode_value    = unicode_char | little_u_value | big_u_value | escaped_char .
+byte_value       = octal_byte_value | hex_byte_value .
+
+string_lit             = raw_string_lit | interpreted_string_lit .
+raw_string_lit         = "`" { unicode_char | newline } "`" .
+interpreted_string_lit = `"` { unicode_value | byte_value } `"`
+
+

字符面值类似一个只有一个字符的字符串,由一对单引号包含。而字符串由一对双引号或反引号表示,其中可以包含多个字符,但是不能跨行。普通的字符和字符串都可以通过转义字符包含特殊的符号,它们是通过一个特殊的\斜杠开始。而反引号表示的字符串表示原生字符串,原生字符串可以跨越多行但是不支持转义字符,因此其内部是无法表示反引号这个字符的。

+

2.2 基础面值语法树结构

+

Go语言的抽象语法树由go/ast包定义。其中ast.BasicLit表示一个基础类型的面值常量结构,它的定义如下:

+
type BasicLit struct {
+	ValuePos token.Pos   // literal position
+	Kind     token.Token // token.INT, token.FLOAT, token.IMAG, token.CHAR, or token.STRING
+	Value    string      // literal string; e.g. 42, 0x7f, 3.14, 1e-9, 2.4i, 'a', '\x7f', "foo" or `\m\n\o`
+}
+
+

其中ValuePos成员表示该词法元素开始的字节偏移量(并不包含文件名、行号和列号等信息),Kind表示面值的类型(只有数值类型、字符和字符串三类),最后的Value是表示面值的原始代码。

+

2.3 构造面值

+

在了解了基础面值的语法树结构之后,我们可以手工构造简单的基础面值。比如下面的代码构造一个整数9527的面值:

+
package main
+
+import (
+	"go/ast"
+	"go/token"
+)
+
+func main() {
+	var lit9527 = &ast.BasicLit{
+		Kind:  token.INT,
+		Value: "9527",
+	}
+	ast.Print(nil, lit9527)
+}
+
+

其中token.INT表示基础面值的类型是整数,值是整数的十进制字符串表示。如果把token.INT改为token.FLOAT则变成浮点数的9527,如果改成token.STRING则会变成“9527”字符串面值。

+

2.4 解析基础面值

+

在前面的例子中,我们通过ast.BasicLit结构直接构造了面值。通过手工的方式直接构造ast.BasicLit甚至是完整的语法树都是可以的,从理论上说可以为任何Go语言程序手工构造等价的语法树结构。但是纯手工方式构造语法树毕竟太繁琐,还好Go语言的go/parser可以帮我们解析Go语言代码并自动构造语法树。

+

下面的例子是通过parser.ParseExpr函数从十进制的9527生成ast.BasicLit结构:

+
func main() {
+	expr, _ := parser.ParseExpr(`9527`)
+	ast.Print(nil, expr)
+}
+
+

go/parser包提供了parser.ParseExpr函数用于简化表达式的解析。返回ast.Expr类型的expr和一个错误,expr表示表达式的语法树。然后通过go/ast包提供的ast.Print函数打印语法树。

+

输出结果如下:

+
0  *ast.BasicLit {
+1  .  ValuePos: 1
+2  .  Kind: INT
+3  .  Value: "9527"
+4  }
+
+

也可以解析“9527”字符串面值:

+
func main() {
+	expr, _ := parser.ParseExpr(`"9527"`)
+	ast.Print(nil, expr)
+}
+
+

输出的字符串面值的原始表达文本:

+
0  *ast.BasicLit {
+1  .  ValuePos: 1
+2  .  Kind: STRING
+3  .  Value: "\"9527\""
+4  }
+
+

基础面值在语法树中是属于叶子结点的存在,在递归遍历语法树时遇到基础面值结点递归就会返回。同时,通过基础面值、指针、结构体、数组和map等其它语法结构的相互嵌套和组合就可以构造出无穷无尽的复杂类型来。

+

2.5 标识符面值

+

go/ast包同样定义了Ident结构体,表示标识符类型:

+
type Ident struct {
+	NamePos token.Pos // identifier position
+	Name    string    // identifier name
+	Obj     *Object   // denoted object; or nil
+}
+
+

NamePos表示标识符的位置,Name是标识符的名字,Obj则表示标识符的类型获取其它的扩展信息。作为内置的标识符面值来说,我们主要关注标识符的名字即可。

+

go/ast包同时提供了NewIdent函数用于创建简单的标识符:

+
func main() {
+	ast.Print(nil, ast.NewIdent(`x`))
+}
+
+

输出的结果如下:

+
0  *ast.Ident {
+1  .  NamePos: 0
+2  .  Name: "x"
+3  }
+
+

如果是从表达式解析标识符,则会通过Obj成员描述标识符额外的信息:

+
func main() {
+	expr, _ := parser.ParseExpr(`x`)
+	ast.Print(nil, expr)
+}
+
+

输出表达式中x标识符信息如下:

+
0  *ast.Ident {
+1  .  NamePos: 1
+2  .  Name: "x"
+3  .  Obj: *ast.Object {
+4  .  .  Kind: bad
+5  .  .  Name: ""
+6  .  }
+7  }
+
+

ast.Object是一个相对复杂的结构,其中Kind用于描述标识符的类型:

+
const (
+    Bad ObjKind = iota // for error handling
+    Pkg                // package
+    Con                // constant
+    Typ                // type
+    Var                // variable
+    Fun                // function or method
+    Lbl                // label
+)
+
+

Bad表示未知的类型,其它的分别对应Go语言中包、常量、类型、变量、函数和标号等语法结构。而对于标识符中更具体的类型(比如是整数还是布尔类型)则是由ast.Object的其它成员描述。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch3/examples/01/main.go b/ch3/examples/01/main.go new file mode 100644 index 0000000..bfe96d6 --- /dev/null +++ b/ch3/examples/01/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "strconv" +) + +func main() { + expr, _ := parser.ParseExpr(`1+2*3`) + fmt.Println(Eval(expr)) +} + +func Eval(exp ast.Expr) float64 { + switch exp := exp.(type) { + case *ast.BinaryExpr: + return EvalBinaryExpr(exp) + case *ast.BasicLit: + f, _ := strconv.ParseFloat(exp.Value, 64) + return f + } + return 0 +} + +func EvalBinaryExpr(exp *ast.BinaryExpr) float64 { + switch exp.Op { + case token.ADD: + return Eval(exp.X) + Eval(exp.Y) + case token.MUL: + return Eval(exp.X) * Eval(exp.Y) + } + return 0 +} diff --git a/ch3/examples/02/main.go b/ch3/examples/02/main.go new file mode 100644 index 0000000..ec8de77 --- /dev/null +++ b/ch3/examples/02/main.go @@ -0,0 +1,39 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "strconv" +) + +func main() { + expr, _ := parser.ParseExpr(`1+2*3+x`) + fmt.Println(Eval(expr, map[string]float64{ + "x": 100, + })) +} + +func Eval(exp ast.Expr, vars map[string]float64) float64 { + switch exp := exp.(type) { + case *ast.BinaryExpr: + return EvalBinaryExpr(exp, vars) + case *ast.BasicLit: + f, _ := strconv.ParseFloat(exp.Value, 64) + return f + case *ast.Ident: + return vars[exp.Name] + } + return 0 +} + +func EvalBinaryExpr(exp *ast.BinaryExpr, vars map[string]float64) float64 { + switch exp.Op { + case token.ADD: + return Eval(exp.X, vars) + Eval(exp.Y, vars) + case token.MUL: + return Eval(exp.X, vars) * Eval(exp.Y, vars) + } + return 0 +} diff --git a/ch3/readme.html b/ch3/readme.html new file mode 100644 index 0000000..84252e2 --- /dev/null +++ b/ch3/readme.html @@ -0,0 +1,436 @@ + + + + + + 第3章 基础表达式 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第3章 基础表达式

+

为了简化代码,我们从基础表达式开始。基础表达式是指完全由数值型面值和标识符组成的表达式。

+

3.1 基础表达式语法

+

基础表达式主要是指由一元和二元运算符组成的表达式,运算的主体是各种面值或标识符。基础表达式语法如下:

+
Expression = UnaryExpr | Expression binary_op Expression .
+UnaryExpr  = Operand | unary_op UnaryExpr .
+Operand    = Literal | identifier | "(" Expression ")" .
+
+binary_op  = "||" | "&&" | rel_op | add_op | mul_op .
+rel_op     = "==" | "!=" | "<" | "<=" | ">" | ">=" .
+add_op     = "+" | "-" | "|" | "^" .
+mul_op     = "*" | "/" | "%" | "<<" | ">>" | "&" | "&^" .
+
+unary_op   = "+" | "-" | "!" | "^" | "*" | "&" | "<-" .
+
+

其中Expression表示基础表达式的递归定义,可以是UnaryExpr类型的一元表达式,或者是binary_op生成的二元表达式。而基础表达式运算符两边的对象由Operand定义,主要是面值或表达式,也可以是由小括弧包含的表达式。

+

3.2 解析表达式

+

parser.ParseExpr函数是解析的单个表达式(可以包含注释),因此返回的ast.Expr是一个表达式抽象接口:

+
type Expr interface {
+    Node
+    // contains filtered or unexported methods
+}
+
+

除了内置一个ast.Node接口之外没有任何其它信息和约束(这是Go语言隐式接口的缺点,用户需要自己猜测接口之间的逻辑关系)。

+

ast.Node接口更简单,只有两个方法表示了这个语法树结点的开始位置和结束位置:

+
type Node interface {
+    Pos() token.Pos // position of first character belonging to the node
+    End() token.Pos // position of first character immediately after the node
+}
+
+

通过分析go/ast包的文档可以发现很多类型以Expr为后缀名:

+
$ go doc go/ast | grep Expr
+type BadExpr struct{ ... }
+type BinaryExpr struct{ ... }
+type CallExpr struct{ ... }
+type Expr interface{ ... }
+type ExprStmt struct{ ... }
+type IndexExpr struct{ ... }
+type KeyValueExpr struct{ ... }
+type ParenExpr struct{ ... }
+type SelectorExpr struct{ ... }
+type SliceExpr struct{ ... }
+type StarExpr struct{ ... }
+type TypeAssertExpr struct{ ... }
+type UnaryExpr struct{ ... }
+
+

真实的表达式种类当然并不仅仅是这些,起码前面例子中的ast.BasicLit类型不在其中,不过目前我们并不需要Expr的全部类型列表。

+

我们以ast.BinaryExpr表达的二元算术表达式开始,因为加减乘除四则运算是我们最熟悉的表达式结构:

+
func main() {
+	expr, _ := parser.ParseExpr(`1+2*3`)
+	ast.Print(nil, expr)
+}
+
+

输出的结果如下:

+
 0  *ast.BinaryExpr {
+ 1  .  X: *ast.BasicLit {
+ 2  .  .  ValuePos: 1
+ 3  .  .  Kind: INT
+ 4  .  .  Value: "1"
+ 5  .  }
+ 6  .  OpPos: 2
+ 7  .  Op: +
+ 8  .  Y: *ast.BinaryExpr {
+ 9  .  .  X: *ast.BasicLit {
+10  .  .  .  ValuePos: 3
+11  .  .  .  Kind: INT
+12  .  .  .  Value: "2"
+13  .  .  }
+14  .  .  OpPos: 4
+15  .  .  Op: *
+16  .  .  Y: *ast.BasicLit {
+17  .  .  .  ValuePos: 5
+18  .  .  .  Kind: INT
+19  .  .  .  Value: "3"
+20  .  .  }
+21  .  }
+22  }
+
+

下图是parser.ParseExpr("1+2*3")返回的树结构:

+

+

其中ast.BasicLit是基础面值类型,在前面章节已经讲过。而ast.BinaryExpr是表示二元表达式的结点,其定义如下:

+
type BinaryExpr struct {
+    X     Expr        // left operand
+    OpPos token.Pos   // position of Op
+    Op    token.Token // operator
+    Y     Expr        // right operand
+}
+
+

其中Op成员表示二元运算符,而X和Y成员则对应运算符左右两个操作数。最重要的是,X和Y操作数都是Expr接口类型,这就可以构成递归定义!因此在输出的结果中,最外层的Y部分被填充为*ast.BinaryExpr类型的子语法树(这说明后出现的乘法有着更高的优先级)。

+

3.3 求值表达式

+

在了解了ast.BinaryExpr语法树的结构之后,其实我们就可以手工对表达式求值了:

+
func main() {
+	expr, _ := parser.ParseExpr(`1+2*3`)
+	fmt.Println(Eval(expr))
+}
+
+func Eval(exp ast.Expr) float64 {
+	switch exp := exp.(type) {
+	case *ast.BinaryExpr:
+		return EvalBinaryExpr(exp)
+	case *ast.BasicLit:
+		f, _ := strconv.ParseFloat(exp.Value, 64)
+		return f
+	}
+	return 0
+}
+
+func EvalBinaryExpr(exp *ast.BinaryExpr) float64 {
+	switch exp.Op {
+	case token.ADD:
+		return Eval(exp.X) + Eval(exp.Y)
+	case token.MUL:
+		return Eval(exp.X) * Eval(exp.Y)
+	}
+	return 0
+}
+
+

其中Eval函数用于递归解析表达式,如果是二元表达式*ast.BinaryExpr类型则调用EvalBinaryExpr进行解析,如果是*ast.BasicLit面值类型则直接用strconv.ParseFloat解析浮点数面值。EvalBinaryExpr函数用于解析二元表达式,这里为了简单只展示了加法和乘法类型的运算符,然后在加法或乘法的左右子表达式中再调用Eval解析。

+

Go语言中,表达式是所有运算的基础。很多功能性的函数也可以作为表达式的一个部分参与运算。如果表达式中再引入变量和函数就变得异常强大了。

+

3.4 标识符:为表达式中引入变量

+

在前面的例子中,我们已经尝试过数值类型的常量构成的表达式求值。我们现在尝试为表达式引入变量,变量由外部动态注入。

+

还是先从一个简单的例子入手:

+
func main() {
+    expr, _ := parser.ParseExpr(`x`)
+    ast.Print(nil, expr)
+}
+
+

输出结果如下:

+
0  *ast.Ident {
+1  .  NamePos: 1
+2  .  Name: "x"
+3  .  Obj: *ast.Object {
+4  .  .  Kind: bad
+5  .  .  Name: ""
+6  .  }
+7  }
+
+

表达式只有一个x,对应*ast.Ident类型。*ast.Ident类型的定义如下:

+
type Ident struct {
+    NamePos token.Pos // identifier position
+    Name    string    // identifier name
+    Obj     *Object   // denoted object; or nil
+}
+
+

其中最重要的是Name成员,表示标识符的名字。这样我们就可以在递归解析时传入一个上下文参数,其中包含变量的值:

+
func main() {
+	expr, _ := parser.ParseExpr(`1+2*3+x`)
+	fmt.Println(Eval(expr, map[string]float64{
+		"x": 100,
+	}))
+}
+
+func Eval(exp ast.Expr, vars map[string]float64) float64 {
+	switch exp := exp.(type) {
+	case *ast.BinaryExpr:
+		return EvalBinaryExpr(exp, vars)
+	case *ast.BasicLit:
+		f, _ := strconv.ParseFloat(exp.Value, 64)
+		return f
+	case *ast.Ident:
+		return vars[exp.Name]
+	}
+	return 0
+}
+
+func EvalBinaryExpr(exp *ast.BinaryExpr, vars map[string]float64) float64 {
+	switch exp.Op {
+	case token.ADD:
+		return Eval(exp.X, vars) + Eval(exp.Y, vars)
+	case token.MUL:
+		return Eval(exp.X, vars) * Eval(exp.Y, vars)
+	}
+	return 0
+}
+
+

在Eval函数递归解析时,如果当前解析的表达式语法树结点是*ast.Ident类型,则直接从vars表格查询结果。

+

不过在Go语言的表达式要复杂很多,不仅仅有普通的局部变量,还有数组索引求值、管道取值、其它结构的成员求值等类型。但是标识符是引入变量最基础的方法,我们可以在此基础方法之上慢慢完善更复杂的求值函数。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch4/code/ch1/main.go b/ch4/code/ch1/main.go new file mode 100644 index 0000000..545187b --- /dev/null +++ b/ch4/code/ch1/main.go @@ -0,0 +1,52 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + fmt.Println("package:", f.Name) + + for _, s := range f.Imports { + fmt.Println("import:", s.Path.Value) + } + for _, decl := range f.Decls { + fmt.Printf("decl: %T\n", decl) + } + + for _, v := range f.Decls { + if s, ok := v.(*ast.GenDecl); ok && s.Tok == token.IMPORT { + for _, v := range s.Specs { + fmt.Println("import:", v.(*ast.ImportSpec).Path.Value) + } + } + } + + ast.Inspect(f, func(n ast.Node) bool { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("ast.Inspect", x.Name) + } + return true + }) +} + +const src = `package pkgname + +import ("a"; "b") +type SomeType int +const PI = 3.14 +var Length = 1 + +func main() {} +` diff --git a/ch4/code/ch2/main.go b/ch4/code/ch2/main.go new file mode 100644 index 0000000..fc354b0 --- /dev/null +++ b/ch4/code/ch2/main.go @@ -0,0 +1,46 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +type myNodeVisitor struct {} + +func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("myNodeVisitor.Visit:", x.Name) + } + return p +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + return + } + + ast.Walk(new(myNodeVisitor), f) + + ast.Inspect(f, func(n ast.Node) bool { + if x, ok := n.(*ast.Ident); ok { + fmt.Println("ast.Inspect", x.Name) + } + return true + }) +} + +const src = `package pkgname + +import ("a"; "b") +type SomeType int +const PI = 3.14 +var Length = 1 + +func main() {} +` diff --git a/ch4/examples/01/main.go b/ch4/examples/01/main.go new file mode 100644 index 0000000..f7222b3 --- /dev/null +++ b/ch4/examples/01/main.go @@ -0,0 +1,41 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.PackageClauseOnly) + if err != nil { + fmt.Println(err) + return + } + ast.Print(nil, f) +} + +const src = `package foo + +import ( + "fmt" + "time" +) + +func bar() { + fmt.Println(time.Now()) +} +` + +// 0 *ast.File { +// 1 . Package: 1 +// 2 . Name: *ast.Ident { +// 3 . . NamePos: 9 +// 4 . . Name: "foo" +// 5 . } +// 6 . Scope: *ast.Scope { +// 7 . . Objects: map[string]*ast.Object (len = 0) {} +// 8 . } +// 9 } diff --git a/ch4/examples/02/main.go b/ch4/examples/02/main.go new file mode 100644 index 0000000..b1aecd7 --- /dev/null +++ b/ch4/examples/02/main.go @@ -0,0 +1,73 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.ImportsOnly) + if err != nil { + fmt.Println(err) + return + } + ast.Print(nil, f) +} + +const src = `package foo + +import ( + "fmt" + "time" +) + +func bar() { + fmt.Println(time.Now()) +} +` + +// mode: parser.ImportsOnly + +// 0 *ast.File { +// 1 . Package: 1 +// 2 . Name: *ast.Ident { +// 3 . . NamePos: 9 +// 4 . . Name: "foo" +// 5 . } +// 6 . Decls: []ast.Decl (len = 1) { +// 7 . . 0: *ast.GenDecl { +// 8 . . . TokPos: 14 +// 9 . . . Tok: import +// 10 . . . Lparen: 21 +// 11 . . . Specs: []ast.Spec (len = 2) { +// 12 . . . . 0: *ast.ImportSpec { +// 13 . . . . . Path: *ast.BasicLit { +// 14 . . . . . . ValuePos: 24 +// 15 . . . . . . Kind: STRING +// 16 . . . . . . Value: "\"fmt\"" +// 17 . . . . . } +// 18 . . . . . EndPos: 0 +// 19 . . . . } +// 20 . . . . 1: *ast.ImportSpec { +// 21 . . . . . Path: *ast.BasicLit { +// 22 . . . . . . ValuePos: 31 +// 23 . . . . . . Kind: STRING +// 24 . . . . . . Value: "\"time\"" +// 25 . . . . . } +// 26 . . . . . EndPos: 0 +// 27 . . . . } +// 28 . . . } +// 29 . . . Rparen: 38 +// 30 . . } +// 31 . } +// 32 . Scope: *ast.Scope { +// 33 . . Objects: map[string]*ast.Object (len = 0) {} +// 34 . } +// 35 . Imports: []*ast.ImportSpec (len = 2) { +// 36 . . 0: *(obj @ 12) +// 37 . . 1: *(obj @ 20) +// 38 . } +// 39 } diff --git a/ch4/examples/03/main.go b/ch4/examples/03/main.go new file mode 100644 index 0000000..42e8db9 --- /dev/null +++ b/ch4/examples/03/main.go @@ -0,0 +1,170 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.ParseComments) + if err != nil { + fmt.Println(err) + return + } + ast.Print(nil, f) +} + +const src = ` +// package doc +package foo + +import ( + "fmt" + "time" +) + +// doc1 + +// bar doc +func bar() { + fmt.Println(time.Now()) +} +` + +// mode: parser.ParseComments + +// 0 *ast.File { +// 1 . Doc: *ast.CommentGroup { +// 2 . . List: []*ast.Comment (len = 1) { +// 3 . . . 0: *ast.Comment { +// 4 . . . . Slash: 2 +// 5 . . . . Text: "// package doc" +// 6 . . . } +// 7 . . } +// 8 . } +// 9 . Package: 17 +// 10 . Name: *ast.Ident { +// 11 . . NamePos: 25 +// 12 . . Name: "foo" +// 13 . } +// 14 . Decls: []ast.Decl (len = 2) { +// 15 . . 0: *ast.GenDecl { +// 16 . . . TokPos: 30 +// 17 . . . Tok: import +// 18 . . . Lparen: 37 +// 19 . . . Specs: []ast.Spec (len = 2) { +// 20 . . . . 0: *ast.ImportSpec { +// 21 . . . . . Path: *ast.BasicLit { +// 22 . . . . . . ValuePos: 40 +// 23 . . . . . . Kind: STRING +// 24 . . . . . . Value: "\"fmt\"" +// 25 . . . . . } +// 26 . . . . . EndPos: 0 +// 27 . . . . } +// 28 . . . . 1: *ast.ImportSpec { +// 29 . . . . . Path: *ast.BasicLit { +// 30 . . . . . . ValuePos: 47 +// 31 . . . . . . Kind: STRING +// 32 . . . . . . Value: "\"time\"" +// 33 . . . . . } +// 34 . . . . . EndPos: 0 +// 35 . . . . } +// 36 . . . } +// 37 . . . Rparen: 54 +// 38 . . } +// 39 . . 1: *ast.FuncDecl { +// 40 . . . Doc: *ast.CommentGroup { +// 41 . . . . List: []*ast.Comment (len = 1) { +// 42 . . . . . 0: *ast.Comment { +// 43 . . . . . . Slash: 66 +// 44 . . . . . . Text: "// bar doc" +// 45 . . . . . } +// 46 . . . . } +// 47 . . . } +// 48 . . . Name: *ast.Ident { +// 49 . . . . NamePos: 82 +// 50 . . . . Name: "bar" +// 51 . . . . Obj: *ast.Object { +// 52 . . . . . Kind: func +// 53 . . . . . Name: "bar" +// 54 . . . . . Decl: *(obj @ 39) +// 55 . . . . } +// 56 . . . } +// 57 . . . Type: *ast.FuncType { +// 58 . . . . Func: 77 +// 59 . . . . Params: *ast.FieldList { +// 60 . . . . . Opening: 85 +// 61 . . . . . Closing: 86 +// 62 . . . . } +// 63 . . . } +// 64 . . . Body: *ast.BlockStmt { +// 65 . . . . Lbrace: 88 +// 66 . . . . List: []ast.Stmt (len = 1) { +// 67 . . . . . 0: *ast.ExprStmt { +// 68 . . . . . . X: *ast.CallExpr { +// 69 . . . . . . . Fun: *ast.SelectorExpr { +// 70 . . . . . . . . X: *ast.Ident { +// 71 . . . . . . . . . NamePos: 91 +// 72 . . . . . . . . . Name: "fmt" +// 73 . . . . . . . . } +// 74 . . . . . . . . Sel: *ast.Ident { +// 75 . . . . . . . . . NamePos: 95 +// 76 . . . . . . . . . Name: "Println" +// 77 . . . . . . . . } +// 78 . . . . . . . } +// 79 . . . . . . . Lparen: 102 +// 80 . . . . . . . Args: []ast.Expr (len = 1) { +// 81 . . . . . . . . 0: *ast.CallExpr { +// 82 . . . . . . . . . Fun: *ast.SelectorExpr { +// 83 . . . . . . . . . . X: *ast.Ident { +// 84 . . . . . . . . . . . NamePos: 103 +// 85 . . . . . . . . . . . Name: "time" +// 86 . . . . . . . . . . } +// 87 . . . . . . . . . . Sel: *ast.Ident { +// 88 . . . . . . . . . . . NamePos: 108 +// 89 . . . . . . . . . . . Name: "Now" +// 90 . . . . . . . . . . } +// 91 . . . . . . . . . } +// 92 . . . . . . . . . Lparen: 111 +// 93 . . . . . . . . . Ellipsis: 0 +// 94 . . . . . . . . . Rparen: 112 +// 95 . . . . . . . . } +// 96 . . . . . . . } +// 97 . . . . . . . Ellipsis: 0 +// 98 . . . . . . . Rparen: 113 +// 99 . . . . . . } +// 100 . . . . . } +// 101 . . . . } +// 102 . . . . Rbrace: 115 +// 103 . . . } +// 104 . . } +// 105 . } +// 106 . Scope: *ast.Scope { +// 107 . . Objects: map[string]*ast.Object (len = 1) { +// 108 . . . "bar": *(obj @ 51) +// 109 . . } +// 110 . } +// 111 . Imports: []*ast.ImportSpec (len = 2) { +// 112 . . 0: *(obj @ 20) +// 113 . . 1: *(obj @ 28) +// 114 . } +// 115 . Unresolved: []*ast.Ident (len = 2) { +// 116 . . 0: *(obj @ 70) +// 117 . . 1: *(obj @ 83) +// 118 . } +// 119 . Comments: []*ast.CommentGroup (len = 3) { +// 120 . . 0: *(obj @ 1) +// 121 . . 1: *ast.CommentGroup { +// 122 . . . List: []*ast.Comment (len = 1) { +// 123 . . . . 0: *ast.Comment { +// 124 . . . . . Slash: 57 +// 125 . . . . . Text: "// doc1" +// 126 . . . . } +// 127 . . . } +// 128 . . } +// 129 . . 2: *(obj @ 40) +// 130 . } +// 131 } diff --git a/ch4/examples/04/main.go b/ch4/examples/04/main.go new file mode 100644 index 0000000..3f59c70 --- /dev/null +++ b/ch4/examples/04/main.go @@ -0,0 +1,224 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.Trace) + if err != nil { + fmt.Println(err) + return + } + ast.Print(nil, f) +} + +const src = `package foo + +import ( + "fmt" + "time" +) + +func bar() { + fmt.Println(time.Now()) +} +` + +// mode: parser.Trace + +/* + 1: 1: File ( + 1: 1: . "package" + 1: 9: . IDENT foo + 1: 12: . ";" + 3: 1: . GenDecl(import) ( + 3: 1: . . "import" + 3: 8: . . "(" + 4: 2: . . ImportSpec ( + 4: 2: . . . STRING "fmt" + 4: 7: . . . ";" + 5: 2: . . ) + 5: 2: . . ImportSpec ( + 5: 2: . . . STRING "time" + 5: 8: . . . ";" + 6: 1: . . ) + 6: 1: . . ")" + 6: 2: . . ";" + 8: 1: . ) + 8: 1: . Declaration ( + 8: 1: . . FunctionDecl ( + 8: 1: . . . "func" + 8: 6: . . . IDENT bar + 8: 9: . . . Signature ( + 8: 9: . . . . Parameters ( + 8: 9: . . . . . "(" + 8: 10: . . . . . ")" + 8: 12: . . . . ) + 8: 12: . . . . Result ( + 8: 12: . . . . ) + 8: 12: . . . ) + 8: 12: . . . Body ( + 8: 12: . . . . "{" + 9: 2: . . . . StatementList ( + 9: 2: . . . . . Statement ( + 9: 2: . . . . . . SimpleStmt ( + 9: 2: . . . . . . . ExpressionList ( + 9: 2: . . . . . . . . Expression ( + 9: 2: . . . . . . . . . BinaryExpr ( + 9: 2: . . . . . . . . . . UnaryExpr ( + 9: 2: . . . . . . . . . . . PrimaryExpr ( + 9: 2: . . . . . . . . . . . . Operand ( + 9: 2: . . . . . . . . . . . . . IDENT fmt + 9: 5: . . . . . . . . . . . . ) + 9: 5: . . . . . . . . . . . . "." + 9: 6: . . . . . . . . . . . . Selector ( + 9: 6: . . . . . . . . . . . . . IDENT Println + 9: 13: . . . . . . . . . . . . ) + 9: 13: . . . . . . . . . . . . CallOrConversion ( + 9: 13: . . . . . . . . . . . . . "(" + 9: 14: . . . . . . . . . . . . . Expression ( + 9: 14: . . . . . . . . . . . . . . BinaryExpr ( + 9: 14: . . . . . . . . . . . . . . . UnaryExpr ( + 9: 14: . . . . . . . . . . . . . . . . PrimaryExpr ( + 9: 14: . . . . . . . . . . . . . . . . . Operand ( + 9: 14: . . . . . . . . . . . . . . . . . . IDENT time + 9: 18: . . . . . . . . . . . . . . . . . ) + 9: 18: . . . . . . . . . . . . . . . . . "." + 9: 19: . . . . . . . . . . . . . . . . . Selector ( + 9: 19: . . . . . . . . . . . . . . . . . . IDENT Now + 9: 22: . . . . . . . . . . . . . . . . . ) + 9: 22: . . . . . . . . . . . . . . . . . CallOrConversion ( + 9: 22: . . . . . . . . . . . . . . . . . . "(" + 9: 23: . . . . . . . . . . . . . . . . . . ")" + 9: 24: . . . . . . . . . . . . . . . . . ) + 9: 24: . . . . . . . . . . . . . . . . ) + 9: 24: . . . . . . . . . . . . . . . ) + 9: 24: . . . . . . . . . . . . . . ) + 9: 24: . . . . . . . . . . . . . ) + 9: 24: . . . . . . . . . . . . . ")" + 9: 25: . . . . . . . . . . . . ) + 9: 25: . . . . . . . . . . . ) + 9: 25: . . . . . . . . . . ) + 9: 25: . . . . . . . . . ) + 9: 25: . . . . . . . . ) + 9: 25: . . . . . . . ) + 9: 25: . . . . . . ) + 9: 25: . . . . . . ";" + 10: 1: . . . . . ) + 10: 1: . . . . ) + 10: 1: . . . . "}" + 10: 2: . . . ) + 10: 2: . . . ";" + 10: 3: . . ) + 10: 3: . ) + 10: 3: ) + 0 *ast.File { + 1 . Package: 1 + 2 . Name: *ast.Ident { + 3 . . NamePos: 9 + 4 . . Name: "foo" + 5 . } + 6 . Decls: []ast.Decl (len = 2) { + 7 . . 0: *ast.GenDecl { + 8 . . . TokPos: 14 + 9 . . . Tok: import + 10 . . . Lparen: 21 + 11 . . . Specs: []ast.Spec (len = 2) { + 12 . . . . 0: *ast.ImportSpec { + 13 . . . . . Path: *ast.BasicLit { + 14 . . . . . . ValuePos: 24 + 15 . . . . . . Kind: STRING + 16 . . . . . . Value: "\"fmt\"" + 17 . . . . . } + 18 . . . . . EndPos: 0 + 19 . . . . } + 20 . . . . 1: *ast.ImportSpec { + 21 . . . . . Path: *ast.BasicLit { + 22 . . . . . . ValuePos: 31 + 23 . . . . . . Kind: STRING + 24 . . . . . . Value: "\"time\"" + 25 . . . . . } + 26 . . . . . EndPos: 0 + 27 . . . . } + 28 . . . } + 29 . . . Rparen: 38 + 30 . . } + 31 . . 1: *ast.FuncDecl { + 32 . . . Name: *ast.Ident { + 33 . . . . NamePos: 46 + 34 . . . . Name: "bar" + 35 . . . . Obj: *ast.Object { + 36 . . . . . Kind: func + 37 . . . . . Name: "bar" + 38 . . . . . Decl: *(obj @ 31) + 39 . . . . } + 40 . . . } + 41 . . . Type: *ast.FuncType { + 42 . . . . Func: 41 + 43 . . . . Params: *ast.FieldList { + 44 . . . . . Opening: 49 + 45 . . . . . Closing: 50 + 46 . . . . } + 47 . . . } + 48 . . . Body: *ast.BlockStmt { + 49 . . . . Lbrace: 52 + 50 . . . . List: []ast.Stmt (len = 1) { + 51 . . . . . 0: *ast.ExprStmt { + 52 . . . . . . X: *ast.CallExpr { + 53 . . . . . . . Fun: *ast.SelectorExpr { + 54 . . . . . . . . X: *ast.Ident { + 55 . . . . . . . . . NamePos: 55 + 56 . . . . . . . . . Name: "fmt" + 57 . . . . . . . . } + 58 . . . . . . . . Sel: *ast.Ident { + 59 . . . . . . . . . NamePos: 59 + 60 . . . . . . . . . Name: "Println" + 61 . . . . . . . . } + 62 . . . . . . . } + 63 . . . . . . . Lparen: 66 + 64 . . . . . . . Args: []ast.Expr (len = 1) { + 65 . . . . . . . . 0: *ast.CallExpr { + 66 . . . . . . . . . Fun: *ast.SelectorExpr { + 67 . . . . . . . . . . X: *ast.Ident { + 68 . . . . . . . . . . . NamePos: 67 + 69 . . . . . . . . . . . Name: "time" + 70 . . . . . . . . . . } + 71 . . . . . . . . . . Sel: *ast.Ident { + 72 . . . . . . . . . . . NamePos: 72 + 73 . . . . . . . . . . . Name: "Now" + 74 . . . . . . . . . . } + 75 . . . . . . . . . } + 76 . . . . . . . . . Lparen: 75 + 77 . . . . . . . . . Ellipsis: 0 + 78 . . . . . . . . . Rparen: 76 + 79 . . . . . . . . } + 80 . . . . . . . } + 81 . . . . . . . Ellipsis: 0 + 82 . . . . . . . Rparen: 77 + 83 . . . . . . } + 84 . . . . . } + 85 . . . . } + 86 . . . . Rbrace: 79 + 87 . . . } + 88 . . } + 89 . } + 90 . Scope: *ast.Scope { + 91 . . Objects: map[string]*ast.Object (len = 1) { + 92 . . . "bar": *(obj @ 35) + 93 . . } + 94 . } + 95 . Imports: []*ast.ImportSpec (len = 2) { + 96 . . 0: *(obj @ 12) + 97 . . 1: *(obj @ 20) + 98 . } + 99 . Unresolved: []*ast.Ident (len = 2) { + 100 . . 0: *(obj @ 54) + 101 . . 1: *(obj @ 67) + 102 . } + 103 } +*/ diff --git a/ch4/examples/05/main.go b/ch4/examples/05/main.go new file mode 100644 index 0000000..83cea63 --- /dev/null +++ b/ch4/examples/05/main.go @@ -0,0 +1,178 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + fmt.Println(err) + return + } + ast.Print(nil, f) +} + +const src = `package foo + +import "bar" +import "bar2" + +type MyInt int + +const PI = 3.14 + +var size = 10 + +func hello() func() {return func(){size++}} +` + +/* + 0 *ast.File { + 1 . Package: 1 + 2 . Name: *ast.Ident { + 3 . . NamePos: 9 + 4 . . Name: "foo" + 5 . } + 6 . Decls: []ast.Decl (len = 5) { + 7 . . 0: *ast.GenDecl { + 8 . . . TokPos: 14 + 9 . . . Tok: import + 10 . . . Lparen: 0 + 11 . . . Specs: []ast.Spec (len = 1) { + 12 . . . . 0: *ast.ImportSpec { + 13 . . . . . Path: *ast.BasicLit { + 14 . . . . . . ValuePos: 22 + 15 . . . . . . Kind: STRING + 16 . . . . . . Value: "\"bar\"" + 17 . . . . . } + 18 . . . . . EndPos: 0 + 19 . . . . } + 20 . . . } + 21 . . . Rparen: 0 + 22 . . } + 23 . . 1: *ast.GenDecl { + 24 . . . TokPos: 29 + 25 . . . Tok: type + 26 . . . Lparen: 0 + 27 . . . Specs: []ast.Spec (len = 1) { + 28 . . . . 0: *ast.TypeSpec { + 29 . . . . . Name: *ast.Ident { + 30 . . . . . . NamePos: 34 + 31 . . . . . . Name: "MyInt" + 32 . . . . . . Obj: *ast.Object { + 33 . . . . . . . Kind: type + 34 . . . . . . . Name: "MyInt" + 35 . . . . . . . Decl: *(obj @ 28) + 36 . . . . . . } + 37 . . . . . } + 38 . . . . . Assign: 0 + 39 . . . . . Type: *ast.Ident { + 40 . . . . . . NamePos: 40 + 41 . . . . . . Name: "int" + 42 . . . . . } + 43 . . . . } + 44 . . . } + 45 . . . Rparen: 0 + 46 . . } + 47 . . 2: *ast.GenDecl { + 48 . . . TokPos: 45 + 49 . . . Tok: const + 50 . . . Lparen: 0 + 51 . . . Specs: []ast.Spec (len = 1) { + 52 . . . . 0: *ast.ValueSpec { + 53 . . . . . Names: []*ast.Ident (len = 1) { + 54 . . . . . . 0: *ast.Ident { + 55 . . . . . . . NamePos: 51 + 56 . . . . . . . Name: "PI" + 57 . . . . . . . Obj: *ast.Object { + 58 . . . . . . . . Kind: const + 59 . . . . . . . . Name: "PI" + 60 . . . . . . . . Decl: *(obj @ 52) + 61 . . . . . . . . Data: 0 + 62 . . . . . . . } + 63 . . . . . . } + 64 . . . . . } + 65 . . . . . Values: []ast.Expr (len = 1) { + 66 . . . . . . 0: *ast.BasicLit { + 67 . . . . . . . ValuePos: 56 + 68 . . . . . . . Kind: FLOAT + 69 . . . . . . . Value: "3.14" + 70 . . . . . . } + 71 . . . . . } + 72 . . . . } + 73 . . . } + 74 . . . Rparen: 0 + 75 . . } + 76 . . 3: *ast.GenDecl { + 77 . . . TokPos: 62 + 78 . . . Tok: var + 79 . . . Lparen: 0 + 80 . . . Specs: []ast.Spec (len = 1) { + 81 . . . . 0: *ast.ValueSpec { + 82 . . . . . Names: []*ast.Ident (len = 1) { + 83 . . . . . . 0: *ast.Ident { + 84 . . . . . . . NamePos: 66 + 85 . . . . . . . Name: "size" + 86 . . . . . . . Obj: *ast.Object { + 87 . . . . . . . . Kind: var + 88 . . . . . . . . Name: "size" + 89 . . . . . . . . Decl: *(obj @ 81) + 90 . . . . . . . . Data: 0 + 91 . . . . . . . } + 92 . . . . . . } + 93 . . . . . } + 94 . . . . . Values: []ast.Expr (len = 1) { + 95 . . . . . . 0: *ast.BasicLit { + 96 . . . . . . . ValuePos: 73 + 97 . . . . . . . Kind: INT + 98 . . . . . . . Value: "10" + 99 . . . . . . } + 100 . . . . . } + 101 . . . . } + 102 . . . } + 103 . . . Rparen: 0 + 104 . . } + 105 . . 4: *ast.FuncDecl { + 106 . . . Name: *ast.Ident { + 107 . . . . NamePos: 82 + 108 . . . . Name: "hello" + 109 . . . . Obj: *ast.Object { + 110 . . . . . Kind: func + 111 . . . . . Name: "hello" + 112 . . . . . Decl: *(obj @ 105) + 113 . . . . } + 114 . . . } + 115 . . . Type: *ast.FuncType { + 116 . . . . Func: 77 + 117 . . . . Params: *ast.FieldList { + 118 . . . . . Opening: 87 + 119 . . . . . Closing: 88 + 120 . . . . } + 121 . . . } + 122 . . . Body: *ast.BlockStmt { + 123 . . . . Lbrace: 90 + 124 . . . . Rbrace: 91 + 125 . . . } + 126 . . } + 127 . } + 128 . Scope: *ast.Scope { + 129 . . Objects: map[string]*ast.Object (len = 4) { + 130 . . . "hello": *(obj @ 109) + 131 . . . "MyInt": *(obj @ 32) + 132 . . . "PI": *(obj @ 57) + 133 . . . "size": *(obj @ 86) + 134 . . } + 135 . } + 136 . Imports: []*ast.ImportSpec (len = 1) { + 137 . . 0: *(obj @ 12) + 138 . } + 139 . Unresolved: []*ast.Ident (len = 1) { + 140 . . 0: *(obj @ 39) + 141 . } + 142 } +*/ diff --git a/ch4/examples/06/main.go b/ch4/examples/06/main.go new file mode 100644 index 0000000..bcb4885 --- /dev/null +++ b/ch4/examples/06/main.go @@ -0,0 +1,43 @@ +package main + +import ( + "fmt" + "go/parser" + "go/token" + "go/ast" +) + +func main() { + fset := token.NewFileSet() // positions are relative to fset + + src := `package foo + +import ( + "pkg-a" + "pkg-b" +) + +func bar() {}` + + // Parse src but stop after processing the imports. + f, err := parser.ParseFile(fset, "", src, parser.ImportsOnly) + if err != nil { + fmt.Println(err) + return + } + + for _, s := range f.Imports { + fmt.Printf("%#v\n", s.Path) + } + + fmt.Println("----") + + for _, v := range f.Decls { + // import group + if s, ok := v.(*ast.GenDecl); ok && s.Tok == token.IMPORT { + for _, v := range s.Specs { + fmt.Printf("%#v\n", v.(*ast. ImportSpec).Path) + } + } + } +} diff --git a/ch4/examples/0x/main.go b/ch4/examples/0x/main.go new file mode 100644 index 0000000..941d98c --- /dev/null +++ b/ch4/examples/0x/main.go @@ -0,0 +1,45 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" +) + +func main() { + + /* + func ParseDir(fset *token.FileSet, path string, filter func(os.FileInfo) bool, mode Mode) (pkgs map[string]*ast.Package, first error) + */ + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + fmt.Println(err) + return + } + ast.Print(nil, f) +} + +const src = `package foo + +import ( + "fmt" + "time" +) + +func bar() { + fmt.Println(time.Now()) +} +` + +// 0 *ast.File { +// 1 . Package: 1 +// 2 . Name: *ast.Ident { +// 3 . . NamePos: 9 +// 4 . . Name: "foo" +// 5 . } +// 6 . Scope: *ast.Scope { +// 7 . . Objects: map[string]*ast.Object (len = 0) {} +// 8 . } +// 9 } diff --git a/ch4/readme.html b/ch4/readme.html new file mode 100644 index 0000000..200f9e0 --- /dev/null +++ b/ch4/readme.html @@ -0,0 +1,423 @@ + + + + + + 第4章 代码结构 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第4章 代码结构

+

前文我们已经简单了解如何解析单个表达式。但是Go语言的表达式不是独立存在的语法结构,如果我们希望通过表达式和赋值语句来更新上下文环境,那么就需要将表达式放到Go语言源文件环境进行解析。Go语言的代码结构主要分为三个层面:目录结构、目录内部的包结构、文件内部的代码结构。标准库的go/parser包只提供了目录和文件解析的函数,因此我们主要从这两个函数学习和语法树相关的代码结构。

+

4.1 目录结构

+

Go语言代码根据目录组织,一个包由多个文件组织,文件必须属于同一个目录下。不过包的单元测试虽然也和包的普通代码文件属于同一个目录,但是测试代码可以属于一个独立的测试包(独立的测试包名是以_test为后缀)。标准库go/parser包中的parser.ParseDir用于解析目录内的全部Go语言文件,返回的map[string]*ast.Package包含多个包信息。而parser.ParseFile用于解析单个文件,返回的*ast.File包含文件内部代码信息。而每个*ast.Package正是由多个*ast.File文件组成。它们直接的逻辑关系如下图所示:

+

+

图中展示的测试包由main.goother.gomain_test.goother_test.go四个文件组成,其中main.goother.go两个文件属于package main包,而main_test.goother_test.go两个文件属于package main_test测试包。因此parser.ParseDir解析出两个包,每个包中各有两个文件。当然,我们也可以针对每个文件手工调用parser.ParseFile函数进行解析,然后根据包的名字输出类似parser.ParseDir的结果。

+

因为parser.ParseDir的实际的代码实现也是由parser.ParseFile函数简单包装而来,因此我们只要简单了解目录结构即可,文件内部的代码结构才是Go语法树解析的难点和要点。

+

4.2 文件结构

+

Go语言是一个精心设计的语言,语法非常利于理解和解析。一个Go语言文件中,顶级的语法元素只有package、import、type、const、var和func这几种。每个文件的语法规范定义如下:

+
SourceFile    = PackageClause ";" { ImportDecl ";" } { TopLevelDecl ";" } .
+
+PackageClause = "package" PackageName .
+PackageName   = identifier .
+
+ImportDecl    = "import" ( ImportSpec | "(" { ImportSpec ";" } ")" ) .
+ImportSpec    = [ "." | PackageName ] ImportPath .
+ImportPath    = string_lit .
+
+TopLevelDecl  = Declaration | FunctionDecl | MethodDecl .
+Declaration   = ConstDecl | TypeDecl | VarDecl .
+
+

SourceFile表示一个Go源文件,由PackageClause表示的包定义、ImportDecl表示的导入声明和TopLevelDecl表示的顶级声明三个部分组成。其中TopLevelDecl又由通用声明、函数声明和方法声明组成,通用声明再分为常量、类型和变量声明。

+

以下代码是一个Go源文件的例子:

+
package pkgname
+
+import ("a", "b")
+type SomeType int
+const PI = 3.14
+var Length = 1
+
+func main() {}
+
+

只要通过每行开头的不同关键字就可以明确属于哪种声明类型。使用go/parser包的parser.ParseFile函数就可以对上面的代码进行解析:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+
+	...
+}
+
+const src = `package pkgname
+
+import ("a"; "b")
+type SomeType int
+const PI = 3.14
+var Length = 1
+
+func main() {}
+`
+
+

parser.ParseFile函数返回的是*ast.File类型的结构体:

+
type File struct {
+	Doc        *CommentGroup   // associated documentation; or nil
+	Package    token.Pos       // position of "package" keyword
+	Name       *Ident          // package name
+	Decls      []Decl          // top-level declarations; or nil
+	Scope      *Scope          // package scope (this file only)
+	Imports    []*ImportSpec   // imports in this file
+	Unresolved []*Ident        // unresolved identifiers in this file
+	Comments   []*CommentGroup // list of all comments in the source file
+}
+
+

结构体的File.Name成员表示文件对应包的名字,然后是File.Imports表示当前文件导入的第三方的包信息。因此通过以下代码就可以输出当前包名和导入包名字:

+
	fmt.Println("package:", f.Name)
+
+	for _, s := range f.Imports {
+		fmt.Println("import:", s.Path.Value)
+	}
+
+	// Output:
+	// package: pkgname
+	// import: "a"
+	// import: "b"
+
+

但是结构体中最重要的其实是File.Decls成员,它包含了当前文件全部的包级声明信息(包含导入信息)。即使没有File.Imports成员,我们也可以从File.Decls声明列表中获取全部导入包的信息。

+

通过以下的代码可以查看File.Decls每个成员的类型信息:

+
	for _, decl := range f.Decls {
+		fmt.Printf("decl: %T\n", decl)
+	}
+
+	// Output:
+	// decl: *ast.GenDecl
+	// decl: *ast.GenDecl
+	// decl: *ast.GenDecl
+	// decl: *ast.GenDecl
+	// decl: *ast.FuncDecl
+
+

分析输出结构可以发现前四个都是*ast.GenDecl类型,只有最后一个是*ast.FuncDecl类型。因此可以推测,importtypeconstvar都是对应*ast.GenDecl类型,只有函数是独立的*ast.FuncDecl类型。

+

因此我们也可以从f.Decls列表中获取导入包的信息:

+
	for _, v := range f.Decls {
+		if s, ok := v.(*ast.GenDecl); ok && s.Tok == token.IMPORT {
+			for _, v := range s.Specs {
+				fmt.Println("import:", v.(*ast.ImportSpec).Path.Value)
+			}
+		}
+	}
+
+

在遍历f.Decls列表时,首先判断是否为*ast.GenDecl类型,如果是并且s.Toktoken.IMPORT类型则表示是导入的声明。这样我们就可以将s.Specs列表的每个元素作为*ast.ImportSpec类型进行输出。

+

下图是ast.File结构体对应的代码结构:

+

+

首先通过parser.ParseFile解析文件得到*ast.File类型的结构体。*ast.File结构体中Name包含了包名信息,Decls包含了全部的声明信息(声明分别对应ast.GenDeclast.FuncDecl两种类型),以及导入信息。

+

4.3 诊断语法树

+

go/ast包为语法树提供了ast.Print函数专门打印语法树:

+
$ go doc ast.Print
+package ast // import "go/ast"
+
+func Print(fset *token.FileSet, x interface{}) error
+    Print prints x to standard output, skipping nil fields. Print(fset, x) is
+    the same as Fprint(os.Stdout, fset, x, NotNilFilter).
+
+

这是学习和调试语法树最重要的函数,通过其输出我们可以对语法树有一个直观的印象,从而为进一步分析处理语法树奠定基础。从ast.Print函数文档可以看出,它是ast.Fprint函数的再次包装(类似fmt.Printfmt.Fprint函数的关系),这样我们不仅仅可以定义输出的目标,还可以通过过滤函数来控制要输出的内容。

+

此外通过ast.Walk可以遍历整个语法树(和filepath.Walk遍历目录的思想类似):

+
type myNodeVisitor struct {}
+
+func (p *myNodeVisitor) Visit(n ast.Node) (w ast.Visitor) {
+	if x, ok := n.(*ast.Ident); ok {
+		fmt.Println("myNodeVisitor.Visit:", x.Name)
+	}
+	return p
+}
+
+func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+		return
+	}
+
+	ast.Walk(new(myNodeVisitor), f)
+}
+
+const src = `...` // 和前面的内容相同
+
+

首先定义一个新的myNodeVisitor类型以满足ast.Visitor接口,然后在myNodeVisitor.Visit方法输出标识符类型的名字,最后通过ast.Walk遍历整个语法树。

+

输出结果如下:

+
myNodeVisitor.Visit: pkgname
+myNodeVisitor.Visit: SomeType
+myNodeVisitor.Visit: int
+myNodeVisitor.Visit: PI
+myNodeVisitor.Visit: Length
+myNodeVisitor.Visit: main
+
+

当然,我们也可以通过ast.Inspect函数实现同样的功能:

+
	ast.Inspect(f, func(n ast.Node) bool {
+		if x, ok := n.(*ast.Ident); ok {
+			fmt.Println("ast.Inspect", x.Name)
+		}
+		return true
+	})
+
+

所以说,语法树的很多处理原理是相通的,ast.Inspect函数只是ast.Walk更简化版的包装而已。有了语法树之后,对import进行花样排序就变成了对File.Decls列表元素的处理问题。

+

4.4 总结

+

parser.ParseDir解析目录结构返回包含多个包的map,返回包的总体逻辑关系如下图所示:

+

+

多个包可以构成完整的可执行程序。每个包内部通过文件组织代码的导入和声明语句。而单个文件可以由parser.ParseFile完成解析,文件内部的逻辑关系如下图:

+

+

首先是包的名字,然后是导入的依赖包列表,最后是类型、常量、变量和函数等声明列表。而文件内部的声明列表是最复杂也是最重要的部分,其更详细的逻辑结构如下图:

+

+

声明部分包含基础声明和函数声明。基础声明包含导入声明、类型声明、常量声明和变量声明,它们可以独立声明,也可以按组方式声明,其中常量和变量的声明采用相同的结构表示。而函数声明不支持按组方式声明,函数声明主要包含接收者、函数参数和返回值组成的函数类型,以及函数的代码实现等信息。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch5/examples/01/main.go b/ch5/examples/01/main.go new file mode 100644 index 0000000..fb057e4 --- /dev/null +++ b/ch5/examples/01/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "fmt" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.ImportsOnly) + if err != nil { + log.Fatal(err) + } + + for _, s := range f.Imports { + fmt.Printf("import: name = %v, path = %#v\n", s.Name, s.Path) + } +} + +const src = `package foo +import "pkg-a" +import pkg_b_v2 "pkg-b" +import _ "pkg-c" +import . "pkg-d" +` diff --git a/ch5/examples/02/main.go b/ch5/examples/02/main.go new file mode 100644 index 0000000..f4b259b --- /dev/null +++ b/ch5/examples/02/main.go @@ -0,0 +1,29 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + for _, decl := range f.Decls { + if v, ok := decl.(*ast.GenDecl); ok { + for _, spec := range v.Specs { + fmt.Printf("%T\n", spec) + } + } + } +} + +const src = `package foo +type MyInt1 int +type MyInt2 = int +` diff --git a/ch5/examples/03/main.go b/ch5/examples/03/main.go new file mode 100644 index 0000000..ec1b35b --- /dev/null +++ b/ch5/examples/03/main.go @@ -0,0 +1,30 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + for _, decl := range f.Decls { + if v, ok := decl.(*ast.GenDecl); ok { + for _, spec := range v.Specs { + fmt.Printf("%T\n", spec) + ast.Print(nil, spec) + } + } + } +} + +const src = `package foo +const Pi = 3.14 +const E float64 = 2.71828 +` diff --git a/ch5/examples/04/main.go b/ch5/examples/04/main.go new file mode 100644 index 0000000..57f03cb --- /dev/null +++ b/ch5/examples/04/main.go @@ -0,0 +1,29 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + for _, decl := range f.Decls { + if v, ok := decl.(*ast.GenDecl); ok { + fmt.Printf("token: %v\n", v.Tok) + for _, spec := range v.Specs { + ast.Print(nil, spec) + } + } + } +} + +const src = `package foo +var Pi = 3.14 +` diff --git a/ch5/examples/xx/main.go b/ch5/examples/xx/main.go new file mode 100644 index 0000000..1a16391 --- /dev/null +++ b/ch5/examples/xx/main.go @@ -0,0 +1,46 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + fmt.Println(err) + return + } + ast.Print(nil, f) +} + +const src = `package foo + +import (_ "fmt") + +type MyInt int + +var x MyInt + +const Pi = 3.14 + +var ( + a = 1 + b = 2 +) + +func foo() {} +` + +/* +$ go doc go/ast | grep Decl +func FilterDecl(decl Decl, f Filter) bool +type BadDecl struct{ ... } +type Decl interface{ ... } +type DeclStmt struct{ ... } +type FuncDecl struct{ ... } +type GenDecl struct{ ... } +*/ diff --git a/ch5/readme.html b/ch5/readme.html new file mode 100644 index 0000000..21cfbd3 --- /dev/null +++ b/ch5/readme.html @@ -0,0 +1,515 @@ + + + + + + 第5章 通用声明 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第5章 通用声明

+

通用声明是不含函数声明的包级别声明:包含导入包、类型、常量和变量四种声明。本章我们将讨论通用声明在语法树中的表示形式。

+

5.1 导入声明

+

Go语言中,当package关键字成功定义一个包之后,导入语句必须在第一时间出现,然后才能是类型、常量、变量和函数等其它声明。导入包的语法如下:

+
ImportDecl  = "import" ( ImportSpec | "(" { ImportSpec ";" } ")" ) .
+ImportSpec  = [ "." | PackageName ] ImportPath .
+ImportPath  = string_lit .
+
+PackageName = identifier .
+
+

ImportDecl定义了导入声明的完整语法,第一个出现的必须是import关键字。然后小括弧中是import语句之后的部分,小括弧中的竖线分隔符表示只选择其中一个(和正则表达式的语法类似),这里是ImportSpec(单独导入一个包)或者是"(" { ImportSpec ";" } ")"(按组导入包)两种形式之一。ImportSpec定义了一个包的导入方式,中括弧中的导入名字是可选择的部分,ImportPath是由字符串面值组成的导入包路径。

+

根据导入语法定义,创建的导入声明有以下几种形式:

+
import "pkg-a"
+import pkg_b_v2 "pkg-b"
+import . "pkg-c"
+import _ "pkg-d"
+
+

其中第一种是默认的导入方式,导入后的名字采用的是"pkg-a"包定义的名字(具体的名字由依赖包决定)。第二种是将导入的"pkg-b"重新命名为pkg_b_v2。第三种是将依赖包的公开符号直接导入到当前文件的名字空间。第四种只是导入依赖包触发其包的初始化动作,但是不导入任何符号到当前文件名字空间。导入包的名字只在当前文件空间有效,因此pkg_b_v2这个名字不会扩散到当前包的其它源文件。

+

以下代码是对导入声明的解析:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.ImportsOnly)
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	for _, s := range f.Imports {
+		fmt.Printf("import: name = %v, path = %#v\n", s.Name, s.Path)
+	}
+}
+
+const src = `package foo
+import "pkg-a"
+import pkg_b_v2 "pkg-b"
+import . "pkg-c"
+import _ "pkg-d"
+`
+
+

在使用parser.ParseFile分析文件时,采用的是parser.ImportsOnly模式,这样语法分析只会解析包声明和导入包的部分,其后的类型、常量、变量和函数的声明则不会解析。然后通过ast.File的Imports成员获取详细的导入信息(Imports成员是根据Decls声明列表中的信息生成)。

+

以上程序的输出结果如下:

+
import: name = <nil>, path = &ast.BasicLit{ValuePos:20, Kind:9, Value:"\"pkg-a\""}
+import: name = pkg_b_v2, path = &ast.BasicLit{ValuePos:44, Kind:9, Value:"\"pkg-b\""}
+import: name = ., path = &ast.BasicLit{ValuePos:61, Kind:9, Value:"\"pkg-c\""}
+import: name = _, path = &ast.BasicLit{ValuePos:78, Kind:9, Value:"\"pkg-d\""}
+
+

其中第一个导入语句的Name是<nil>,表示采用的是依赖包的名字。其后的三个导入语句的Name都和我们导入声明指定的名字一致。关于导入包内部各种对象详细的定义则需要通过加载依赖的包才能获取,而内置的一些函数则需要通过手工方式和编译工具配合。

+

导入语句解析之后的语法树结构如图所示:

+

+

在编译完整的程序时,我们就可以根据导入包的路径加载其信息,通过导入后的Name访问依赖包中导出的符号。

+

5.2 基础类型声明

+

Go语言中通过type关键字声明类型:一种是声明新的类型,另一种是为已有的类型创建一个别名。以下是类型声明的语法规范:

+
TypeDecl = "type" ( TypeSpec | "(" { TypeSpec ";" } ")" ) .
+TypeSpec = AliasDecl | TypeDef .
+
+AliasDecl = identifier "=" Type .
+TypeDef   = identifier Type .
+Type      = identifier | "(" Type ")" .
+
+

其中TypeDecl定义了类型声明的语法规范,可以是每个类型独立定义或通过小括弧包含按组定义。其中AliasDecl是定义类型的别名(名字和类型中间有个赋值符号),而TypeDef则是定义一个新的类型。而基础的Type就是由标识符或者是小括弧包含的其它类型表示。

+

以下代码定义了一个新的MyInt1类型,同时为int创建一个MyInt2的别名:

+
type MyInt1 int
+type MyInt2 = int
+
+

然后通过以下代码解析以上两个类型声明语句:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+	}
+	...
+}
+
+const src = `package foo
+type MyInt1 int
+type MyInt2 = int
+`
+
+

返回的所有声明都在f.Decls列表中,而基础声明对应的是*ast.GenDecl类型。然后我们就可以通过以下代码,查看针对类型声明的*ast.GenDecl.Specs列表中每个元素的类型:

+
	for _, decl := range f.Decls {
+		if v, ok := decl.(*ast.GenDecl); ok {
+			for _, spec := range v.Specs {
+				fmt.Printf("%T\n", spec)
+			}
+		}
+	}
+	// Output:
+	// *ast.TypeSpec
+	// *ast.TypeSpec
+
+

经过运行测试,输出的是*ast.TypeSpec,对于类型声明在语法树的结点类型。*ast.TypeSpec的结构体定义如下:

+
type TypeSpec struct {
+	Doc     *CommentGroup // associated documentation; or nil
+	Name    *Ident        // type name
+	Assign  token.Pos     // position of '=', if any
+	Type    Expr          // *Ident, *ParenExpr, *SelectorExpr, *StarExpr, or any of the *XxxTypes
+	Comment *CommentGroup // line comments; or nil
+}
+
+

其中最重要的是TypeSpec.Name成员,表示新声明类型的名字或者是已有类型的别名。而TypeSpec.Assign成员对应=符号的位置,如果该成员表示的位置有效,则表示这是为已有类型定义一个别名(而不是定义新的类型)。最后TypeSpec.Type表示具体的类型的表达式,标识符表达式、小括号表达式、点号选择表达式、指针表达式和类似*ast.XxxTypes类型,目前我们展示的是最简单的标识符表示的类型。

+

5.3 常量声明

+

Go语言中常量属于编译时常量,只有布尔型、数值型和字符串三种常量类型,同时常量有分为弱类型和强类型常量。常量声明的语法规范如下:

+
ConstDecl      = "const" ( ConstSpec | "(" { ConstSpec ";" } ")" ) .
+ConstSpec      = IdentifierList [ [ Type ] "=" ExpressionList ] .
+
+IdentifierList = identifier { "," identifier } .
+ExpressionList = Expression { "," Expression } .
+
+

ConstDecl定义了常量声明的语法,同样可以单独声明每个常量也可以小括弧包含按组声明常量。每个常量可以明确指定运行时类型,也可以由初始化表达式推导出常量的类型。

+

以下代码展示了Pi和E两个数值型常量:

+
const Pi = 3.14
+const E float64 = 2.71828
+
+

其中Pi被定义为弱类型的浮点数常量,可以赋值给float32或float64为基础其它变量。而E是被定义为float64的强类型常量,默认只能接受float64类型的变量赋值。

+

常量声明和导入声明一样同属*ast.GenDecl类型的通用声明,它们的区别依然是在ast.GenDecl.Specs部分。我们可以使用同样的代码查看常量声明语句中Specs中元素的类型:

+
	for _, decl := range f.Decls {
+		if v, ok := decl.(*ast.GenDecl); ok {
+			for _, spec := range v.Specs {
+				fmt.Printf("%T\n", spec)
+			}
+		}
+	}
+	// Output:
+	// *ast.ValueSpec
+	// *ast.ValueSpec
+
+

这次输出的是*ast.ValueSpec类型,该类型的结构体定义如下:

+
type ValueSpec struct {
+	Doc     *CommentGroup // associated documentation; or nil
+	Names   []*Ident      // value names (len(Names) > 0)
+	Type    Expr          // value type; or nil
+	Values  []Expr        // initial values; or nil
+	Comment *CommentGroup // line comments; or nil
+}
+
+

因为Go语言支持多赋值语法,因此其中Names和Values分别表示常量的名字和值列表。而Type部分则用于区分常量是否指定了强类型(比如例子中的E被定义为float64类型)。可以通过ast.Print(nil, spec)输出每个常量的语法树结构:

+
 0  *ast.ValueSpec {
+ 1  .  Names: []*ast.Ident (len = 1) {
+ 2  .  .  0: *ast.Ident {
+ 3  .  .  .  NamePos: 19
+ 4  .  .  .  Name: "Pi"
+ 5  .  .  .  Obj: *ast.Object {
+ 6  .  .  .  .  Kind: const
+ 7  .  .  .  .  Name: "Pi"
+ 8  .  .  .  .  Decl: *(obj @ 0)
+ 9  .  .  .  .  Data: 0
+10  .  .  .  }
+11  .  .  }
+12  .  }
+13  .  Values: []ast.Expr (len = 1) {
+14  .  .  0: *ast.BasicLit {
+15  .  .  .  ValuePos: 24
+16  .  .  .  Kind: FLOAT
+17  .  .  .  Value: "3.14"
+18  .  .  }
+19  .  }
+20  }
+ 0  *ast.ValueSpec {
+ 1  .  Names: []*ast.Ident (len = 1) {
+ 2  .  .  0: *ast.Ident {
+ 3  .  .  .  NamePos: 35
+ 4  .  .  .  Name: "E"
+ 5  .  .  .  Obj: *ast.Object {
+ 6  .  .  .  .  Kind: const
+ 7  .  .  .  .  Name: "E"
+ 8  .  .  .  .  Decl: *(obj @ 0)
+ 9  .  .  .  .  Data: 0
+10  .  .  .  }
+11  .  .  }
+12  .  }
+13  .  Type: *ast.Ident {
+14  .  .  NamePos: 37
+15  .  .  Name: "float64"
+16  .  }
+17  .  Values: []ast.Expr (len = 1) {
+18  .  .  0: *ast.BasicLit {
+19  .  .  .  ValuePos: 47
+20  .  .  .  Kind: FLOAT
+21  .  .  .  Value: "2.71828"
+22  .  .  }
+23  .  }
+24  }
+
+

可以发现*ast.ValueSpec中Names部分输出的就是普通的*ast.Ident标识符类型,其中包含常量的名字。而Values部分输出的是*ast.BasicLit是基础的面值常量。比较特殊的是E常量对应的*ast.ValueSpec中携带了Type信息,这里是通过*ast.Ident类型表示常量被指定为float64类型。

+

5.4 变量声明

+

变量声明的语法规范和常量声明几乎是一样的,只是开始的var关键字不同而已。变量声明的语法规范如下:

+
VarDecl = "var" ( VarSpec | "(" { VarSpec ";" } ")" ) .
+VarSpec = IdentifierList [ [ Type ] "=" ExpressionList ] .
+
+IdentifierList = identifier { "," identifier } .
+ExpressionList = Expression { "," Expression } .
+
+

变量的声明和常量的声明有着相同的结构,在语法树中可以根据*ast.GenDecl结构中的Tok区别它们。其实根据*ast.GenDecl结构中的Tok可以区分所有的基本声明,包含导入声明、类型声明、常量和变量声明。

+

下面是构建变量声明语法树的例子:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+	}
+	for _, decl := range f.Decls {
+		if v, ok := decl.(*ast.GenDecl); ok {
+			fmt.Printf("token: %v\n", v.Tok)
+			for _, spec := range v.Specs {
+				ast.Print(nil, spec)
+			}
+		}
+	}
+}
+
+const src = `package foo
+var Pi = 3.14
+`
+
+

输出的结果如下:

+
token: var
+ 0  *ast.ValueSpec {
+ 1  .  Names: []*ast.Ident (len = 1) {
+ 2  .  .  0: *ast.Ident {
+ 3  .  .  .  NamePos: 17
+ 4  .  .  .  Name: "Pi"
+ 5  .  .  .  Obj: *ast.Object {
+ 6  .  .  .  .  Kind: var
+ 7  .  .  .  .  Name: "Pi"
+ 8  .  .  .  .  Decl: *(obj @ 0)
+ 9  .  .  .  .  Data: 0
+10  .  .  .  }
+11  .  .  }
+12  .  }
+13  .  Values: []ast.Expr (len = 1) {
+14  .  .  0: *ast.BasicLit {
+15  .  .  .  ValuePos: 22
+16  .  .  .  Kind: FLOAT
+17  .  .  .  Value: "3.14"
+18  .  .  }
+19  .  }
+20  }
+
+

首先输出的Tok值为var,表示这是一个变量声明。变量的名字和类型通过*ast.ValueSpec结构表示。

+

5.5 按组声明

+

支持按组声明的语法有着类似以下的语法结构:

+
XxxDecl = "xxx" ( XxxSpec | "(" { XxxSpec ";" } ")" ) .
+XxxSpec = ...
+
+

其中xxx表示声明开头的关键字,基础声明部分的导入声明、类型声明、常量和变量声明都支持按组声明的方式。但是函数的声明是不支持按组的方式的,因此声明部分将函数的声明从基础声明独立出来处理。

+

以下的例子定义了一个常量和两个变量,其中常量是独立声明,两个变量是按组声明:

+
const Pi = 3.14
+
+var (
+	a int
+	b bool
+)
+
+

以上代码对应语法树的逻辑结构如图所示:

+

+

因为第一个出现的是const关键字,因此*ast.File.Decls的第一个元素是表示常量的*ast.GenDecl类型,其中Specs列表只有一个元素对应Pi常量。第二个出现的是var关键字,因此*ast.File.Decls的第二个元素是表示变量的*ast.GenDecl类型,其中Specs列表有两个元素分别对应a和b两个变量,Specs列表的长度对应组声明中元素的个数。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch6/examples/01/main.go b/ch6/examples/01/main.go new file mode 100644 index 0000000..381f65c --- /dev/null +++ b/ch6/examples/01/main.go @@ -0,0 +1,36 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "log" +) + +func hello(string, int) { + //println(string) +} + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + //ast.Print(nil, decl) + if fn, ok := decl.(*ast.FuncDecl); ok { + fmt.Println("func name: ", fn.Name) + //ast.Print(nil, fn.Recv) + ast.Print(nil, fn.Type.Params.List) + } + } +} + +const src = `package foo +func hello(string, string) +func hello2(a string, b string) +//func hello(s0, s1 string, string, f func(a, b int)) +` diff --git a/ch6/readme.html b/ch6/readme.html new file mode 100644 index 0000000..0a5a51f --- /dev/null +++ b/ch6/readme.html @@ -0,0 +1,328 @@ + + + + + + 第6章 函数声明 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第6章 函数声明

+

函数是所有编程语言中的核心,因为只有函数的语句才有了计算的功能。Go语言的函数也是一种值数据,可以定义包级别的函数,也可以为自定义的类型定义方法,同时还可以在局部作用域内定义闭包函数。本节将讨论函数的数据类型。

+

6.1 函数的语法

+

在顶级声明中包含函数和方法的声明,从语法角度看函数是没有接收者参数的方法特例。函数的语法规则如下:

+
FunctionDecl = "func" MethodName Signature [ FunctionBody ] .
+MethodDecl   = "func" Receiver MethodName Signature [ FunctionBody ] .
+
+MethodName     = identifier .
+Receiver       = Parameters .
+Signature      = Parameters [ Result ] .
+Result         = Parameters | Type .
+Parameters     = "(" [ ParameterList [ "," ] ] ")" .
+ParameterList  = ParameterDecl { "," ParameterDecl } .
+ParameterDecl  = [ IdentifierList ] [ "..." ] Type .
+
+

其中FunctionDecl表示函数,而MethodDecl表示方法。MethodDecl表示的方法规范比函数多了Receiver语法结构,Receiver表示方法的接收者参数。然后是MethodName表示的函数或方法名,Signature表示函数的签名(或者叫类型),最后是函数的主体。需要注意的是函数的签名只有输入参数和返回值部分,因此函数或方法的名字、以及方法的接收者类型都不是函数签名的组成部分。从以上定义还可以发现,Receiver、Parameters和Result都是ParameterList定义,因此有着相同的语法结构(在语法树中也是有着相同的结构)。

+

6.2 定义函数

+

包一级的函数只有包函数和方法两种类型(闭包函数只能在函数体内部创建),而包函数可以看作是没有接收者的方法函数。因此只有搞明白方法函数的类型,全局的包函数自然就清楚了。

+

下面是一个方法函数:

+
func (p *xType) Hello(arg1, arg2 int) (bool, error) { ... }
+
+

通过parser.ParseFile解析得到*ast.File类型的f返回值之后,可以通过以下的代码打印方法的声明:

+
	for _, decl := range f.Decls {
+		if fn, ok := decl.(*ast.FuncDecl); ok {
+			ast.Print(nil, fn)
+		}
+	}
+
+

函数的声明对应*ast.FuncDecl类型,它的定义如下:

+
type FuncDecl struct {
+	Doc  *CommentGroup // associated documentation; or nil
+	Recv *FieldList    // receiver (methods); or nil (functions)
+	Name *Ident        // function/method name
+	Type *FuncType     // function signature: parameters, results, and position of "func" keyword
+	Body *BlockStmt    // function body; or nil for external (non-Go) function
+}
+
+

其中Recv对应接收者列表,在这里是指(p *xType)部分。Name是函数的名字,这里的名字是Hello。而Type表示方法或函数的类型(函数的类型和接口的定义一致,因为接口并不包含接收者信息),其中包含输入参数和返回值信息。最后的Body表示函数体中的语句部分,我们暂时忽略函数体部分。

+

函数声明最重要的是名字、接收者、输入参数和返回值,其中除名字之外的三者都是ast.FieldList类型,而输入参数和返回值又被封装为ast.FuncType类型。表示函数类型的ast.FuncType结构体定义如下:

+
type FuncType struct {
+	Func    token.Pos  // position of "func" keyword (token.NoPos if there is no "func")
+	Params  *FieldList // (incoming) parameters; non-nil
+	Results *FieldList // (outgoing) results; or nil
+}
+
+

其中Params和Results分别表示输入参数和返回值列表,它们和函数的接收者参数列表是相同的类型。因此该方法的定义可以用下图表示:

+

+

对于没有接收者的包函数,ast.FuncDecl.Recv部分为nil。而对于方法函数,即使定义多个接收者参数依然是可以正确解析的。因此合法的语法树不一定完全满足Go语言的规范,一般在语法树构建完成之后还需要专门进行语义分析。

+

6.3 参数分组

+

接收者、输入和返回值参数均由ast.FieldList定义,该结构体定义如下:

+
type FieldList struct {
+	Opening token.Pos // position of opening parenthesis/brace, if any
+	List    []*Field  // field list; or nil
+	Closing token.Pos // position of closing parenthesis/brace, if any
+}
+type Field struct {
+	Doc     *CommentGroup // associated documentation; or nil
+	Names   []*Ident      // field/method/parameter names; or nil
+	Type    Expr          // field/method/parameter type
+	Tag     *BasicLit     // field tag; or nil
+	Comment *CommentGroup // line comments; or nil
+}
+
+

ast.FieldList其实是[]*ast.Field切片类型的再次包装,注意是增加了开始和结束的位置信息。每一个ast.Field表示一组参数,所有参数的名字由[]*ast.Ident切片表示,而通一组参数有着相同的类型。Type表示一组参数的类型,是一个类型表达式。

+

查看下面的例子:

+
func Hello1(s0, s1 string, s2 string)
+
+

其中s0省略了类型,和s1共享string类型,因此s0和s1是一组参数,对应一个ast.Field。而s2是另一个独立的ast.Field

+

函数的接收者、输入和返回值参数均可以省略名字,如果省略了名字则使用后面第一次出现的类型。如果全部参数都省略了名字,那么每个参数就只有类型信息,函数体内部无法再通过参数名字访问参数。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch7/examples/01/main.go b/ch7/examples/01/main.go new file mode 100644 index 0000000..6183e44 --- /dev/null +++ b/ch7/examples/01/main.go @@ -0,0 +1,25 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type Int1 int +type Int2 pkg.int +` diff --git a/ch7/examples/02/main.go b/ch7/examples/02/main.go new file mode 100644 index 0000000..14d7526 --- /dev/null +++ b/ch7/examples/02/main.go @@ -0,0 +1,25 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type IntPtr *int +type IntPtrPtr **int +` diff --git a/ch7/examples/03/main.go b/ch7/examples/03/main.go new file mode 100644 index 0000000..03927a6 --- /dev/null +++ b/ch7/examples/03/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type IntArrayArray [1][2]int +` diff --git a/ch7/examples/04/main.go b/ch7/examples/04/main.go new file mode 100644 index 0000000..9928947 --- /dev/null +++ b/ch7/examples/04/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type IntSlice []int +` diff --git a/ch7/examples/05/main.go b/ch7/examples/05/main.go new file mode 100644 index 0000000..214dd0f --- /dev/null +++ b/ch7/examples/05/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type MyStruct struct { + a, b int "int value" + string +} +` diff --git a/ch7/examples/06/main.go b/ch7/examples/06/main.go new file mode 100644 index 0000000..d63f67b --- /dev/null +++ b/ch7/examples/06/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type IntStringMap map[int]string +` diff --git a/ch7/examples/07/main.go b/ch7/examples/07/main.go new file mode 100644 index 0000000..c5c29a5 --- /dev/null +++ b/ch7/examples/07/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type IntChan chan int +` diff --git a/ch7/examples/08/main.go b/ch7/examples/08/main.go new file mode 100644 index 0000000..cf09753 --- /dev/null +++ b/ch7/examples/08/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type FuncType func(a, b int) bool +` diff --git a/ch7/examples/09/main.go b/ch7/examples/09/main.go new file mode 100644 index 0000000..15ba003 --- /dev/null +++ b/ch7/examples/09/main.go @@ -0,0 +1,26 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + for _, decl := range f.Decls { + ast.Print(nil, decl.(*ast.GenDecl).Specs[0]) + } +} + +const src = `package foo +type IntReader interface { + Read() int +} +` diff --git a/ch7/examples/0x-001/main.go b/ch7/examples/0x-001/main.go new file mode 100644 index 0000000..031cbe8 --- /dev/null +++ b/ch7/examples/0x-001/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors) + if err != nil { + log.Fatal(err) + } + + ast.Print(nil, f.Decls[0].(*ast.GenDecl).Specs[0]) +} + +const src = `package foo +type Node struct { + Next *Node +} +` diff --git a/ch7/readme.html b/ch7/readme.html new file mode 100644 index 0000000..1d125be --- /dev/null +++ b/ch7/readme.html @@ -0,0 +1,778 @@ + + + + + + 第7章 复合类型 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第7章 复合类型

+

这里讨论的复合类型是指无法用一个标识符表示的类型,它们包含其它包中的基础类型(需要通过点号选择操作符)、指针类型、 +数组类型、切片类型、结构体类型、map类型、管道类型、函数类型和接口类型,以及它们之间再次组合产生的更复杂的类型。

+

7.1 类型的语法

+

在基础类型声明章节我们已经简要学习过类型的声明语法规范,不过当时只讨论了基于标识符的简单声明。本章我们将继续探讨复合类型声明的语法和语法树的表示。以下是更为完整的类型声明的语法规范:

+
TypeDecl  = "type" ( TypeSpec | "(" { TypeSpec ";" } ")" ) .
+TypeSpec  = AliasDecl | TypeDef .
+
+AliasDecl = identifier "=" Type .
+TypeDef   = identifier Type .
+
+Type      = TypeName | TypeLit | "(" Type ")" .
+TypeName  = identifier | PackageName "." identifier .
+TypeLit   = PointerType | ArrayType | SliceType
+          | StructType | MapType | ChannelType
+          | FunctionType | InterfaceType
+          .
+
+

增加的部分主要在TypeName和TypeLit。TypeName不仅仅可以从当前空间的标识符定义新类型,还支持从其它包导入的标识符定义类型。而TypeLit表示类型面值,比如基于已有类型的指针,或者是匿名的结构体都属于类型的面值。

+

如前文所描述,类型定义由*ast.TypeSpec结构体表示,复合类型也是如此。下面再来回顾下该结构体的定义:

+
type TypeSpec struct {
+	Doc     *CommentGroup // associated documentation; or nil
+	Name    *Ident        // type name
+	Assign  token.Pos     // position of '=', if any; added in Go 1.9
+	Type    Expr          // *Ident, *ParenExpr, *SelectorExpr, *StarExpr, or any of th *XxxTypes
+	Comment *CommentGroup // line comments; or nil
+}
+
+

其中Name成员表示给类型命名,Type通过特殊的类型表达式表示类型的定义,此外如果Assign被设置则表示声明的是类型的别名。

+

7.2 基础类型

+

基础类型是最简单的类型,就是基于已有的命名类型再次定义新类型,或者是为已有类型定义新的别名。该类型的语法规则比较简单,主要限制在Type部分:

+
TypeDecl  = "type" ( TypeSpec | "(" { TypeSpec ";" } ")" ) .
+TypeSpec  = AliasDecl | TypeDef .
+
+AliasDecl = identifier "=" Type .
+TypeDef   = identifier Type .
+
+Type      = identifier | PackageName "." identifier .
+
+

Type表示已有的命名类型,可以是当前包的类型,也可以是其它包的类型。下面是这些类型的例子:

+
type Int1 int
+type Int2 pkg.Int
+
+

其中第一个Int1类型是基于当前名字空间可以直接访问的int类型,而第二个Int2类型是基于导入的pkg包中的Int类型。我们可以用以下代码解析上面的类型声明:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	for _, decl := range f.Decls {
+		ast.Print(nil, decl.(*ast.GenDecl).Specs[0])
+	}
+}
+
+const src = `package foo
+type Int1 int
+type Int2 pkg.int
+`
+
+

第一个类型的输出结果如下:

+
 0  *ast.TypeSpec {
+ 1  .  Name: *ast.Ident {
+ 2  .  .  NamePos: 18
+ 3  .  .  Name: "Int1"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: type
+ 6  .  .  .  Name: "Int1"
+ 7  .  .  .  Decl: *(obj @ 0)
+ 8  .  .  }
+ 9  .  }
+10  .  Assign: 0
+11  .  Type: *ast.Ident {
+12  .  .  NamePos: 23
+13  .  .  Name: "int"
+14  .  }
+15  }
+
+

第二个类型的输出结果如下:

+
 0  *ast.TypeSpec {
+ 1  .  Name: *ast.Ident {
+ 2  .  .  NamePos: 32
+ 3  .  .  Name: "Int2"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: type
+ 6  .  .  .  Name: "Int2"
+ 7  .  .  .  Decl: *(obj @ 0)
+ 8  .  .  }
+ 9  .  }
+10  .  Assign: 0
+11  .  Type: *ast.SelectorExpr {
+12  .  .  X: *ast.Ident {
+13  .  .  .  NamePos: 37
+14  .  .  .  Name: "pkg"
+15  .  .  }
+16  .  .  Sel: *ast.Ident {
+17  .  .  .  NamePos: 41
+18  .  .  .  Name: "int"
+19  .  .  }
+20  .  }
+21  }
+
+

对比两个结果可以发现,Int1的Type定义对应的是*ast.Ident表示一个标识符,而Int2的Type定义对应的是*ast.SelectorExpr表示是其它包的命名类型。*ast.SelectorExp结构体定义如下:

+
type SelectorExpr struct {
+	X   Expr   // expression
+	Sel *Ident // field selector
+}
+
+

结构体X成员被定义为Expr接口类型,不过根据当前的语法必须是一个标识符类型(之所以被定义为表达式接口,是因为其它的表达式会复用这个结构体)。Sel成员被定义为标识符类型,表示被选择的标识符名字。

+

7.3 指针类型

+

指针是操作底层类型时最强有力的武器,只要有指针就可以操作内存上的所有数据。最简单的是一级指针,然后再扩展出二级和更多级指针。以下是Go语言指针类型的语法规范:

+
PointerType = "*" BaseType .
+BaseType    = Type .
+
+Type        = TypeName | TypeLit | "(" Type ")" .
+...
+
+

指针类型以星号*开头,后面是BaseType定义的类型表达式。从语法规范角度看,Go语言没有单独定义多级指针,只有一种指向BaseType类型的一级指针。但是PointerType又可以作为TypeLit类型面值被重新用作BaseType,这就产生了多级指针的语法。

+

下面是一级指针语法树解析的例子:

+
func main() {
+	fset := token.NewFileSet()
+	f, err := parser.ParseFile(fset, "hello.go", src, parser.AllErrors)
+	if err != nil {
+		log.Fatal(err)
+	}
+
+	for _, decl := range f.Decls {
+		ast.Print(nil, decl.(*ast.GenDecl).Specs[0])
+	}
+}
+
+const src = `package foo
+type IntPtr *int
+`
+
+

解析的结果如下:

+
 0  *ast.TypeSpec {
+ 1  .  Name: *ast.Ident {
+ 2  .  .  NamePos: 18
+ 3  .  .  Name: "IntPtr"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: type
+ 6  .  .  .  Name: "IntPtr"
+ 7  .  .  .  Decl: *(obj @ 0)
+ 8  .  .  }
+ 9  .  }
+10  .  Assign: 0
+11  .  Type: *ast.StarExpr {
+12  .  .  Star: 25
+13  .  .  X: *ast.Ident {
+14  .  .  .  NamePos: 26
+15  .  .  .  Name: "int"
+16  .  .  }
+17  .  }
+18  }
+
+

新类型的名字依然是普通的*ast.Ident标识符类型,其值是新类型的名字“IntPtr”。而ast.TypeSpec.Type成员则是新的*ast.StarExpr类型,其结构体定义如下:

+
type StarExpr struct {
+	Star token.Pos // position of "*"
+	X    Expr      // operand
+}
+
+

指针指向的X类型是一个递归定义的类型表达式。在这个例子中X就是一个*ast.Ident标识符类型表示的int,因此IntPtr类型是一个指向int类型的指针类型。

+

指针是一种天然递归定义的类型。我们可以再定义一个指向IntPtr类型的指针,它又是一个指向int类型的二级指针。但是在语法树表示时,指向IntPtr类型的一级指针和指向int类型的二级指针结构是不一样的,因为语法树解析器会将IntPtr和int都作为普通类型同等对待(语法树解析器只知道这是指向IntPtr类型的一级指针,而不知道它也是指向int类型的二级指针)。

+

下面的例子依然是在int类型基础之上定义二级指针:

+
type IntPtrPtr **int
+
+

解析后语法树发生的最大的差异在类型定义部分:

+
11  .  Type: *ast.StarExpr {
+12  .  .  Star: 28
+13  .  .  X: *ast.StarExpr {
+14  .  .  .  Star: 29
+15  .  .  .  X: *ast.Ident {
+16  .  .  .  .  NamePos: 30
+17  .  .  .  .  Name: "int"
+18  .  .  .  }
+19  .  .  }
+20  .  }
+
+

现在ast.StarExpr.X不再是一个*ast.Ident标识符类型,而是变成了*ast.StarExpr类型的指针类型。对于多级指针的*ast.StarExpr类型很像一个单向的链表,其中X成员指向的是减一级指针的*ast.StarExpr结点,链表的尾结点是一个*ast.Ident标识符类型。

+

7.4 数组类型

+

在传统的C/C++语言中,数组是和指针近似等同的类型,特别在传递参数时只传递数组的首地址。Go语言的数组类型是一种值类型,每次传递数组参数或者赋值都是生成数组的拷贝。但是从数组的语法定义角度看,它和指针类型也是非常相似的。以下是数组类型的语法规范:

+
ArrayType   = "[" ArrayLength "]" ElementType .
+ArrayLength = Expression .
+ElementType = Type .
+
+

Go语言中数组的长度也是其类型的组成部分,数组长度是由一个表达式定义(在语义层面这个表达式必须是常量)。然后是数组元素的类型。如果抛开数组的长度部分的差异,数组类型和指针类型是非常相似的语法结构。数组元素部分的ElementType类型也可以是数组,这又构成了多级数组的语法规范。

+

下面是简单的一维整型数组的例子:

+
type IntArray [1]int
+
+

解析结果如下:

+
 0  *ast.TypeSpec {
+ 1  .  Name: *ast.Ident {
+ 2  .  .  NamePos: 18
+ 3  .  .  Name: "IntArray"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: type
+ 6  .  .  .  Name: "IntArray"
+ 7  .  .  .  Decl: *(obj @ 0)
+ 8  .  .  }
+ 9  .  }
+10  .  Assign: 0
+11  .  Type: *ast.ArrayType {
+12  .  .  Lbrack: 27
+13  .  .  Len: *ast.BasicLit {
+14  .  .  .  ValuePos: 28
+15  .  .  .  Kind: INT
+16  .  .  .  Value: "1"
+17  .  .  }
+18  .  .  Elt: *ast.Ident {
+19  .  .  .  NamePos: 30
+20  .  .  .  Name: "int"
+21  .  .  }
+22  .  }
+23  }
+
+

数组的类型主要由*ast.ArrayType类型定义。数组的长度是一个*ast.BasicLit类型的表达式,也就是长度为1的数组。数组元素的长度是*ast.Ident类型的标识符表示,数组的元素对应int类型。

+

完整的*ast.ArrayType结构体如下:

+
type ArrayType struct {
+	Lbrack token.Pos // position of "["
+	Len    Expr      // Ellipsis node for [...]T array types, nil for slice types
+	Elt    Expr      // element type
+}
+
+

其中ast.ArrayType.Len成员是一个表示数组长度的表达式,该表达式必须可以产生常量的整数结果(也可以是三个点省略号表示从元素个数提取)。数组的元素由ast.ArrayType.Elt定义,其值对应一个类型表达式。和指针类型一样,数组类型也是可以递归定义的,数组的元素类型可以数数组、指针等其它任何类型。

+

同样,我们可以定义一个二维数组:

+
type IntArrayArray [1][2]int
+
+

解析结果如下:

+
11  .  Type: *ast.ArrayType {
+12  .  .  Lbrack: 32
+13  .  .  Len: *ast.BasicLit {
+14  .  .  .  ValuePos: 33
+15  .  .  .  Kind: INT
+16  .  .  .  Value: "1"
+17  .  .  }
+18  .  .  Elt: *ast.ArrayType {
+19  .  .  .  Lbrack: 35
+20  .  .  .  Len: *ast.BasicLit {
+21  .  .  .  .  ValuePos: 36
+22  .  .  .  .  Kind: INT
+23  .  .  .  .  Value: "2"
+24  .  .  .  }
+25  .  .  .  Elt: *ast.Ident {
+26  .  .  .  .  NamePos: 38
+27  .  .  .  .  Name: "int"
+28  .  .  .  }
+29  .  .  }
+30  .  }
+
+

同样,数组元素的类型也变成了嵌套的数组类型。N维的数组类型的语法树也类似一个单向链表结构,后N-1维的数组的元素也是*ast.ArrayType类型,最后的尾结点对应一个*ast.Ident标识符(也可以是其它面值类型)。

+

7.5 切片类型

+

Go语言中切片是简化的数组,切片中引入了诸多数组不支持的语法。不过对于切片类型的定义来说,切片和数组的差异就是省略了数组的长度而已。切片类型声明的语法规则如下:

+
SliceType   = "[" "]" ElementType .
+ElementType = Type .
+
+

下面例子是定义一个int切片:

+
type IntSlice []int
+
+

对其解析语法树的输出如下:

+
 0  *ast.TypeSpec {
+ 1  .  Name: *ast.Ident {
+ 2  .  .  NamePos: 18
+ 3  .  .  Name: "IntSlice"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: type
+ 6  .  .  .  Name: "IntSlice"
+ 7  .  .  .  Decl: *(obj @ 0)
+ 8  .  .  }
+ 9  .  }
+10  .  Assign: 0
+11  .  Type: *ast.ArrayType {
+12  .  .  Lbrack: 27
+13  .  .  Elt: *ast.Ident {
+14  .  .  .  NamePos: 29
+15  .  .  .  Name: "int"
+16  .  .  }
+17  .  }
+18  } 
+
+

切片和数组一样,也是通过*ast.ArrayType结构表示切片,不过Len长度成员为nil类型(切片必须是nil,如果是0则表示是数组类型)。

+

7.6 结构体类型

+

结构体类型是数组类型的再次演进:数组是类型相同的元素的组合,并通过下标索引定位元素;而结构体类型是不同类型元素的组合,可以通过名字来定位元素。结构体类型这种可以组合异构元素类型的抽象能力极大地改进了数据结构编程的体验。结构体类型的语法规范定义如下:

+
StructType     = "struct" "{" { FieldDecl ";" } "}" .
+FieldDecl      = (IdentifierList Type | EmbeddedField) [ Tag ] .
+EmbeddedField  = [ "*" ] TypeName .
+Tag            = string_lit .
+
+IdentifierList = identifier { "," identifier } .
+TypeName       = identifier | PackageName "." identifier .
+
+

结构体通过struct关键字开始定义,然后在大括弧中包含成员的定义。每一个FieldDecl表示一组有着相同类型和Tag字符串的标识符名字,或者是嵌入的匿名类型或类型指针。以下是结构体的例子:

+
type MyStruct struct {
+	a, b int "int value"
+	string
+}
+
+

其中a和b成员不仅仅有着相同的int类型,同时还有着相同的Tag字符串,最后的成员是嵌入一个匿名的字符串。

+

对其解析语法树的输出如下(为了简化省略了一些无关的信息):

+
11  .  Type: *ast.StructType {
+12  .  .  Struct: 27
+13  .  .  Fields: *ast.FieldList {
+14  .  .  .  Opening: 34
+15  .  .  .  List: []*ast.Field (len = 2) {
+16  .  .  .  .  0: *ast.Field {
+17  .  .  .  .  .  Names: []*ast.Ident (len = 2) {
+18  .  .  .  .  .  .  0: *ast.Ident {
+19  .  .  .  .  .  .  .  NamePos: 37
+20  .  .  .  .  .  .  .  Name: "a"
+21  .  .  .  .  .  .  .  Obj: *ast.Object {...}
+26  .  .  .  .  .  .  }
+27  .  .  .  .  .  .  1: *ast.Ident {
+28  .  .  .  .  .  .  .  NamePos: 40
+29  .  .  .  .  .  .  .  Name: "b"
+30  .  .  .  .  .  .  .  Obj: *ast.Object {...}
+35  .  .  .  .  .  .  }
+36  .  .  .  .  .  }
+37  .  .  .  .  .  Type: *ast.Ident {
+38  .  .  .  .  .  .  NamePos: 42
+39  .  .  .  .  .  .  Name: "int"
+40  .  .  .  .  .  }
+41  .  .  .  .  .  Tag: *ast.BasicLit {
+42  .  .  .  .  .  .  ValuePos: 46
+43  .  .  .  .  .  .  Kind: STRING
+44  .  .  .  .  .  .  Value: "\"int value\""
+45  .  .  .  .  .  }
+46  .  .  .  .  }
+47  .  .  .  .  1: *ast.Field {
+48  .  .  .  .  .  Type: *ast.Ident {
+49  .  .  .  .  .  .  NamePos: 59
+50  .  .  .  .  .  .  Name: "string"
+51  .  .  .  .  .  }
+52  .  .  .  .  }
+53  .  .  .  }
+54  .  .  .  Closing: 66
+55  .  .  }
+56  .  .  Incomplete: false
+57  .  }
+
+

所有的结构体成员由*ast.FieldList表示,其中有三个*ast.Field元素。第一个*ast.Field对应a, b int "int value"的成员声明,包含了成员名字列表、类型和Tag信息。最后的*ast.Field是嵌入的string成员,只有普通的名字而没有类型信息(匿名嵌入成员也可以单独定义Tag字符串)。

+

其中ast.StructType等和结构体相关的语法树结构定义如下:

+
type StructType struct {
+	Struct     token.Pos  // position of "struct" keyword
+	Fields     *FieldList // list of field declarations
+	Incomplete bool       // true if (source) fields are missing in the Fields list
+}
+type FieldList struct {
+	Opening token.Pos // position of opening parenthesis/brace, if any
+	List    []*Field  // field list; or nil
+	Closing token.Pos // position of closing parenthesis/brace, if any
+}
+type Field struct {
+	Doc     *CommentGroup // associated documentation; or nil
+	Names   []*Ident      // field/method/parameter names; or nil
+	Type    Expr          // field/method/parameter type
+	Tag     *BasicLit     // field tag; or nil
+	Comment *CommentGroup // line comments; or nil
+}
+
+

StructType中最重要的信息是FieldList类型的Fields成员声明列表信息。而每一组成员声明又由ast.Field表示,其中包含一组成员的名字,共享的类型和Tag字符串。需要注意的是,ast.Field不仅仅用于表示结构体成员的语法树结点,同时也用于表示接口的方法列表、函数或方法的各种参数列表(接收者参数、输入参数和返回值),因此这是一个异常重要的类型。

+

7.7 Map类型

+

Map其实是从数组和结构体的混合类型发展而来。Map支持根据元素的名字(也就是key)动态添加删除元素,但是其中的所有元素必须有着相同的类型。很多其它语言甚至用Map代替结构体和数组,比如Lua中以Table关联数组同时实现了数组和结构体的功能,而JavaScript中也是通过类似Map的对象来实现结构体。Go作为一个静态语言将Map直接作为语言内置的语法构造引入是一个比较大胆激进的行为,但同时也简化了相关数据结构的编程(因为内置的语法增加了部分泛型的功能,大大提升了编程体验)。

+

Map类型的语法规范定义比较简单:

+
MapType = "map" "[" KeyType "]" ElementType .
+KeyType = Type .
+
+

首先以map关键字开始,然后通过中括弧包含Key的类型,最后是元素的类型。需要注意的是,Map中的Key必须是可进行相等比较的类型(典型的切片就不能作为Key类型),但是在语法树解析阶段并不会做这类检查。

+

下面是基于map定义的新类型:

+
type IntStringMap map[int]string
+
+

解析的语法树输出如下:

+
11  .  Type: *ast.MapType {
+12  .  .  Map: 31
+13  .  .  Key: *ast.Ident {
+14  .  .  .  NamePos: 35
+15  .  .  .  Name: "int"
+16  .  .  }
+17  .  .  Value: *ast.Ident {
+18  .  .  .  NamePos: 39
+19  .  .  .  Name: "string"
+20  .  .  }
+21  .  }
+
+

虽然Map功能强大,但是表示其类型的语法树比较简单。其中Key和Value部分都是类型表达式,这个例子中分别是int和string标识符。

+

下面是ast.MapType语法树结点的定义:

+
type MapType struct {
+	Map   token.Pos // position of "map" keyword
+	Key   Expr
+	Value Expr
+}
+
+

其中Key和Value部分都是类型表达式,可以是其它更复杂的组合类型。

+

7.8 管道类型

+

管道是Go语言比较有特色的类型,管道有双向管道、只写管道和只读管道之分,同时管道有元素类型。管道类型的语法规范如下:

+
ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType .
+
+

在语法树中管道类型由ast.ChanType结构体定义:

+
type ChanType struct {
+	Begin token.Pos // position of "chan" keyword or "<-" (whichever comes first)
+	Arrow token.Pos // position of "<-" (token.NoPos if there is no "<-"); added in Go 1.1
+	Dir   ChanDir   // channel direction
+	Value Expr      // value type
+}
+
+type ChanDir int
+
+const (
+	SEND ChanDir = 1 << iota
+	RECV
+)
+
+

其中ast.ChanType.Dir是管道的方向,SEND表示发送、RECV表示接收、SEND|RECV比特位组合表示双向管道。下面的例子是一个双向的int管道:

+
type IntChan chan int
+
+

解析的语法树结果如下:

+
11  .  Type: *ast.ChanType {
+12  .  .  Begin: 26
+13  .  .  Arrow: 0
+14  .  .  Dir: 3
+15  .  .  Value: *ast.Ident {
+16  .  .  .  NamePos: 31
+17  .  .  .  Name: "int"
+18  .  .  }
+19  .  }
+
+

其中ast.ChanType.Dir值是3,也就是SEND|RECV比特位组合,表示这是一个双向管道。而ast.ChanType.Value部分表示管道值的类型,这里是一个ast.Ident表示的int类型。

+

7.9 函数类型

+

函数类型基本上是函数签名部分,包含函数的输入参数和返回值类型。在函数声明一节我们已经见过函数声明的语法规范,但是函数类型不包含函数的名字。函数类型的语法规范如下:

+
FunctionType   = "func" Signature .
+Signature      = Parameters [ Result ] .
+Result         = Parameters | Type .
+Parameters     = "(" [ ParameterList [ "," ] ] ")" .
+ParameterList  = ParameterDecl { "," ParameterDecl } .
+ParameterDecl  = [ IdentifierList ] [ "..." ] Type .
+
+

func关键字后面直接是输入参数和返回值列表组成的函数签名,不包含函数的名字。下面函数类型的一个例子:

+
type FuncType func(a, b int) bool
+
+

函数类型中类型部分也是由ast.FuncType结构体定义。关于函数类型的细节请参考函数声明章节。

+

7.10 接口类型

+

从语法结构角度看,接口和结构体类型很像,不过接口的每个成员都是函数类型。接口类型的语法规则如下:

+
InterfaceType      = "interface" "{" { MethodSpec ";" } "}" .
+MethodSpec         = MethodName Signature | InterfaceTypeName .
+MethodName         = identifier .
+InterfaceTypeName  = TypeName .
+
+Signature          = Parameters [ Result ] .
+Result             = Parameters | Type .
+
+

接口中每个成员都是函数类型,但是函数类型部分不包含func关键字。下面是只要一个方法成员的接口:

+
type IntReader interface {
+	Read() int
+}
+
+

对齐分析语法树结果如下:

+
11  .  Type: *ast.InterfaceType {
+12  .  .  Interface: 28
+13  .  .  Methods: *ast.FieldList {
+14  .  .  .  Opening: 38
+15  .  .  .  List: []*ast.Field (len = 1) {
+16  .  .  .  .  0: *ast.Field {
+17  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
+18  .  .  .  .  .  .  0: *ast.Ident {
+19  .  .  .  .  .  .  .  NamePos: 41
+20  .  .  .  .  .  .  .  Name: "Read"
+21  .  .  .  .  .  .  .  Obj: *ast.Object {
+22  .  .  .  .  .  .  .  .  Kind: func
+23  .  .  .  .  .  .  .  .  Name: "Read"
+24  .  .  .  .  .  .  .  .  Decl: *(obj @ 16)
+25  .  .  .  .  .  .  .  }
+26  .  .  .  .  .  .  }
+27  .  .  .  .  .  }
+28  .  .  .  .  .  Type: *ast.FuncType {
+29  .  .  .  .  .  .  Func: 0
+30  .  .  .  .  .  .  Params: *ast.FieldList {
+31  .  .  .  .  .  .  .  Opening: 45
+32  .  .  .  .  .  .  .  Closing: 46
+33  .  .  .  .  .  .  }
+34  .  .  .  .  .  .  Results: *ast.FieldList {
+35  .  .  .  .  .  .  .  Opening: 0
+36  .  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
+37  .  .  .  .  .  .  .  .  0: *ast.Field {
+38  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
+39  .  .  .  .  .  .  .  .  .  .  NamePos: 48
+40  .  .  .  .  .  .  .  .  .  .  Name: "int"
+41  .  .  .  .  .  .  .  .  .  }
+42  .  .  .  .  .  .  .  .  }
+43  .  .  .  .  .  .  .  }
+44  .  .  .  .  .  .  .  Closing: 0
+45  .  .  .  .  .  .  }
+46  .  .  .  .  .  }
+47  .  .  .  .  }
+48  .  .  .  }
+49  .  .  .  Closing: 52
+50  .  .  }
+51  .  .  Incomplete: false
+52  .  }
+
+

接口的语法树是ast.InterfaceType类型,其Methods成员列表和结构体成员的*ast.FieldList类型一样。下面是ast.InterfaceTypeast.StructType语法树结构的定义:

+
type InterfaceType struct {
+	Interface  token.Pos  // position of "interface" keyword
+	Methods    *FieldList // list of methods
+	Incomplete bool       // true if (source) methods are missing in the Methods list
+}
+type StructType struct {
+	Struct     token.Pos  // position of "struct" keyword
+	Fields     *FieldList // list of field declarations
+	Incomplete bool       // true if (source) fields are missing in the Fields list
+}
+
+

对比可以发现,接口和结构体语法树结点中除了方法列表和成员列表的名字不同之外,方法和成员都是由ast.FieldList定义的。因此上述的接口例子和下面的结构体其实非常相似:

+
type IntReader struct {
+	Read func() int
+}
+
+

如果是结构体,那么Read成员就是一个函数类型,函数是func() int类型。总之在语法树层面接口和结构体可以采用相似的代码处理。

+

7.11 组合类型

+

复合类型最强大的地方在于通过不同组合生成更复杂的类型。但是第一步需要搞清楚基于基础类型构造的复合类型,然后才是复合类型之间的组合。在掌握了基础类型和复合类型的语法树结构之后,我们就可以解析任意复杂的类型,同时也就很容易理解Go语言中反射的类型结构。不管是数据结构还是函数都需要和类型关联,因此理解类型之后就把握了整个程序的脉络,剩下的就是向函数体中填充语句而已。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch8/examples/01/main.go b/ch8/examples/01/main.go new file mode 100644 index 0000000..43c05f8 --- /dev/null +++ b/ch8/examples/01/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`func(){}`) + ast.Print(nil, expr) +} diff --git a/ch8/examples/02/main.go b/ch8/examples/02/main.go new file mode 100644 index 0000000..0559f25 --- /dev/null +++ b/ch8/examples/02/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`interface{Close() error}{}`) + ast.Print(nil, expr) +} diff --git a/ch8/examples/03/main.go b/ch8/examples/03/main.go new file mode 100644 index 0000000..d86cead --- /dev/null +++ b/ch8/examples/03/main.go @@ -0,0 +1,13 @@ +package main + +import ( + "image" +) + +var pts = []image.Point{ + image.Point{X: 1, Y: 2}, + {X: 1, Y: 2}, + 5: {1, 2}, +} + +func main() {} diff --git a/ch8/examples/04/main.go b/ch8/examples/04/main.go new file mode 100644 index 0000000..b4e0a2b --- /dev/null +++ b/ch8/examples/04/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`[...]int{1,2:3}`) + ast.Print(nil, expr) +} diff --git a/ch8/examples/05/main.go b/ch8/examples/05/main.go new file mode 100644 index 0000000..f462bf6 --- /dev/null +++ b/ch8/examples/05/main.go @@ -0,0 +1,14 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +var x1 = struct{ X int }{1} +var x2 = struct{ X int }{X: 1} + +func main() { + expr, _ := parser.ParseExpr(`struct{X int}{X:1}`) + ast.Print(nil, expr) +} diff --git a/ch8/examples/06/main.go b/ch8/examples/06/main.go new file mode 100644 index 0000000..70dff00 --- /dev/null +++ b/ch8/examples/06/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`map[int]int{1:2}`) + ast.Print(nil, expr) +} diff --git a/ch8/readme.html b/ch8/readme.html new file mode 100644 index 0000000..bccb14f --- /dev/null +++ b/ch8/readme.html @@ -0,0 +1,493 @@ + + + + + + 第8章 复合面值 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第8章 复合面值

+

在基础面值章节,我们已经见过整数、浮点数、复数、字符和字符串等一些简单的面值。除了基础面值之外,还有结构体面值、map面值和函数面值等。本节讨论复合面值的语法树表示。

+

8.1 面值的语法

+

在Go语言规范文档中,完整的面值语法由Literal定义,具体如下:

+
Literal       = BasicLit | CompositeLit | FunctionLit .
+
+BasicLit      = int_lit | float_lit | imaginary_lit | rune_lit | string_lit .
+
+CompositeLit  = LiteralType LiteralValue .
+LiteralType   = StructType | ArrayType | "[" "..." "]" ElementType |
+                SliceType | MapType | TypeName .
+LiteralValue  = "{" [ ElementList [ "," ] ] "}" .
+ElementList   = KeyedElement { "," KeyedElement } .
+KeyedElement  = [ Key ":" ] Element .
+Key           = FieldName | Expression | LiteralValue .
+FieldName     = identifier .
+Element       = Expression | LiteralValue .
+
+

其中BasicLit是基础面值,CompositeLit是复合面值,FunctionLit是函数面值。其中复合类型和函数类型均已经讨论过,而其面值正是在复合类型和函数类型基础之上扩展而来。

+

8.2 函数面值

+

虽然函数面值不在复合类型面值之类,但是函数面值和函数声明非常相似,因此我们先看下函数面值。函数面值的语法如下:

+
FunctionLit   = "func" Signature FunctionBody .
+
+

函数面值由FunctionLit定义,同样是由func关键字开始,后面是函数签名(输入参数和返回值)和函数体。函数面值和函数声明的最大差别是没有函数名字。

+

我们从最简单的函数面值开始:

+
func(){}
+
+

该函数面值没有输入参数和返回值,同时函数体也没有任何语句,而且没有涉及上下文的变量引用,可以说是最简单的函数面值。因为面值也是一种表达式,因此可以用表达式的方式解析其语法树:

+
func main() {
+	expr, _ := parser.ParseExpr(`func(){}`)
+	ast.Print(nil, expr)
+}
+
+

输出的语法树结构如下:

+
 0  *ast.FuncLit {
+ 1  .  Type: *ast.FuncType {
+ 2  .  .  Func: 1
+ 3  .  .  Params: *ast.FieldList {
+ 4  .  .  .  Opening: 5
+ 5  .  .  .  Closing: 6
+ 6  .  .  }
+ 7  .  }
+ 8  .  Body: *ast.BlockStmt {
+ 9  .  .  Lbrace: 7
+10  .  .  Rbrace: 8
+11  .  }
+12  }
+
+

函数面值的语法树由*ast.FuncLit结构体表示,其中再由Type成员表示类型,Body成员表示函数体语句。函数的类型和函数体分别由ast.FuncTypeast.BlockStmt结构体表示,它们和函数声明中的表示形式是一致的。

+

我们可以对比下*ast.FuncLitast.FuncDecl结构体的差异:

+
type FuncLit struct {
+	Type *FuncType  // function type
+	Body *BlockStmt // function body
+}
+type FuncDecl struct {
+	Doc  *CommentGroup // associated documentation; or nil
+	Recv *FieldList    // receiver (methods); or nil (functions)
+	Name *Ident        // function/method name
+	Type *FuncType     // function signature: parameters, results, and position of "func" keyword
+	Body *BlockStmt    // function body; or nil for external (non-Go) function
+}
+
+

对比可以发现表示函数类型的Type成员和表示函数体语句的Body成员类型都是一样的,但是FuncDecl函数声明比FuncLit函数面值多了函数名字和接收者参数列表等信息。因此如果理解了函数声明的完整结构,就可以用相似的方式处理函数类型和函数语句。

+

需要注意的是函数有面值,但是接口没有面值。因为接口是在运行时表示其它满足接口的对象,我们无法直接构造接口面值。在需要通过面值构造接口变量的地方,一般可以通过结构体等其它类型构造的面值赋值给接口的方式实现。

+

8.3 复合类型面值语法

+

复合类型面值语法由类型和值组成,其语法规范如下:

+
CompositeLit  = LiteralType LiteralValue .
+LiteralType   = StructType | ArrayType | "[" "..." "]" ElementType |
+                SliceType | MapType | TypeName .
+LiteralValue  = "{" [ ElementList [ "," ] ] "}" .
+ElementList   = KeyedElement { "," KeyedElement } .
+KeyedElement  = [ Key ":" ] Element .
+Key           = FieldName | Expression | LiteralValue .
+FieldName     = identifier .
+Element       = Expression | LiteralValue .
+
+

复合类型主要包含结构体、数组、切片和map类型,此外还有基于这些类型命名的类型。结构体、数组、切片和map类型的面值在LiteralValue定义,对应一个大括号构成的语法结构。在LiteralValue描述的复合类型面值部分的大括号中,由一个可选的Key和对应的值组成,其中值可以是基础面值、生成值的表达式或者是LiteralValue类型。

+

以下是结构体、数组、切片和map类型常见的面值语法:

+
[1]int{1}
+[...]int{100:1,200:2}
+[]int{1,2,3}
+[]int{100:1,200:2}
+struct {X int}{1}
+struct {X int}{X:1}
+map[int]int{1:1, 2:2}
+
+

其中数组和切片各有两种面值语法:一种是顺序指定初始值的列表,另一种是通过下标指定某个特定位置的初始值(两种格式可以混合使用)。结构体面值可以全部省略成员的名字,也可以指定成员的名字。map的面值必须完整指定Key和对应的值。

+

复合类型面值内元素的初始值又可能是复合面值,因此这也是一种递归语法结构。下面是一个嵌套复合类型的例子:

+
[]image.Point{
+	image.Point{X: 1, Y: 2},
+	{X: 3, Y: 4},
+	5: {6, 7},
+}
+
+

最外层是image.Point类型的切片,第一个元素通过完整的面值语法image.Point{X: 1, Y: 2}指定初始值,第二个元素通过简化的{X: 3, Y: 4}语法初始化,第三四五个元素空缺为零值,最后一个元素通过下表语法结合{6, 7}指定。需要注意的是,虽然面值初始化有多种形式,但是在语法树中都是相似的,因此我们需要透过面值的表象理解其语法树的本质。

+

复合型面值的语法树通过ast.CompositeLit表示:

+
type CompositeLit struct {
+	Type       Expr      // literal type; or nil
+	Lbrace     token.Pos // position of "{"
+	Elts       []Expr    // list of composite elements; or nil
+	Rbrace     token.Pos // position of "}"
+	Incomplete bool      // true if (source) expressions are missing in the Elts list
+}
+
+

其中ast.CompositeLit.Type对应复合类型的表达式,然后ast.CompositeLit.Elts是复合类型初始元素列表。初始元素列表可以是普通的值,也可能是Key-Value下标和值对,而且初始值还可能是其它的复合面值。

+

8.4 数组和切片面值

+

数组或切片面值是在数组类型后面的大括弧中包含数组的元素列表:

+
[...]int{1,2:3}
+
+

因为数组面值也是一种表达式,因此可以直接通过解析表达式的方式生成语法树:

+
func main() {
+	expr, _ := parser.ParseExpr(`[...]int{1,2:3}`)
+	ast.Print(nil, expr)
+}
+
+

输出的语法树如下:

+
 0  *ast.CompositeLit {
+ 1  .  Type: *ast.ArrayType {
+ 2  .  .  Lbrack: 1
+ 3  .  .  Len: *ast.Ellipsis {
+ 4  .  .  .  Ellipsis: 2
+ 5  .  .  }
+ 6  .  .  Elt: *ast.Ident {
+ 7  .  .  .  NamePos: 6
+ 8  .  .  .  Name: "int"
+ 9  .  .  .  Obj: *ast.Object {
+10  .  .  .  .  Kind: bad
+11  .  .  .  .  Name: ""
+12  .  .  .  }
+13  .  .  }
+14  .  }
+15  .  Lbrace: 9
+16  .  Elts: []ast.Expr (len = 2) {
+17  .  .  0: *ast.BasicLit {
+18  .  .  .  ValuePos: 10
+19  .  .  .  Kind: INT
+20  .  .  .  Value: "1"
+21  .  .  }
+22  .  .  1: *ast.KeyValueExpr {
+23  .  .  .  Key: *ast.BasicLit {
+24  .  .  .  .  ValuePos: 12
+25  .  .  .  .  Kind: INT
+26  .  .  .  .  Value: "2"
+27  .  .  .  }
+28  .  .  .  Colon: 13
+29  .  .  .  Value: *ast.BasicLit {
+30  .  .  .  .  ValuePos: 14
+31  .  .  .  .  Kind: INT
+32  .  .  .  .  Value: "3"
+33  .  .  .  }
+34  .  .  }
+35  .  }
+36  .  Rbrace: 15
+37  .  Incomplete: false
+38  }
+
+

复合面值语法树由ast.CompositeLit结构体表示,其中ast.CompositeLit.Type成员为ast.ArrayType表示这是数组或切片类型(如果没有长度信息则为切片类型,否则就是数组),而ast.CompositeLitElts成员则是元素的值。初始元素是一个[]ast.Expr类型的切片,每个元素依然是一个表达式。数组的第一个元素是ast.BasicLit类型,表示这是一个基础面值类型。数组的第二个元素是ast.KeyValueExpr方式指定的,其中Key对应的数组下标是2,Value对应的值为3。

+

数组和切片语法的最大差别是数组有长度信息。在这个例子中数组是通过...省略号表达式自动计算数组的长度,在语法树中对应的是ast.Ellipsis表达式类型。如果ast.ArrayType结构体中的Len成员是空指针,则表示这是一个切片类型,否则对应可以生成数组长度的表达式。

+

8.5 结构体面值

+

结构体面值和数组面值类似,是在结构体类型后面的大括弧中包含结构体成员的初始值。下面是结构体例子:

+
struct{X int}{X:1}
+
+

可以通过以下代码解析其语法树:

+
func main() {
+	expr, _ := parser.ParseExpr(`struct{X int}{X:1}`)
+	ast.Print(nil, expr)
+}
+
+

输出的语法树结果如下:

+
 0 *ast.CompositeLit {
+ 1  .  Type: *ast.StructType {...}
+32  .  Lbrace: 14
+33  .  Elts: []ast.Expr (len = 1) {
+34  .  .  0: *ast.KeyValueExpr {
+35  .  .  .  Key: *ast.Ident {
+36  .  .  .  .  NamePos: 15
+37  .  .  .  .  Name: "X"
+38  .  .  .  }
+39  .  .  .  Colon: 16
+40  .  .  .  Value: *ast.BasicLit {
+41  .  .  .  .  ValuePos: 17
+42  .  .  .  .  Kind: INT
+43  .  .  .  .  Value: "1"
+44  .  .  .  }
+45  .  .  }
+46  .  }
+47  .  Rbrace: 18
+48  .  Incomplete: false
+49  }
+
+

结构体面值依然是通过ast.CompositeLit结构体描述。结构体中成员的初始化通过ast.KeyValueExpr结构体初始化,Key部分为X表示成员名字,Value部分为X成员的初始值。

+

当然,结构体的初始化也可以不声明成员的名字:

+
func main() {
+	expr, _ := parser.ParseExpr(`struct{X int}{1}`)
+	ast.Print(nil, expr)
+}
+
+

现在的初始化方式生成的语法树变得更简单:

+
33  .  Elts: []ast.Expr (len = 1) {
+34  .  .  0: *ast.BasicLit {
+35  .  .  .  ValuePos: 15
+36  .  .  .  Kind: INT
+37  .  .  .  Value: "1"
+38  .  .  }
+39  .  }
+
+

只有一个元素是通过ast.BasicLit对应的基础面值表示,对应结构体的第一个成员。

+

8.6 map面值

+

map面值的表示方式和按成员名字初始化结构体的面值语法树基本一样:

+
func main() {
+	expr, _ := parser.ParseExpr(`map[int]int{1:2}`)
+	ast.Print(nil, expr)
+}
+
+

输出语法树中的初始化值列表部分(ast.CompositeLit.Elts):

+
18  .  Elts: []ast.Expr (len = 1) {
+19  .  .  0: *ast.KeyValueExpr {
+20  .  .  .  Key: *ast.BasicLit {
+21  .  .  .  .  ValuePos: 13
+22  .  .  .  .  Kind: INT
+23  .  .  .  .  Value: "1"
+24  .  .  .  }
+25  .  .  .  Colon: 14
+26  .  .  .  Value: *ast.BasicLit {
+27  .  .  .  .  ValuePos: 15
+28  .  .  .  .  Kind: INT
+29  .  .  .  .  Value: "2"
+30  .  .  .  }
+31  .  .  }
+32  .  }
+
+

map的初始值只能通过ast.KeyValueExpr对应的键值对表示,因为缺少了key无法定位值对应的下标位置。

+

8.7 小结

+

非基础面值包含函数面值和复合类型面值。函数面值和顶级函数声明有着相似的语法,只是没有函数名部分,表示语法树的结构体都是一致的。而数组、切片、结构体和map等复合类型的初始化语法也是高度一致的,其中只有map必须通过键值对初始化,其它的复合类型同时支持键值对和顺序值列表初始化,因此初始化值对应的语法树有ast.KeyValueExpr和普通的ast.Expr类型。至此,和数据相关的类型和值已经全部讨论,在此基础之上构建数据的反射实现,也可以基于数据结构构建算法。类型和值是最基础的部分,因为它们是构成变量的基础。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/ch9/examples/01/main.go b/ch9/examples/01/main.go new file mode 100644 index 0000000..861da89 --- /dev/null +++ b/ch9/examples/01/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`int(x)`) + ast.Print(nil, expr) +} diff --git a/ch9/examples/02/main.go b/ch9/examples/02/main.go new file mode 100644 index 0000000..bf004b5 --- /dev/null +++ b/ch9/examples/02/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`x.y`) + ast.Print(nil, expr) +} diff --git a/ch9/examples/03/main.go b/ch9/examples/03/main.go new file mode 100644 index 0000000..1e2e477 --- /dev/null +++ b/ch9/examples/03/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`x[y]`) + ast.Print(nil, expr) +} diff --git a/ch9/examples/04/main.go b/ch9/examples/04/main.go new file mode 100644 index 0000000..ee9cfb4 --- /dev/null +++ b/ch9/examples/04/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`x[1:2:3]`) + ast.Print(nil, expr) +} diff --git a/ch9/examples/05/main.go b/ch9/examples/05/main.go new file mode 100644 index 0000000..8aa8548 --- /dev/null +++ b/ch9/examples/05/main.go @@ -0,0 +1,11 @@ +package main + +import ( + "go/ast" + "go/parser" +) + +func main() { + expr, _ := parser.ParseExpr(`x.(y)`) + ast.Print(nil, expr) +} diff --git a/ch9/readme.html b/ch9/readme.html new file mode 100644 index 0000000..004eed5 --- /dev/null +++ b/ch9/readme.html @@ -0,0 +1,475 @@ + + + + + + 第9章 复合表达式 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

第9章 复合表达式

+

在基础面值和基础表达式章节,我们已经见过一些简单的表达式。本章我们将继续讨论复杂表达式,包含基于复杂面值和点号选择运算、索引运算、切片运算和函数调用等相互组合而成的表达式。

+

9.1 表达式语法

+

简单来说,表达式是指所有可以产生一个值的语句的集合。表达式的语法由PrimaryExpr定义:

+
PrimaryExpr = Operand
+            | Conversion
+            | MethodExpr
+            | PrimaryExpr Selector
+            | PrimaryExpr Index
+            | PrimaryExpr Slice
+            | PrimaryExpr TypeAssertion
+            | PrimaryExpr Arguments
+            .
+
+Selector       = "." identifier .
+Index          = "[" Expression "]" .
+Slice          = "[" [ Expression ] ":" [ Expression ] "]" 
+               | "[" [ Expression ] ":" Expression ":" Expression "]" .
+
+TypeAssertion  = "." "(" Type ")" .
+Arguments      = "(" [ ( ExpressionList | Type [ "," ExpressionList ] ) [ "..." ] [ "," ] ] ")" .
+
+

其中Operand是由一元或二元算术运算符组成的算术运算表达式。Conversion是强制类型转换,形式和函数调用有一定的相似性。MethodExpr是方法表达式。然后是点选择运算、索引运算、切片运算、类型断言和函数调用参数等高阶运算符。

+

9.2 转型和函数调用

+

二元算术运算符我们已经讲过,因此我们从转型操作和函数调用开始。下面是转型操作和函数参数的语法规范:

+
Conversion = Type "(" Expression [ "," ] ")" .
+Arguments  = "(" [ ( ExpressionList | Type [ "," ExpressionList ] ) [ "..." ] [ "," ] ] ")" .
+
+

需要注意的是转型操作和只有一个参数的函数调用非常相似,但是转型操作是以一个类型开始(函数调用是以一个函数开始),然后小括号内是要转型的表达式。下面的例子是将x变量转型为int类型:

+
int(x)
+
+

如果int被重新定义为一个函数,那么转型操作就会变成函数调用。我们先看看转型操作的语法树是如何表示的:

+
func main() {
+	expr, _ := parser.ParseExpr(`int(x)`)
+	ast.Print(nil, expr)
+}
+
+

输出的语法树如下:

+
 0  *ast.CallExpr {
+ 1  .  Fun: *ast.Ident {
+ 2  .  .  NamePos: 1
+ 3  .  .  Name: "int"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: bad
+ 6  .  .  .  Name: ""
+ 7  .  .  }
+ 8  .  }
+ 9  .  Lparen: 4
+10  .  Args: []ast.Expr (len = 1) {
+11  .  .  0: *ast.Ident {
+12  .  .  .  NamePos: 5
+13  .  .  .  Name: "x"
+14  .  .  .  Obj: *(obj @ 4)
+15  .  .  }
+16  .  }
+17  .  Ellipsis: 0
+18  .  Rparen: 6
+19  }
+
+

转型操作居然是用ast.CallExpr表示,这说明在语法树中转型和函数调用的结构是完全一样的。这是因为在语法树解析阶段,解析器并不知道int(x)中的int是一个类型还是一个函数,因此也无法知晓这是一个转型操作还是一个函数调用。

+

ast.CallExpr结构体定义如下:

+
type CallExpr struct {
+	Fun      Expr      // function expression
+	Lparen   token.Pos // position of "("
+	Args     []Expr    // function arguments; or nil
+	Ellipsis token.Pos // position of "..." (token.NoPos if there is no "...")
+	Rparen   token.Pos // position of ")"
+}
+
+

其中Fun如果是类型表达式,则表示这是一个转型操作。Fun之所以被定义为一个表达式,是因为Go语言中函数是第一类对象,可以像普通值一样被传递,通过表达式可以获取结构体、数组或map中保存的函数。而Args参数部分表示要转型的表达式或者是函数调用的参数列表。如果是函数调用,并且是可变参数函数调用,那么Ellipsis表示省略号位置(否则是一个无效的位置)。

+

9.3 点选择运算

+

点选择运算主要用于结构体选择其成员,或者是对象选择其方法。点选择运算语法如下:

+
PrimaryExpr = PrimaryExpr Selector .
+Selector    = "." identifier .
+
+

如果有表达式x,则可以通过x.y访问其成员或方法函数。如果是x导入包,那么x.y将变成标识符含义。同样,在语法树解析阶段并无法区分一个选择表达式和导入包中的标识符。

+

下面是x.y解析的语法树结果:

+
 0  *ast.SelectorExpr {
+ 1  .  X: *ast.Ident {
+ 2  .  .  NamePos: 1
+ 3  .  .  Name: "x"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: bad
+ 6  .  .  .  Name: ""
+ 7  .  .  }
+ 8  .  }
+ 9  .  Sel: *ast.Ident {
+10  .  .  NamePos: 3
+11  .  .  Name: "y"
+12  .  }
+13  }
+
+

其中X成员表示主体、Sel是被选择的成员(也可能是其它包的标识符)。ast.SelectorExpr结构体定义如下:

+
type SelectorExpr struct {
+	X   Expr   // expression
+	Sel *Ident // field selector
+}
+
+

其中X被定义为ast.Expr表达式类型,Sel是一个普通的标识符。

+

9.4 索引运算

+

索引运算主要用于数组、切片或map选择元素,其语法规范如下:

+
PrimaryExpr = PrimaryExpr Index .
+Index       = "[" Expression "]" .
+
+

索引运算通过在主体表达式后面的中括弧中包含索引表达式。同样在语法树解析阶段无法区别索引运算主体的具体类型。下面是x[y]索引运算的语法树解析结果:

+
 0  *ast.IndexExpr {
+ 1  .  X: *ast.Ident {
+ 2  .  .  NamePos: 1
+ 3  .  .  Name: "x"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: bad
+ 6  .  .  .  Name: ""
+ 7  .  .  }
+ 8  .  }
+ 9  .  Lbrack: 2
+10  .  Index: *ast.Ident {
+11  .  .  NamePos: 3
+12  .  .  Name: "y"
+13  .  .  Obj: *(obj @ 4)
+14  .  }
+15  .  Rbrack: 4
+16  }
+
+

其中X是主体表达式,其中的标识符是x。而Index为索引表达式,在这个例子中是y。ast.IndexExpr结构体定义如下:

+
type IndexExpr struct {
+	X      Expr      // expression
+	Lbrack token.Pos // position of "["
+	Index  Expr      // index expression
+	Rbrack token.Pos // position of "]"
+}
+
+

其中X和Index成员都是表达式,具体的语义需要根据上下文判断X表达式的类型才能决定Index索引表达式的类型。

+

9.5 切片运算

+

切片运算是在数组或切片基础上生成新的切片,其语法规范如下:

+
PrimaryExpr =  PrimaryExpr Slice
+Slice       = "[" [ Expression ] ":" [ Expression ] "]" 
+            | "[" [ Expression ] ":" Expression ":" Expression "]"
+            .
+
+

切片运算也是在一个主体表达式之后的中括弧中表示,不过切片运算至少有一个冒号分隔符,或者是两个冒号分隔符。切片运算主要包含开始索引、结束索引和最大范围三个部分。下面是x[1:2:3]切片运算的语法树:

+
 0  *ast.SliceExpr {
+ 1  .  X: *ast.Ident {
+ 2  .  .  NamePos: 1
+ 3  .  .  Name: "x"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: bad
+ 6  .  .  .  Name: ""
+ 7  .  .  }
+ 8  .  }
+ 9  .  Lbrack: 2
+10  .  Low: *ast.BasicLit {
+11  .  .  ValuePos: 3
+12  .  .  Kind: INT
+13  .  .  Value: "1"
+14  .  }
+15  .  High: *ast.BasicLit {
+16  .  .  ValuePos: 5
+17  .  .  Kind: INT
+18  .  .  Value: "2"
+19  .  }
+20  .  Max: *ast.BasicLit {
+21  .  .  ValuePos: 7
+22  .  .  Kind: INT
+23  .  .  Value: "3"
+24  .  }
+25  .  Slice3: true
+26  .  Rbrack: 8
+27  }
+
+

切片运算通过ast.SliceExpr结构体表示,其中X、Low、High、Max分别表示切片运算的主体、开始索引、结束索引和最大范围。ast.SliceExpr结构体定义如下:

+
type SliceExpr struct {
+	X      Expr      // expression
+	Lbrack token.Pos // position of "["
+	Low    Expr      // begin of slice range; or nil
+	High   Expr      // end of slice range; or nil
+	Max    Expr      // maximum capacity of slice; or nil
+	Slice3 bool      // true if 3-index slice (2 colons present)
+	Rbrack token.Pos // position of "]"
+}
+
+

其中X、Low、High、Max是我们已经熟悉的成员,都是表达式类型。另外Slice3标注是否为三索引的切片语法(不过这个字段对语义没有影响,因为可以从Max程序推导出最大的容量信息)。

+

9.6 类型断言

+

类型断言是判断一个接口对象是否满足另一个接口、或者接口持有的对象是否是一个确定的非接口类型。类型断言的语法规范如下:

+
PrimaryExpr    = PrimaryExpr TypeAssertion .
+TypeAssertion  = "." "(" Type ")" .
+
+

在主体表达式之后通过点选择一个类型,类型放在小括弧中间。比如x.(y)就是将x接口断言为y接口或y类型,下面是它们的语法树:

+
 0  *ast.TypeAssertExpr {
+ 1  .  X: *ast.Ident {
+ 2  .  .  NamePos: 1
+ 3  .  .  Name: "x"
+ 4  .  .  Obj: *ast.Object {
+ 5  .  .  .  Kind: bad
+ 6  .  .  .  Name: ""
+ 7  .  .  }
+ 8  .  }
+ 9  .  Lparen: 3
+10  .  Type: *ast.Ident {
+11  .  .  NamePos: 4
+12  .  .  Name: "y"
+13  .  .  Obj: *(obj @ 4)
+14  .  }
+15  .  Rparen: 5
+16  }
+
+

断言运算由ast.TypeAssertExpr表示,其中X是接口表达式,Type是要断言的类型表达式。ast.TypeAssertExpr结构体的定义如下:

+
type TypeAssertExpr struct {
+	X      Expr      // expression
+	Lparen token.Pos // position of "("
+	Type   Expr      // asserted type; nil means type switch X.(type)
+	Rparen token.Pos // position of ")"
+}
+
+

需要注意的是x.(type)也是一种特殊的类型断言,这时候ast.TypeAssertExpr.Type成员值为nil,对应的是类型switch语句结构。

+

9.7 小结

+

此处我们已经学习了基于各种基础类型、复合类型的各种表达式基础构件,通过组合这些运算就能产生各种复杂的表达式。最终将表达式的结果通过和赋值语句或控制流语句相结合,就可以改成程序的环境状态。而编程的本质就是通过语句改变成员的状态,然后在根据不同的状态选择执行不同的语句。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/cover.jpg b/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa33be8a2d081fad3cfc90aa2fbd260372b52e2e GIT binary patch literal 44449 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 cTb8%m004{YTznM2>TG_)@BV+a=zhli4n1 zbZ|PYRS*-gf#KIAen#LPo+U`9ARllV<45J+;OjHxS{tb|Tza*JI{23{(p0%wqnwrG zSim#H7`j3^?YnoP;>-CaHJZEBeB7sMZG&Ua2&vZAg$_3CarmmdRUZxC5PP@rut!(d zE0izJ(cS$H*|(cQFoq5`_+Xz)ZhB`Z3Vx2~Y1g-S{MBx51|4_r0oWJ=4;b))FXpJ+ z(MQ1t&-r5NTRh+$S+hd=bCte2@q0Xe&1sl%wESay#Wi>g66M$5>);>H9ILb-&X?Ew z88-P`a<5lZe9TAu*EgHm@6WFK1UlH@17F?w>$v~n-@nL1<`ND+{Cwb@UoHv3cv$@Z zK40#i@cf0J?_GbQenbsBsD6WwSN-~v`ZK8hM%;_aGCzASe&wsM!3Vzm&j;uR)!zsl h^!)+sPRH@ZhYdd9$V&!&fA|KD4I^Vf{SWY4{U?@$0>uCT literal 0 HcmV?d00001 diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..d906b248b802bc0ed554b697ac87721e7e905b79 GIT binary patch literal 27668 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 literal 0 HcmV?d00001 diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 0000000..158a288 --- /dev/null +++ b/favicon.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/images/ch1-file-set-01.ditaa.png b/images/ch1-file-set-01.ditaa.png new file mode 100644 index 0000000000000000000000000000000000000000..bca57e962b3f0bbaebde8e0443ea27878137612e GIT binary patch literal 6300 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 Z=(>8f`vt!{_^$)xvcAcMQaw2O{{X9sTmAq5 literal 0 HcmV?d00001 diff --git a/images/ch1-token-01.png b/images/ch1-token-01.png new file mode 100644 index 0000000000000000000000000000000000000000..ddaa832743bc53aa64f43729d2352b13f667f4fa GIT binary patch literal 73262 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 literal 0 HcmV?d00001 diff --git a/images/ch1-token.ditaa.png b/images/ch1-token.ditaa.png new file mode 100644 index 0000000000000000000000000000000000000000..85232c31885299364ed2660694f12faf1fd3d0f4 GIT binary patch literal 9270 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úK_qvtCVVu@98ba&N1bUj86@j^0KZz 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 Wa$nA?#6Qvone6H6=d#Wzp$P!(Ql6p! literal 0 HcmV?d00001 diff --git a/images/ch3-expr-01.png b/images/ch3-expr-01.png new file mode 100644 index 0000000000000000000000000000000000000000..1471050426f2d27a015d9db44347693141038632 GIT binary patch literal 34282 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%0Am;N2kDLh9_Un5CTZadjr7>scath8(Qe)C*t(t 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�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 I&ka8PKh||k3IG5A literal 0 HcmV?d00001 diff --git a/images/ch4-file-struct-03.png b/images/ch4-file-struct-03.png new file mode 100644 index 0000000000000000000000000000000000000000..c42da052ffe77e6475f3e5b3ae30018edba69f59 GIT binary patch literal 107580 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

!dnotF|QOE_&t9 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%0AbhR&u&_I<|{;fB3)JE!*Y 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 z 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�{{I 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\DAy&5Nw`^~xDggrC`$Fv#GJbG@=*uv|9y}noT zO?z~n|B6?$B(E5z07vsezv7pkCKv_I@38;fr7Qr(Lvd1VDcV&}Z6M+vIMT)z2}Lp%mfv4-7DS;NN~v&dA8fV^KoA)|%pjuAvTa z+VEgXijf{h4G$FzA#A(%)!;H zZSpoijvzvn_Gzc@XY@Y$&g`8kN=K4QM{YUSUny1}s~>Y0$>|WKq9S}v(zMoRCwZ=_ zI(+b;kAWUT0q!^QXWG;{cJ^}@+(mWd42c1JVzdIZ7Dp#`kSJmb%x?C~+J@c(Kp0*} zwLf+!SM$PcDBkLUbR@9zl@u3ju<%dRe{VXVg5TK%_h5ZY-3_$Kf@K$NTZRM-0-}+{# z+F*jikSFMFZ!}EP;9d;CiOA=>7HhR8yL$v|SCsTa+t@g(@#V=jeKj8eeky!Gj6n&5 zomOZn^uN<=3dPd{q^{x(rBHHOX2KwF0pS}~@Cym8#f`MgD8vv@l&!0DAFTiUd2Q}R z!kgW-@(WCevFJj_beFH5R`VsmpFtAzT^e@V^Au2OQ$@2*g<-0dyEuKGHGJR^R;J`l z!sg||R>H#g{=4PA?f}|t4V7sW9)UW=%P5$J)DrNYGl_Nht>$0cL{|SziCI@Aj2(Wf1hC(X4 zc@bqaJO`pgLqK~RCSclgL&FNeX1~7YjsmLo>=*9)J+p>PzB zk<%3_PkFYQpVehaN3ydP4v>Yn4TIk+`hZRXbveMIe-6`nGqf-nM^A}u4n-8y+`1cpwt7S7W2d6)2N{aVT0 z{WnT<-ZNzbHQHoz3df@_Hs7Z5E@aG;>Vw-X2>?LbdkjSYOe&g6ACi7p)#_J& zuC5*c&g$$uHx*J*y2x&5Xeep9dU^uJ#0c3V-d?~Vxj>(DG6tq>h+A*0W^-`(NoSXC zd#U;MygF;)Q;j5LDAl=s&caKAKCd6%+G=4_@P90wu&1^oO89|56&%RYFkoNX1SH|6 zW+uFjS#Zw2ADV)??2$bp^d1Gl9{4(5pFKHrcX!tUM8q=xzW`$mr9gqfTPoFj8m=X} zT0b_At;n=Co6zZa-{8-uvOTYuHwS5q0k6**)x34yl_`_SoS~74n%4K|3?W13dcO}d z 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 literal 0 HcmV?d00001 diff --git a/images/donate-weixin-github-chai2010-20yuan.jpg b/images/donate-weixin-github-chai2010-20yuan.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44b7d23cf85d89197ad04e71b16022cfae618514 GIT binary patch literal 24935 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 CVrN4D literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..fd9700c --- /dev/null +++ b/index.html @@ -0,0 +1,276 @@ + + + + + + Go语言定制指南 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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

《Go语言定制指南》(原名:Go语法树入门)

+

Go语法树是Go语言源文件的另一种语义等价的表现形式。而Go语言自带的go fmtgo doc等命令都是在Go语法树的基础之上分析工具。因此将Go语言程序作为输入数据,让我们语法树这个维度重新审视Go语言程序,我们将得到创建Go语言本身的技术。Go语法树由标准库的go/ast包定义,它是在go/token包定义的词法基础之上抽象的语法树结构。本书简单介绍语法树相关包的使用。如果想从头实现一个玩具Go语言可以参考《从头实现µGo语言》

+
+

+ +

购买链接:

+ +

如果你喜欢本书,欢迎到豆瓣评论:

+ +

微信公众号

+

+

版权

+

版权 柴树杉史斌丁尔男,保留相关权力。此内容仅针对Github平台用户免费在线阅读。

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/preface.html b/preface.html new file mode 100644 index 0000000..aea81c9 --- /dev/null +++ b/preface.html @@ -0,0 +1,276 @@ + + + + + + 前言 - Go语言定制指南 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ +
+
+ +

序言1 - Ian Lance Taylor

+

因为出版社版权限制不方便全部公开新增内容,完整内容请参考 实体书

+
+

序言2 - 许式伟

+

因为出版社版权限制不方便全部公开新增内容,完整内容请参考 实体书

+
+

序言3 - 作者

+

在武侠小说中,天下武功出少林,少林寺的七十二绝技名扬天下。但是真正能学会并能够掌握七十二绝技的屈指可数,主要原因是学习周期太长。以七十二绝技中的一指禅为例,据说五代时期的法慧禅师以三十六年时间掌握的学习速度排名第一,其次是南宋的灵兴禅师花了三十九年时光排名第二,而韦爵爷的澄观师侄以四十二年而练成一指禅名列第三。如果一个绝技真的需要几十或上百年的时间才能掌握,那只能说明这个绝技没有实用价值,或者是学习的人没有掌握科学的学习方法。

+

其实少林寺的七十二绝技是有科学高效的学习方法的,这个方法由《天龙八部》中的鸠摩智发明并实践。鸠摩智国师经过科学研究发现少林寺的七十二绝技招式虽然厉害,但是其内部的驱动引擎性能极其底下(预热就需要几十年时间),而稍微强一点的易筋经引擎又涉及知识产权问题不对外开放授权,因此如何为七十二绝技定制一个合适的内功驱动引擎就成了一个关键问题。经过不懈努力,鸠摩智大师终于发现可以将逍遥派的小无相功作为驱动七十二绝技的内功引擎,从而开辟了一条武学弯道超车的新捷径。

+

在软件开发领域同样存在几个圣地:数据库、操作系统和编译器。其中编译器的开发技术更是被称为屠龙之技,号称龙书的《编译原理》的封面就是一个骑士在和巨龙搏斗的画面。编译器开发的相关理论就类似于少林寺内功心法,虽然理论强大但是学习的效率极其低下。而作为编译器界面的编程语言就类似于少林寺的七十二绝技的招式,普通码农如果想以常规传统的方式从头发明或实现一整套实用的编程语言难于登天。自己从头实现编程语言不仅仅要涉及诸多编译方面的理论,还需要通过大量的编码工作解决各种细节问题。作为自制编程语言爱好者而言,我们的目的不是为了单纯掌握龙书的理论,而是希望有一个自己可控的编程语言,因此我们同样需要寻找一个自制编程语言的捷径。

+

Go语言作为一个将自身的编译器内置到标准库的主流通用编译型编程语言,其语法树相关包的设计与实现堪称是编程艺术和编译理论相结合的典范,是Unix之父等老一辈软件工程师毕生的艺术结晶。同时Go语言的语法比较简单(只有25个关键字),非常适合作为自制编程语言的基础参考语言。开源社区已经从Go语言语法树诞生了诸多扩展语言:比如GopherJS项目将Go语言带入了前端开发领域;TinyGo则是将Go语言带入了单片机等微系统的开发领域;国内的七牛公司更是针对数据科学领域定制了Go+语言。这些基于Go定制语言的一个共通之处都是基于Go语法树进行再加工处理。因此如果能熟练掌握Go语法树的使用,就能跨过繁杂的词法分析、语法分析程序,直接使用龙书中的高深理论,进入语言特性定制领域。这将极大的降低自定义语言的门槛。

+

为了真正开启自制编程语言的历程,同时让Go语法树能够真正落地产生生产力,本书的最后一章引入了我们定制的凹语言(凹读音“Wa”)。凹语言的定制过程类似自己组装一台电脑,在语言能够独立工作前并不自己创造新的核心模块,而是基于已有的软件模块进行改造和拼装,但是最终得到的依然是自主可控的语言。在语言可以初步工作之后,可以再进一步根据需求优化局部细节或者对语言的语法做局部性的重新设计,这样实现语言的每个阶段的难度都不会很大。我们的目标不是为了仅仅制造一个玩具语言,凹语言的语法树解析和语义分析都是工业级的,如果后端再接入LLVM就很容易将其改造为实用性的语言。

+

随着千禧年之后计算机在中国普及,我们国家的程序员已经在追赶并紧跟着世界前沿技术的发展。但是作为最古老的编程语言和编译相关技术,国内相关的图书资料还停留在讲述几十年前的理论或者是讲述如何构建一些缺乏实用价值的玩具语言阶段,理论和实践严重脱节。与经典著作编译龙书相比,龙书深刻地讲解了编译技术用到的理论知识;而本书立足于实战与理论的结合,教授读者利用现成的工具,快速搭建一个可以实用的编程语言。我们希望本书可以为我国编译器和编程语言的自主化提供力所能及的帮助。

+

最后,我们希望各位读者能够定制出自己的编程语言,并使用定制的语言快乐地编程。

+
+

致谢

+

感谢 Ian Lance Taylor 本书写推荐序,他是Go语言第4位参与者,为社区做出了巨大贡献,靠一己之力完成了gccgo。感谢许式伟为本书写推荐序,许大是七牛公司的创始人和CEO,也是大中华区首席Go语言布道者。感谢Go语言之父和每一个为Go语言提交过补丁的朋友。感谢fango的第一本以Go语言为主题的网络小说《胡文Go.ogle》和第一本中文Go语言图书《Go语言·云动力》,是你的分享让带起了大家学习Go语言的热情。感谢GopherChina创始人谢孟军多年来的支持,感谢国内对社区作出贡献的每一个Go语言小伙伴,你们的奉献让社区更加壮大。最后感谢本书的编辑杨海铃老师,没有您本书就不可能出版。谢谢大家!

+ + + + + +
+ + + + + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/static/present/font.css b/static/present/font.css new file mode 100644 index 0000000..4bc6a98 --- /dev/null +++ b/static/present/font.css @@ -0,0 +1,370 @@ + +/* latin */ +@font-face { + font-family: 'Droid Sans Mono'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/droidsansmono/v20/6NUO8FuJNQ2MbkrZ5-J8lKFrp7pRef2rUGIW9g.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; + } + /* greek */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; + } + /* hebrew */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; + } + /* math */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; + } + /* symbols */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; + } + /* vietnamese */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6FxZCJgg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; + } + /* greek */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; + } + /* hebrew */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; + } + /* math */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; + } + /* symbols */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; + } + /* vietnamese */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06FxZCJgvAQ.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6FxZCJgg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; + } + /* greek */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; + } + /* hebrew */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; + } + /* math */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; + } + /* symbols */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; + } + /* vietnamese */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; + } + /* greek */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; + } + /* hebrew */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; + } + /* math */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; + } + /* symbols */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; + } + /* vietnamese */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + \ No newline at end of file diff --git a/static/present/jquery-ui.js b/static/present/jquery-ui.js new file mode 100644 index 0000000..f391938 --- /dev/null +++ b/static/present/jquery-ui.js @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.10.2 - 2013-03-20 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.resizable.js +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */ + +(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),s===t)return a[i]===t?null:a[i];a[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("
"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,c=t.pageX-a.left||0,d=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,c,d]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidthe.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),c=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&c&&(e.top=l-t.minHeight),a&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("
"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,c=l.element,d=u.containment,p=d instanceof e?d.get(0):/parent/.test(d)?c.parent().get(0):d;p&&(l.containerElement=e(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,c={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(c=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-c.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=o.parentData.left),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,c=Math.round((s.height-n.height)/l)*l,d=n.width+u,p=n.height+c,f=i.maxWidth&&d>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(d+=h),v&&(p+=l),f&&(d-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=d,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.top=a.top-c):/^(sw)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.left=a.left-u):(t.size.width=d,t.size.height=p,t.position.top=a.top-c,t.position.left=a.left-u)}})})(jQuery); \ No newline at end of file diff --git a/static/present/jquery.js b/static/present/jquery.js new file mode 100644 index 0000000..bc3fbc8 --- /dev/null +++ b/static/present/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.2 jquery.com | jquery.org/license */ +(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/static/present/notes.css b/static/present/notes.css new file mode 100644 index 0000000..9a897be --- /dev/null +++ b/static/present/notes.css @@ -0,0 +1,32 @@ +p { + margin: 10px; +} + +#presenter-slides { + display: block; + margin-top: -10px; + margin-left: -17px; + position: fixed; + border: 0; + width: 146%; + height: 750px; + + transform: scale(0.7, 0.7); + transform-origin: top left; + -moz-transform: scale(0.7); + -moz-transform-origin: top left; + -o-transform: scale(0.7); + -o-transform-origin: top left; + -webkit-transform: scale(0.7); + -webkit-transform-origin: top left; +} + +#presenter-notes { + margin-top: -180px; + font-family: 'Open Sans', Arial, sans-serif; + height: 30%; + width: 100%; + overflow: scroll; + position: fixed; + top: 706px; +} diff --git a/static/present/notes.js b/static/present/notes.js new file mode 100644 index 0000000..31f45dd --- /dev/null +++ b/static/present/notes.js @@ -0,0 +1,151 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Store child window object which will display slides with notes +var notesWindow = null; + +var isParentWindow = window.parent == window; + +// When parent window closes, clear storage and close child window +if (isParentWindow) { + window.onbeforeunload = function() { + localStorage.clear(); + if (notesWindow) notesWindow.close(); + }; +} + +function toggleNotesWindow() { + if (!isParentWindow) return; + if (notesWindow) { + notesWindow.close(); + notesWindow = null; + return; + } + + initNotes(); +} + +// Create a unique key for the local storage so we don't mix the +// destSlide of different presentations. For golang.org/issue/24688. +function destSlideKey() { + var key = ''; + if (notesWindow) { + var slides = notesWindow.document.getElementById('presenter-slides'); + key = slides.src.split('#')[0]; + } else { + key = window.location.href.split('#')[0]; + } + return 'destSlide:' + key; +} + +function initNotes() { + notesWindow = window.open('', '', 'width=1000,height=700'); + var w = notesWindow; + var slidesUrl = window.location.href; + + // Hack to apply css. Requires existing html on notesWindow. + w.document.write("
"); + + w.document.title = window.document.title; + + var slides = w.document.createElement('iframe'); + slides.id = 'presenter-slides'; + slides.src = slidesUrl; + w.document.body.appendChild(slides); + + var curSlide = parseInt(localStorage.getItem(destSlideKey()), 10); + var formattedNotes = ''; + var section = sections[curSlide - 1]; + // curSlide is 0 when initialized from the first page of slides. + // Check if section is valid before retrieving Notes. + if (section) { + formattedNotes = formatNotes(section.Notes); + } else if (curSlide == 0) { + formattedNotes = formatNotes(titleNotes); + } + + // setTimeout needed for Firefox + setTimeout(function() { + slides.focus(); + }, 100); + + var notes = w.document.createElement('div'); + notes.id = 'presenter-notes'; + notes.innerHTML = formattedNotes; + w.document.body.appendChild(notes); + + w.document.close(); + + function addPresenterNotesStyle() { + var el = w.document.createElement('link'); + el.rel = 'stylesheet'; + el.type = 'text/css'; + el.href = PERMANENT_URL_PREFIX + 'notes.css'; + w.document.body.appendChild(el); + w.document.querySelector('head').appendChild(el); + } + + addPresenterNotesStyle(); + + // Add listener on notesWindow to update notes when triggered from + // parent window + w.addEventListener('storage', updateNotes, false); +} + +function formatNotes(notes) { + var formattedNotes = ''; + if (notes) { + for (var i = 0; i < notes.length; i++) { + formattedNotes = formattedNotes + '

' + notes[i] + '

'; + } + } + return formattedNotes; +} + +function updateNotes() { + // When triggered from parent window, notesWindow is null + // The storage event listener on notesWindow will update notes + if (!notesWindow) return; + var destSlide = parseInt(localStorage.getItem(destSlideKey()), 10); + var section = sections[destSlide - 1]; + var el = notesWindow.document.getElementById('presenter-notes'); + + if (!el) return; + + if (section && section.Notes) { + el.innerHTML = formatNotes(section.Notes); + } else if (destSlide == 0) { + el.innerHTML = formatNotes(titleNotes); + } else { + el.innerHTML = ''; + } +} + +/* Playground syncing */ + +// When presenter notes are enabled, playground click handlers are +// stored here to sync click events on the correct playground +var playgroundHandlers = { onRun: [], onKill: [], onClose: [] }; + +// Reset 'run', 'kill', 'close' storage items when synced +// so that successive actions can be synced correctly +function updatePlayStorage(action, index, e) { + localStorage.setItem('play-index', index); + + if (localStorage.getItem('play-action') === action) { + // We're the receiving window, and the message has been received + localStorage.removeItem('play-action'); + } else { + // We're the triggering window, send the message + localStorage.setItem('play-action', action); + } + + if (action === 'onRun') { + if (localStorage.getItem('play-shiftKey') === 'true') { + localStorage.removeItem('play-shiftKey'); + } else if (e.shiftKey) { + localStorage.setItem('play-shiftKey', e.shiftKey); + } + } +} diff --git a/static/present/slides.js b/static/present/slides.js new file mode 100644 index 0000000..19b7e6f --- /dev/null +++ b/static/present/slides.js @@ -0,0 +1,611 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +var PERMANENT_URL_PREFIX = './static/present/'; + +var SLIDE_CLASSES = ['far-past', 'past', 'current', 'next', 'far-next']; + +var PM_TOUCH_SENSITIVITY = 15; + +var curSlide; + +/* ---------------------------------------------------------------------- */ +/* classList polyfill by Eli Grey + * (http://purl.eligrey.com/github/classList.js/blob/master/classList.js) */ + +if ( + typeof document !== 'undefined' && + !('classList' in document.createElement('a')) +) { + (function(view) { + var classListProp = 'classList', + protoProp = 'prototype', + elemCtrProto = (view.HTMLElement || view.Element)[protoProp], + objCtr = Object; + (strTrim = + String[protoProp].trim || + function() { + return this.replace(/^\s+|\s+$/g, ''); + }), + (arrIndexOf = + Array[protoProp].indexOf || + function(item) { + for (var i = 0, len = this.length; i < len; i++) { + if (i in this && this[i] === item) { + return i; + } + } + return -1; + }), + // Vendors: please allow content code to instantiate DOMExceptions + (DOMEx = function(type, message) { + this.name = type; + this.code = DOMException[type]; + this.message = message; + }), + (checkTokenAndGetIndex = function(classList, token) { + if (token === '') { + throw new DOMEx( + 'SYNTAX_ERR', + 'An invalid or illegal string was specified' + ); + } + if (/\s/.test(token)) { + throw new DOMEx( + 'INVALID_CHARACTER_ERR', + 'String contains an invalid character' + ); + } + return arrIndexOf.call(classList, token); + }), + (ClassList = function(elem) { + var trimmedClasses = strTrim.call(elem.className), + classes = trimmedClasses ? trimmedClasses.split(/\s+/) : []; + for (var i = 0, len = classes.length; i < len; i++) { + this.push(classes[i]); + } + this._updateClassName = function() { + elem.className = this.toString(); + }; + }), + (classListProto = ClassList[protoProp] = []), + (classListGetter = function() { + return new ClassList(this); + }); + // Most DOMException implementations don't allow calling DOMException's toString() + // on non-DOMExceptions. Error's toString() is sufficient here. + DOMEx[protoProp] = Error[protoProp]; + classListProto.item = function(i) { + return this[i] || null; + }; + classListProto.contains = function(token) { + token += ''; + return checkTokenAndGetIndex(this, token) !== -1; + }; + classListProto.add = function(token) { + token += ''; + if (checkTokenAndGetIndex(this, token) === -1) { + this.push(token); + this._updateClassName(); + } + }; + classListProto.remove = function(token) { + token += ''; + var index = checkTokenAndGetIndex(this, token); + if (index !== -1) { + this.splice(index, 1); + this._updateClassName(); + } + }; + classListProto.toggle = function(token) { + token += ''; + if (checkTokenAndGetIndex(this, token) === -1) { + this.add(token); + } else { + this.remove(token); + } + }; + classListProto.toString = function() { + return this.join(' '); + }; + + if (objCtr.defineProperty) { + var classListPropDesc = { + get: classListGetter, + enumerable: true, + configurable: true, + }; + try { + objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc); + } catch (ex) { + // IE 8 doesn't support enumerable:true + if (ex.number === -0x7ff5ec54) { + classListPropDesc.enumerable = false; + objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc); + } + } + } else if (objCtr[protoProp].__defineGetter__) { + elemCtrProto.__defineGetter__(classListProp, classListGetter); + } + })(self); +} +/* ---------------------------------------------------------------------- */ + +/* Slide movement */ + +function hideHelpText() { + document.getElementById('help').style.display = 'none'; +} + +function getSlideEl(no) { + if (no < 0 || no >= slideEls.length) { + return null; + } else { + return slideEls[no]; + } +} + +function updateSlideClass(slideNo, className) { + var el = getSlideEl(slideNo); + + if (!el) { + return; + } + + if (className) { + el.classList.add(className); + } + + for (var i in SLIDE_CLASSES) { + if (className != SLIDE_CLASSES[i]) { + el.classList.remove(SLIDE_CLASSES[i]); + } + } +} + +function updateSlides() { + if (window.trackPageview) window.trackPageview(); + + for (var i = 0; i < slideEls.length; i++) { + switch (i) { + case curSlide - 2: + updateSlideClass(i, 'far-past'); + break; + case curSlide - 1: + updateSlideClass(i, 'past'); + break; + case curSlide: + updateSlideClass(i, 'current'); + break; + case curSlide + 1: + updateSlideClass(i, 'next'); + break; + case curSlide + 2: + updateSlideClass(i, 'far-next'); + break; + default: + updateSlideClass(i); + break; + } + } + + triggerLeaveEvent(curSlide - 1); + triggerEnterEvent(curSlide); + + window.setTimeout(function() { + // Hide after the slide + disableSlideFrames(curSlide - 2); + }, 301); + + enableSlideFrames(curSlide - 1); + enableSlideFrames(curSlide + 2); + + updateHash(); +} + +function prevSlide() { + hideHelpText(); + if (curSlide > 0) { + curSlide--; + + updateSlides(); + } + + if (notesEnabled) localStorage.setItem(destSlideKey(), curSlide); +} + +function nextSlide() { + hideHelpText(); + if (curSlide < slideEls.length - 1) { + curSlide++; + + updateSlides(); + } + + if (notesEnabled) localStorage.setItem(destSlideKey(), curSlide); +} + +/* Slide events */ + +function triggerEnterEvent(no) { + var el = getSlideEl(no); + if (!el) { + return; + } + + var onEnter = el.getAttribute('onslideenter'); + if (onEnter) { + new Function(onEnter).call(el); + } + + var evt = document.createEvent('Event'); + evt.initEvent('slideenter', true, true); + evt.slideNumber = no + 1; // Make it readable + + el.dispatchEvent(evt); +} + +function triggerLeaveEvent(no) { + var el = getSlideEl(no); + if (!el) { + return; + } + + var onLeave = el.getAttribute('onslideleave'); + if (onLeave) { + new Function(onLeave).call(el); + } + + var evt = document.createEvent('Event'); + evt.initEvent('slideleave', true, true); + evt.slideNumber = no + 1; // Make it readable + + el.dispatchEvent(evt); +} + +/* Touch events */ + +function handleTouchStart(event) { + if (event.touches.length == 1) { + touchDX = 0; + touchDY = 0; + + touchStartX = event.touches[0].pageX; + touchStartY = event.touches[0].pageY; + + document.body.addEventListener('touchmove', handleTouchMove, true); + document.body.addEventListener('touchend', handleTouchEnd, true); + } +} + +function handleTouchMove(event) { + if (event.touches.length > 1) { + cancelTouch(); + } else { + touchDX = event.touches[0].pageX - touchStartX; + touchDY = event.touches[0].pageY - touchStartY; + event.preventDefault(); + } +} + +function handleTouchEnd(event) { + var dx = Math.abs(touchDX); + var dy = Math.abs(touchDY); + + if (dx > PM_TOUCH_SENSITIVITY && dy < (dx * 2) / 3) { + if (touchDX > 0) { + prevSlide(); + } else { + nextSlide(); + } + } + + cancelTouch(); +} + +function cancelTouch() { + document.body.removeEventListener('touchmove', handleTouchMove, true); + document.body.removeEventListener('touchend', handleTouchEnd, true); +} + +/* Preloading frames */ + +function disableSlideFrames(no) { + var el = getSlideEl(no); + if (!el) { + return; + } + + var frames = el.getElementsByTagName('iframe'); + for (var i = 0, frame; (frame = frames[i]); i++) { + disableFrame(frame); + } +} + +function enableSlideFrames(no) { + var el = getSlideEl(no); + if (!el) { + return; + } + + var frames = el.getElementsByTagName('iframe'); + for (var i = 0, frame; (frame = frames[i]); i++) { + enableFrame(frame); + } +} + +function disableFrame(frame) { + frame.src = 'about:blank'; +} + +function enableFrame(frame) { + var src = frame._src; + + if (frame.src != src && src != 'about:blank') { + frame.src = src; + } +} + +function setupFrames() { + var frames = document.querySelectorAll('iframe'); + for (var i = 0, frame; (frame = frames[i]); i++) { + frame._src = frame.src; + disableFrame(frame); + } + + enableSlideFrames(curSlide); + enableSlideFrames(curSlide + 1); + enableSlideFrames(curSlide + 2); +} + +function setupInteraction() { + /* Clicking and tapping */ + + var el = document.createElement('div'); + el.className = 'slide-area'; + el.id = 'prev-slide-area'; + el.addEventListener('click', prevSlide, false); + document.querySelector('section.slides').appendChild(el); + + var el = document.createElement('div'); + el.className = 'slide-area'; + el.id = 'next-slide-area'; + el.addEventListener('click', nextSlide, false); + document.querySelector('section.slides').appendChild(el); + + /* Swiping */ + + document.body.addEventListener('touchstart', handleTouchStart, false); +} + +/* Hash functions */ + +function getCurSlideFromHash() { + var slideNo = parseInt(location.hash.substr(1)); + + if (slideNo) { + curSlide = slideNo - 1; + } else { + curSlide = 0; + } +} + +function updateHash() { + location.replace('#' + (curSlide + 1)); +} + +/* Event listeners */ + +function handleBodyKeyDown(event) { + // If we're in a code element, only handle pgup/down. + var inCode = event.target.classList.contains('code'); + + switch (event.keyCode) { + case 78: // 'N' opens presenter notes window + if (!inCode && notesEnabled) toggleNotesWindow(); + break; + case 72: // 'H' hides the help text + case 27: // escape key + if (!inCode) hideHelpText(); + break; + + case 39: // right arrow + case 13: // Enter + case 32: // space + if (inCode) break; + case 34: // PgDn + nextSlide(); + event.preventDefault(); + break; + + case 37: // left arrow + case 8: // Backspace + if (inCode) break; + case 33: // PgUp + prevSlide(); + event.preventDefault(); + break; + + case 40: // down arrow + if (inCode) break; + nextSlide(); + event.preventDefault(); + break; + + case 38: // up arrow + if (inCode) break; + prevSlide(); + event.preventDefault(); + break; + } +} + +function scaleSmallViewports() { + var el = document.querySelector('section.slides'); + var transform = ''; + var sWidthPx = 1250; + var sHeightPx = 750; + var sAspectRatio = sWidthPx / sHeightPx; + var wAspectRatio = window.innerWidth / window.innerHeight; + + if (wAspectRatio <= sAspectRatio && window.innerWidth < sWidthPx) { + transform = 'scale(' + window.innerWidth / sWidthPx + ')'; + } else if (window.innerHeight < sHeightPx) { + transform = 'scale(' + window.innerHeight / sHeightPx + ')'; + } + el.style.transform = transform; +} + +function addEventListeners() { + document.addEventListener('keydown', handleBodyKeyDown, false); + var resizeTimeout; + window.addEventListener('resize', function() { + // throttle resize events + window.clearTimeout(resizeTimeout); + resizeTimeout = window.setTimeout(function() { + resizeTimeout = null; + scaleSmallViewports(); + }, 50); + }); + + // Force reset transform property of section.slides when printing page. + // Use both onbeforeprint and matchMedia for compatibility with different browsers. + var beforePrint = function() { + var el = document.querySelector('section.slides'); + el.style.transform = ''; + }; + window.onbeforeprint = beforePrint; + if (window.matchMedia) { + var mediaQueryList = window.matchMedia('print'); + mediaQueryList.addListener(function(mql) { + if (mql.matches) beforePrint(); + }); + } +} + +/* Initialization */ + +function addFontStyle() { + var el = document.createElement('link'); + el.rel = 'stylesheet'; + el.type = 'text/css'; + + //el.href = + // '//fonts.googleapis.com/css?family=' + + // 'Open+Sans:regular,semibold,italic,italicsemibold|Droid+Sans+Mono'; + el.href = PERMANENT_URL_PREFIX + 'font.css'; + + document.body.appendChild(el); +} + +function addGeneralStyle() { + var el = document.createElement('link'); + el.rel = 'stylesheet'; + el.type = 'text/css'; + el.href = PERMANENT_URL_PREFIX + 'styles.css'; + document.body.appendChild(el); + + var el = document.createElement('meta'); + el.name = 'viewport'; + el.content = 'width=device-width,height=device-height,initial-scale=1'; + document.querySelector('head').appendChild(el); + + var el = document.createElement('meta'); + el.name = 'apple-mobile-web-app-capable'; + el.content = 'yes'; + document.querySelector('head').appendChild(el); + + scaleSmallViewports(); +} + +function handleDomLoaded() { + slideEls = document.querySelectorAll('section.slides > article'); + + setupFrames(); + + addFontStyle(); + addGeneralStyle(); + addEventListeners(); + + updateSlides(); + + setupInteraction(); + + if ( + window.location.hostname == 'localhost' || + window.location.hostname == '127.0.0.1' || + window.location.hostname == '::1' + ) { + hideHelpText(); + } + + document.body.classList.add('loaded'); + + setupNotesSync(); +} + +function initialize() { + getCurSlideFromHash(); + + if (window['_DEBUG']) { + PERMANENT_URL_PREFIX = '../'; + } + + if (window['_DCL']) { + handleDomLoaded(); + } else { + document.addEventListener('DOMContentLoaded', handleDomLoaded, false); + } +} + +// If ?debug exists then load the script relative instead of absolute +if (!window['_DEBUG'] && document.location.href.indexOf('?debug') !== -1) { + document.addEventListener( + 'DOMContentLoaded', + function() { + // Avoid missing the DomContentLoaded event + window['_DCL'] = true; + }, + false + ); + + window['_DEBUG'] = true; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = PERMANENT_URL_PREFIX + 'slides.js'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(script, s); + + // Remove this script + s.parentNode.removeChild(s); +} else { + initialize(); +} + +/* Synchronize windows when notes are enabled */ + +function setupNotesSync() { + if (!notesEnabled) return; + + localStorage.setItem(destSlideKey(), curSlide); + window.addEventListener('storage', updateOtherWindow, false); +} + +// An update to local storage is caught only by the other window +// The triggering window does not handle any sync actions +function updateOtherWindow(e) { + // Ignore remove storage events which are not meant to update the other window + var isRemoveStorageEvent = !e.newValue; + if (isRemoveStorageEvent) return; + + var destSlide = localStorage.getItem(destSlideKey()); + while (destSlide > curSlide) { + nextSlide(); + } + while (destSlide < curSlide) { + prevSlide(); + } + + updateNotes(); +} diff --git a/static/present/styles.css b/static/present/styles.css new file mode 100644 index 0000000..47c9f19 --- /dev/null +++ b/static/present/styles.css @@ -0,0 +1,558 @@ +@media screen { + /* Framework */ + html { + height: 100%; + } + + body { + margin: 0; + padding: 0; + + display: block !important; + + height: 100%; + height: 100vh; + + overflow: hidden; + + background: rgb(215, 215, 215); + background: -o-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -moz-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -webkit-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -webkit-gradient( + radial, + 50% 50%, + 0, + 50% 50%, + 500, + from(rgb(240, 240, 240)), + to(rgb(190, 190, 190)) + ); + + -webkit-font-smoothing: antialiased; + } + + .slides { + width: 100%; + height: 100%; + left: 0; + top: 0; + + position: absolute; + + -webkit-transform: translate3d(0, 0, 0); + } + + .slides > article { + display: block; + + position: absolute; + overflow: hidden; + + width: 900px; + height: 700px; + + left: 50%; + top: 50%; + + margin-left: -450px; + margin-top: -350px; + + padding: 40px 60px; + + box-sizing: border-box; + -o-box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + + border-radius: 10px; + -o-border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + + background-color: white; + + border: 1px solid rgba(0, 0, 0, 0.3); + + transition: transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -webkit-transition: -webkit-transform 0.3s ease-out; + } + .slides.layout-widescreen > article { + margin-left: -550px; + width: 1100px; + } + .slides.layout-faux-widescreen > article { + margin-left: -550px; + width: 1100px; + + padding: 40px 160px; + } + + .slides.layout-widescreen > article:not(.nobackground):not(.biglogo), + .slides.layout-faux-widescreen > article:not(.nobackground):not(.biglogo) { + background-position-x: 0, 840px; + } + + /* Clickable/tappable areas */ + + .slide-area { + z-index: 1000; + + position: absolute; + left: 0; + top: 0; + width: 150px; + height: 700px; + + left: 50%; + top: 50%; + + cursor: pointer; + margin-top: -350px; + + tap-highlight-color: transparent; + -o-tap-highlight-color: transparent; + -moz-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; + } + #prev-slide-area { + margin-left: -550px; + } + #next-slide-area { + margin-left: 400px; + } + .slides.layout-widescreen #prev-slide-area, + .slides.layout-faux-widescreen #prev-slide-area { + margin-left: -650px; + } + .slides.layout-widescreen #next-slide-area, + .slides.layout-faux-widescreen #next-slide-area { + margin-left: 500px; + } + + /* Slides */ + + .slides > article { + display: none; + } + .slides > article.far-past { + display: block; + transform: translate(-2040px); + -o-transform: translate(-2040px); + -moz-transform: translate(-2040px); + -webkit-transform: translate3d(-2040px, 0, 0); + } + .slides > article.past { + display: block; + transform: translate(-1020px); + -o-transform: translate(-1020px); + -moz-transform: translate(-1020px); + -webkit-transform: translate3d(-1020px, 0, 0); + } + .slides > article.current { + display: block; + transform: translate(0); + -o-transform: translate(0); + -moz-transform: translate(0); + -webkit-transform: translate3d(0, 0, 0); + } + .slides > article.next { + display: block; + transform: translate(1020px); + -o-transform: translate(1020px); + -moz-transform: translate(1020px); + -webkit-transform: translate3d(1020px, 0, 0); + } + .slides > article.far-next { + display: block; + transform: translate(2040px); + -o-transform: translate(2040px); + -moz-transform: translate(2040px); + -webkit-transform: translate3d(2040px, 0, 0); + } + + .slides.layout-widescreen > article.far-past, + .slides.layout-faux-widescreen > article.far-past { + display: block; + transform: translate(-2260px); + -o-transform: translate(-2260px); + -moz-transform: translate(-2260px); + -webkit-transform: translate3d(-2260px, 0, 0); + } + .slides.layout-widescreen > article.past, + .slides.layout-faux-widescreen > article.past { + display: block; + transform: translate(-1130px); + -o-transform: translate(-1130px); + -moz-transform: translate(-1130px); + -webkit-transform: translate3d(-1130px, 0, 0); + } + .slides.layout-widescreen > article.current, + .slides.layout-faux-widescreen > article.current { + display: block; + transform: translate(0); + -o-transform: translate(0); + -moz-transform: translate(0); + -webkit-transform: translate3d(0, 0, 0); + } + .slides.layout-widescreen > article.next, + .slides.layout-faux-widescreen > article.next { + display: block; + transform: translate(1130px); + -o-transform: translate(1130px); + -moz-transform: translate(1130px); + -webkit-transform: translate3d(1130px, 0, 0); + } + .slides.layout-widescreen > article.far-next, + .slides.layout-faux-widescreen > article.far-next { + display: block; + transform: translate(2260px); + -o-transform: translate(2260px); + -moz-transform: translate(2260px); + -webkit-transform: translate3d(2260px, 0, 0); + } +} + +@media print { + /* Set page layout */ + @page { + size: A4 landscape; + } + + body { + display: block !important; + } + + .slides > article { + display: block; + + position: relative; + + page-break-inside: never; + page-break-after: always; + + overflow: hidden; + } + + h2 { + position: static !important; + margin-top: 400px !important; + margin-bottom: 100px !important; + } + + pre { + background: rgb(240, 240, 240); + } + + /* Add explicit links */ + a:link:after, + a:visited:after { + content: ' (' attr(href) ') '; + font-size: 50%; + } + + #help { + display: none; + visibility: hidden; + } +} + +/* Styles for slides */ + +.slides > article { + font-family: 'Open Sans', Arial, sans-serif; + + color: black; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + + font-size: 26px; + line-height: 36px; + + letter-spacing: -1px; +} + +b { + font-weight: 600; +} + +a { + color: rgb(0, 102, 204); + text-decoration: none; +} +a:visited { + color: rgba(0, 102, 204, 0.75); +} +a:hover { + color: black; +} + +p { + margin: 0; + padding: 0; + + margin-top: 20px; +} +p:first-child { + margin-top: 0; +} + +h1 { + font-size: 60px; + line-height: 60px; + + padding: 0; + margin: 0; + margin-top: 200px; + margin-bottom: 5px; + padding-right: 40px; + + font-weight: 600; + + letter-spacing: -3px; + + color: rgb(51, 51, 51); +} + +h2 { + font-size: 45px; + line-height: 45px; + + position: absolute; + bottom: 150px; + + padding: 0; + margin: 0; + padding-right: 40px; + + font-weight: 600; + + letter-spacing: -2px; + + color: rgb(51, 51, 51); +} + +h3 { + font-size: 30px; + line-height: 36px; + + padding: 0; + margin: 0; + padding-right: 40px; + + font-weight: 600; + + letter-spacing: -1px; + + color: rgb(51, 51, 51); +} + +ul { + margin: 0; + padding: 0; + margin-top: 20px; + margin-left: 1.5em; +} +li { + padding: 0; + margin: 0 0 0.5em 0; +} + +div.code, div.output { + margin: 0; + padding: 0; +} + +pre { + padding: 5px 10px; + margin-top: 20px; + margin-bottom: 20px; + overflow: hidden; + + background: rgb(240, 240, 240); + border: 1px solid rgb(224, 224, 224); + + font-family: 'Droid Sans Mono', 'Courier New', monospace; + font-size: 18px; + line-height: 24px; + letter-spacing: -1px; + + color: black; +} + +pre.numbers span:before { + content: attr(num); + margin-right: 1em; + display: inline-block; +} + +code { + font-size: 95%; + font-family: 'Droid Sans Mono', 'Courier New', monospace; + + color: black; +} + +pre code { + font-size: 100%; +} + +article > .image, +article > .video { + text-align: center; + margin-top: 40px; +} + +article.background { + background-size: contain; + background-repeat: round; +} + +table { + width: 100%; + border-collapse: collapse; + margin-top: 40px; +} +th { + font-weight: 600; + text-align: left; +} +td, +th { + border: 1px solid rgb(224, 224, 224); + padding: 5px 10px; + vertical-align: top; +} + +p.link { + margin-left: 20px; +} + +.pagenumber { + color: #8c8c8c; + font-size: 75%; + position: absolute; + bottom: 0px; + right: 10px; +} + +/* Code */ +pre { + outline: 0px solid transparent; +} +div.playground { + position: relative; +} +div.output { + position: absolute; + left: 50%; + top: 50%; + right: 40px; + bottom: 40px; + background: #202020; + padding: 5px 10px; + z-index: 2; + + border-radius: 10px; + -o-border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} +div.output pre { + margin: 0; + padding: 0; + background: none; + border: none; + width: 100%; + height: 100%; + overflow: auto; +} +div.output .stdout, +div.output pre { + color: #e6e6e6; +} +div.output .stderr, +div.output .error { + color: rgb(255, 200, 200); +} +div.output .system, +div.output .exit { + color: rgb(255, 230, 120); +} +.buttons { + position: relative; + float: right; + top: -60px; + right: 10px; +} +div.output .buttons { + position: absolute; + float: none; + top: auto; + right: 5px; + bottom: 5px; +} + +/* Presenter details */ +.presenter { + margin-top: 20px; +} +.presenter p, +.presenter .link { + margin: 0; + font-size: 28px; + line-height: 1.2em; +} + +/* Output resize details */ +.ui-resizable-handle { + position: absolute; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +iframe { + border: none; +} +figcaption { + color: #666; + text-align: center; + font-size: 0.75em; +} + +#help { + font-family: 'Open Sans', Arial, sans-serif; + text-align: center; + color: white; + background: #000; + opacity: 0.5; + position: fixed; + bottom: 25px; + left: 50px; + right: 50px; + padding: 20px; + + border-radius: 10px; + -o-border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} diff --git a/static/wabook/FontAwesome/css/font-awesome.css b/static/wabook/FontAwesome/css/font-awesome.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/static/wabook/FontAwesome/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/static/wabook/FontAwesome/fonts/FontAwesome.ttf b/static/wabook/FontAwesome/fonts/FontAwesome.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z zq1_(l4SX+ekaM;bY|YgEqv2RAEE}e-Im8<@oEZ?Z81Y?3(z-@nRbq?!xD9Hyn|7Gx z-NUw`yOor_DJLC1aqkf2(!i=2$ULNfg|s8bV^xB!_rY+bHA;KsWR@aB=!7n&LJq(} z!pqD3Wkvo-Goy zx1edGgnc}u5V8cw&nvWyWU+wXqwinB#x7(uc>H44lXZQkk*w_q#i2O!s_A?a*?`Rx zoZW6Qtj)L1T^4kDeD7;%G5dS816OPqAqPx~(_-jZ`bo-MR_kd&sJv{A^ zs@18qv!kD;U z5Evv$C*bD~m z+x@>Oo>;7%QCxfp-rOkNgx4j-(o*e5`6lW^X^{qpQo~SMWD`Gxyv6)+k)c@o6j`Yd z8c&XSiYbcmoCKe+82}>^CPM+?p@o&i(J*j0zsk}!P?!W%T5`ppk%)?&GxA`%4>0VX zKu?YB6Z)hFtj@u-icb&t5A1}BX!;~SqG5ARpVB>FEWPLW+C+QOf~G-Jj0r`0D6|0w zQUs5sE6PYc)!HWi))NeRvSZB3kWIW|R^A%RfamB2jCbVX(Fn>y%#b1W%}W%qc)XVrwuvM!>Qur!Ooy2`n@?qMe3$`F2vx z9<=L}wP7@diWhCYTD?x)LZ>F6F?z8naL18P%1T9&P_d4p;u=(XW1LO3-< z`{|5@&Y=}7sx3t1Zs zr9ZBmp}YpHLq7lwu?CXL8$Q65$Q29AlDCBJSxu5;p0({^4skD z+4se#9)xg8qnEh|WnPdgQ&+te7@`9WlzAwMit$Julp+d80n+VM1JxwqS5H6*MPKA` zlJ*Z77B;K~;4JkO5eq(@D}tezez*w6g3ZSn?J1d9Z~&MKbf=b6F9;8H22TxRl%y1r z<-6(lJiLAw>r^-=F-AIEd1y|Aq2MggNo&>7Ln)S~iAF1;-4`A*9KlL*vleLO3vhEd(@RsIWp~O@>N4p91SI zb~+*jP?8B~MwmI0W$>ksF8DC*2y8K0o#te?D$z8nrfK{|B1L^TR5hlugr|o=-;>Yn zmL6Yt=NZ2%cAsysPA)D^gkz2Vvh|Z9RJdoH$L$+6a^|>UO=3fBBH0UidA&_JQz9K~ zuo1Z_(cB7CiQ}4loOL3DsdC<+wYysw@&UMl21+LY-(z=6j8fu5%ZQg-z6Bor^M}LX z9hxH}aVC%rodtoGcTh)zEd=yDfCu5mE)qIjw~K+zwn&5c!L-N+E=kwxVEewN#vvx2WGCf^;C9^mmTlYc*kz$NUdQ=gDzLmf z!LXG7{N$Mi3n}?5L&f9TlCzzrgGR*6>MhWBR=lS)qP$&OMAQ2 z`$23{zM%a@9EPdjV|Y1zVVGf?mINO)i-q6;_Ev|n_JQ^Zy&BnUgV>NbY9xba1DlY@ zrg$_Kn?+^_+4V4^xS94tX2oLKAEiuU0<2S#v$WSDt0P^A+d-+M?XlR**u_Xdre&aY zNi~zJk9aLQUqaFZxCNRmu*wnxB_u*M6V0xVCtBhtpGUK)#Dob6DWm-n^~Vy)m~?Yg zO0^+v~`x6Vqtjl4I5;=^o2jyOb~m+ER;lNwO$iN ziH4vk>E`OTRx~v#B|ifef|ceH)%hgqOy|#f=Q|VlN6i{!0CRndN~x8wS6Ppqq7NSH zO5hX{k5T{4ib@&8t)u=V9nY+2RC^75jU%TRix}FDTB%>t;5jpNRv;(KB|%{AI7Jc= zd%t9-AjNUAs?8m40SLOhrjbC_yZoznU$(rnT2);Rr`2e6$k!zwlz!d|sZ3%x@$Nw? zVn?i%t!J+9SF@^ zO&TGun2&?VIygfH5ePk|!e&G3Zm-GUP(imiWzZu$9JU)Wot`}*RHV<-)vUhc6J6{w&PQIaSZ_N<(d>`C$yo#Ly&0Sr5gCkDY(4f@fY5!fLe57sH54#FF4 zg&hda`KjtJ8cTzz;DwFa#{$!}j~g$9zqFBC@To^}i#`b~xhU;p{x{^f1krbEFNqV^ zEq5c!C5XT0o_q{%p&0F@!I;9ejbs#P4q?R!i$?vl3~|GSyq4@q#3=wgsz+zkrIB<< z=HMWEBz?z??GvvT54YsDSnRLcEf!n>^0eKf4(CIT{qs4y$7_4e=JoIkq%~H9$z-r* zZ?`xgwL+DNAJE`VB;S+w#NvBT{3;}{CD&@Ig*Ka2Acx)2Qx zL)V#$n@%vf1Zzms4Th~fS|(DKDT`?BKfX3tkCBvKZLg^hUh|_Gz8?%#d(ANnY`5U1 zo;qjq=5tn!OQ*-JqA&iG-Tg#6Ka|O64eceRrSgggD%%QBX$t=6?hPEK2|lL1{?|>I^Toc>rQU7a_`RSM^EPVl{_&OG-P;|z0?v{3o#pkl zC6Y;&J7;#5N#+H2J-4RqiSK^rj<_Z6t%?`N$A_FUESt{TcayIew5oWi=jxT*aPIP6 z?MG`?k5p%-x>D73irru{R?lu7<54DCT9Q}%=4%@wZij4+M=fzzz`SJ3I%*#AikLUh zn>k=5%IKUP4TrvZ!A{&Oh;BR}6r3t3cpzS(&|cEe&e{MQby|1#X`?17e9?|=i`sPG zL|OOsh`j@PD4sc6&Y3rT`r?-EH0QPR*IobE@_fkB8*(886ZkjkcO{K8Sz$H`^D-8P zjKG9G9A`O!>|!ivAeteRVIcyIGa#O<6I$^O7}9&*8mHd@Gw!WDU*@;*L;SYvlV#p( zzFSsPw&^UdyxO}%i)W8$@f}|84*mz&i2q@SlzMOd%B!BHOJ<(FYUTR(Ui$DuX>?85 zcdzl5m3hzFr2S@c_20C2x&N)|$<=RhzxI!}NN+yS16X^(_mtqY)g*Q%Fux5}bP3q$ zxQD|TB{+4C1gL>zI>g~-ajKMb{2s_cFhN2(I(q^X!$H(GFxpc6oCV9#maj|OhFZaI z;umX6E*fQVTQ@lyZauuv>%E)5z-?zQZne18V5A}}JEQmCz>7^h0r)!zhinBG6 zMQghGt!Do5h%HmAQl~%m+!pr-&wlrcwW;qw)S$6*f}ZvXd;cHw=xm|y~mHbT3yX>?hoYKfy--h+6w9%@_4ukf0Et^zr-DbPwFdyj0VJHi}4bqRetSNR`DoWd( z(%n5>8MQl+>3SeL-DB@IaM{NDwd{{v_HMIO)PKO}v{{##c@ihB0w$aaPTSP4^>n3Z zC8Il%(3dCLLX$-|SwWx1u7KVztXpzNhrOZQ78c$jd{B9lqsNHLr*9h;N9$i+vsrM1 zKzLB_gVdMCfxceejpIZat!MbR)GNZ%^n|fEQo?Xtq#Qa_gEWKTFxSL4b{g}kJNd{QcoQ}HUP-A)Rq;U(***IA*V_0B5mr}Xp$q{YSYs-b2q~DHh z?+muRGn~std!VXuT>P9TL_8Km9G{doqRb-W0B&%d> z^3@hs6y5jaEq%P}dmr(8=f}x~^ z*{I{tkBgYk@Td|Z{csd23pziZlPYt2RJW7D_C#&)OONEWyN`I19_cM;`Aa=y_)ldH z^co(O-xWIN0{y|@?wx@Y!MeVg3Ln%4ORu5~Dl6$h>AGSXrK3!pH%cpM?D|6#*6+A# zlsj;J0_~^?DHIceRC~0iMq)SJ&?R&if{fsdIb>y;H@M4AE`z8~dvz)(e}BqUWK^U~ zFy`PX+z*Bmv9VxAN;%CvMk(#kGBEMP;a-GgGZf~r$(ei(%yGqHa2dS3hxdTT!r>La zUrW2dCTZ!SjD_D(?9$SK02e_#ZOxdAhO%hgVhq54U=2$Hm+1^O^nH<>wS|&<)2TtD zN_MN@O>?A@_&l;U)*GY*5F_a~cgQb_3p`#77ax1iRxIx!r0HkDnA2G*{l|*}g_yI% zZdHt2`Hx^MA#VH7@BEN68Y_;sAcCNgCY7S&dcQsp*$+uW7Dm@$Vl7!YA^51bi} z*Vy8uTj{neIhIL|PhditfC1Jeub(uy}w|wV5 zsQz)04y;BY2$7U4$~P{k)b`hZb>gv1RkD)L#g~$*N^1N1GfNMS)4r|pT*V<&KE1M9 zTh}rzSW#Kcci_#(^qf0gTW3&QN&zsW%VAQ+AZ%-3?E)kMdgL)kY~@mC>l?RH28u;Y zt-@_u^5(W>mDdtqoe){#t;3NA7c@{WoY9bYFNoq+sj&ru;Z`x>4ddY0y*`HRtHFEN% z@mFkp=x0C6zDGgA0s|mP^WNEwE4O}S?%DOtce3At%?ThxRp@`zCH6MyzM)dA9C7IP zI}t;YUV(Jcnw$4LoD4H(EM#!{L-Z|&fhNYnBlKcQ$UScR#HH>scYBTf2u|7Fd8q$R zy5Cbt=Pvf^e}m4?VVL@#Pi3z*q-Q0MG8pGTcbS|eeW%R5bRzKsHSH#G(#$9hj9}0O7lXsC zbZ7#UjJM^FcvdKK3MOEl+Pb-93Px}F$ID&jcvZdJ{d(D)x|*`=vi%1hdg(dd-1E>& zoB4U&a${9!xyxoT%$7gFp{M<_q z9oVnk*Dcp$k#jA#7-pZbXd=L8nDhe<*t_*%gj^Vx>(~KyEY~i&(?@R~L_e^txnUyh z64-dU=Lc;eQ}vPX;g{GitTVZben7||wttapene^dB|oSGB~tmAGqE^`1Jxt$4uXUL zz5?7GEqvmLa{#mgN6la^gYO#}`eXyUJ)lFyTO8*iL~P z$A`A_X^V#!SJyU8Dl%J*6&s9;Jl54CiyfA`ExxmjrZ1P8E%rJ7hFCFo6%{5mRa|LY zk^x76W8M0tQBa1Q(&L`|!e zrczv>+#&b2bt zuD1Bfoe>oW0&!ju$-LI)$URptI!inJ^Dz|<@S1hk+!(n2PWfi-AMb5*F03&_^29MB zgJP7yn#Fw4n&Rod*>LlF+qPx5ZT$80;+m*0X5ffa3d-;F72#5un;L$}RfmR5&xbOf(KNeD|gT1x6bw5t;~j}(oMHcSzkCgcpbd>5UN z7e8CV*di9kpyJAo1YyE9XtfV1Q8^?ViwrKgtK$H60 z%~xgAifVV#>j>4SN10>bP9OV9m`EA-H{bzMimEQ_3@VZH%@KZzjDu` zRCG*Ax6B^%%dyLs2Cw{bePFWM9750@SIoZoff4mJvyxIeIjeZ{tYpbmTk4_{wy!_uygk4J;wwSiK&OpZWguG$O082g z^a3rw)F1Q!*)rNy!Sqz9bk0u-kftk^q{FPl4N+eS@0p1= zhaBFdyShSMz97B%x3GE|Sst~8Le6+?q@g6HwE1hJ#X)o^?{1!x-m`LlQ+4%?^IPIo zHATgqrm-s`+6SW3LjHB>=Pp{i<6FE#j+sX(Vl-kJt6sug<4UG9SH_|( zOb(+Vn|4R4lc8pHa-japR|c0ZAN$KOvzss6bKW^uPM$I$8eTr{EMN2N%{Yrl{Z`Y^ zaQ`-S_6omm((Fih26~Bjf^W$wm1J`8N+(=0ET@KFDy;S%{mF@!2&1UMxk>jTk49;@ z*g#0?*iga;P7abx1bh^d3MoAy*XQp{Hl*t(buU@DamDmvcc;5}`ihM!mvm36|GqRu zn*3}UmnOSUai6mM*y&f#XmqyBo>b=dmra`8;%uC8_33-RpM6;x`Rrc0RM~y9>y~ry zVnGanZLDD_lC%6!F%Jzk##j%?nW>JEaJ#U89t`?mGJS_kO5+5U1Gh;Lb3`{w<-DW; z;USPAm%*aQJ)UeYnLVb2V3MJ2vrxAZ@&#?W$vW)7$+L7~7HSzuF&0V95FC4H6Dy<( z!#o7mJKLMHTNn5)Lyn5l4oh2$s~VI~tlIjn09jE~8C#Ooei=J?K;D+-<8Cb>8RPx8 z-~O0ST{mOeXg+qjG~?}E8@JAo-j?OJjgF3nb^K5v>$yq#-Ybd8lM^jdru2WE-*V6W z>sL(7?%-Qu?&?wZNmmqdn?$FXlE!>2BAa^bWfD69lP0?L3kopYkc4>{m#H6t2dLIEE47|jcI$tEuWzwjmRgqBPkzk zM+(?6)=);W6q<2z95fHMDFKxbhPD-r0IjdX_3EH*BFL|t3))c7d~8v;{wU5p8nHUz9I?>l zVfn$bENo_I3JOh1^^ z+un~MSwCyixbj%C?y{G@G7mSZg_cf~&@djVX_vn8;IF&q?ESd=*AJHOJ(!-hbKPlb zYi-r+me!ezr_eCiQ&SetY;BocRokkbwr=ONGzW2U@X=AUvS^E9eM^w~aztd4h$Q&kF;6EJ1O*M7tJfFi}R1 z6X@asDjL5w+#QEKQE5V48#ASm?H7u5j%nDqi)iO@a1@F z*^R+bGpEOs#pRx9CBZQ}#uQa|dCH5EW%a3Xv1;ye-}5|Yh4g~YH5gI1(b#B|6_ZI; zMkxwTjmkKoZIp~AqhXp+k&SSQ)9C=jCWTKCM?(&MUHex;c3Knl(A%3UgJT_BEixIE zQh!;Q(J<0)C`q0-^|UdaGYzFqr^{vZR~Tk?jyY}gf@H+0RHkZ{OID|x;6>6+g)|BK zs6zLY0U>bcbRd6kU;cgkomCZdBSC8$a1H`pcu;XqH=5 z+$oO3i&T_WpcYnVu*lchi>wxt#iE!!bG#kzjIFqb)`s?|OclRAnzUyW5*Py!P@srDXI}&s2lVYf2ZCG`F`H-9;60 zb<=6weckNk=DC&Q6QxU*uJ9FkaT>}qb##eRS8n%qG`G9WrS>Xm+w)!AXSASfd%5fg z#fqxk(5L9@fM};~Gk^Sgb;7|krF-an$kIROPt4HLqq6+EL+62d@~4Hsy9nIU?=Ue4 zJ69;q+5+73nU|TQu}$>#v(M&Vx1RD=6Lu`d?>zHN?P7J&XWwsvwJt|rr?CZu+l>m4 zTi^VLh6Uu2s392u(5DLaM%)Dr$%h3hRB>V7a9XG`B{ZsWgh4IyTO9R~TAR^h^~>ko z(k|Hy#@bP}7OyN92TKE%qNZfyWL32p-BJf1{jj0QU0V`yj=tRospvSewxGxoC=C|N zve$zAMuSaiyY)QTk9!VmwUK&<#b2fxMl_DX|5x$dKH3>6sdYCQ9@c)^A-Rn9vG?s)0)lCR76kgoR>S;B=kl(v zzM}o+G41dh)%9=ezv$7*a9Mrb+S@13nK-B6D!%vy(}5dzbg$`-UUZJKa`_Z{*$rCu zga2G}o3dTHW|>+P_>c8UOm4Vk-ojaTeAg0-+<4#u-{>pGTYz(%ojZ`0e*nHo=)XZS zpp=$zi4|RBMGJDX{Db?>>fq71rX3t$122E;cJ(9elj+kBXs>3?(tq=s*PeL^<(M$8 zUl;u9e6|EP5Us-A>Lzvr+ln|?*}wt;+gUmd>%?@Wl@m%Qm{>Q0JqTcxtB`ROhd6TB z$VY<7t$^N6IC(s*Z@x2?Gi%eB8%(hYaC zKfY5M-9MeR-@5h zZ?V`qr%%FlPQlW5v_Bp^Q?^)S*%Y#Z$|{!Lpju=$s702T z(P}foXu(uuHN!cJRK*W-8=F*QlYB*zT#WI-SmQ_VYEgKw+>wHhm`ECQS`r3VKw`wi zxlcnn26L*U;F-BC9u{Csy#e%+2uD$He5?mc55)ot>1w`?lr$J zsrI^qGB@!5dglADaHlvWto@|S>kF5>#i#hCNXbp*ZkO$*%P-Sjf3Vc+tuFaJ-^|Ou zW8=}1TOlafUitnrTA2D0<3}&zZz^%y5+t2`Tk`vBI93FqU`W!zY;M%AUoN1V1-I2I zPTVFqaw3Pr-`5HcEFWuD?!8Ybw)Y>g7c0tt=soTHiEBxlY;RlQ`iYY-qdd94zWjyD zFcskM^S{_!E?f3mEh9waR7tb6G&yl%GW%e&Sc5i;y@N)U5ZFLcAsma^K?Cg^%d{PO z=SHQq4a|l`AakzEY;A{n6Rn1u`7v~#ufV*6GZ$`Ef)d2%6apsU6^>QJl0@U& zq|wIBlBAgf0j!YaozAgmhAy0uy;AjRA2%(!`#&e>`V` zg`MfSf5gWvJY#?8%&|`Aj0<@aZ;-q#tCx=-zkGE|_C4)TqKjr-SE6po?cX?Z^B%62 zdA!75;$my<*q)n@eB<^dfFGwRaWB25UL#~PNEV>F^c+e2Be*Df(-rIVBJo2o*an$1*1 zD$bsUC-BvObdmkKlhW<59G9{d=@bAu8a05VWCO=@_~oP=G3SmO91AK_F`#5 zwXLRVay<~JYok|rdQM-~C?dcq?Yfz_*)fIte zkE_g4CeLj1oza=9zH!s!4k%H@-n{6aB&Z;Cs8MK?#Jxl`?wD>^{fTL&eQHAQFtJ_% zNEfs|gGYh+39S{-@#MrPA!XpgWD;NLlne0-Vey1n0?=ww18{L)7G|$1kjI(sjs z@|alUMcx*04*>=BWHv_W-t=rCAy0q6&*;kW&ImkwWTe$lzHJRZJ{-{ zl-mK6+j}V`wobm^^B&2Tl?1r=yWbz;v-F<#y!(CT?-4K(($wWtmD631MN9?trDG zMI7;9U7|UsC;urLP%eH1h%U`LJxT3oM4=gpi%X@lpVR9N6Q(uhJ00RWXeL-Z*V(O8 zsIyyVUvf=RXLBKX`!peifjIMvMs1YT0n$0*B;K^yZf&HN8$N%e=EgOejqihLPBT|< zs)z`nNU}BOdT7wYLy}R10eXUksn9o)jG)&=qteGc|XNI~h5R6UBfaPeIHbA32@*>orZsCB4`Q79}A=z@najfekt-_eTg7a}Mcas^D1ELlN6(y28c{ur|tmueFvIDOQxXs1)_lKrA`L2-^^VNC#miFvO%l6w5uK2bFyu?hyNLCjTCNRRVW^i+GX``giwc&TpV~OHu(yN&o)r2$K$1kjh@>iP z^&`?sCk#?xdFX+ilAb(;I7<$BQ#6j*jKsu%LEhQKe=>ki^ZICepr3#_2#pE`32i4Z zu%eXsgL)3x3Q-^OPPRhm<^!TEPoek6?O^j+qLQ*~#TBw4Aq~M2>U{>{jfojVPADAi zurKpW{7Ii5yqy6_1iXw3$aa!GLn|$~cnvQnv7{LMIFn!&d6K=3kH8+e90Zq5K%6YfdLv}ZdQmTk7SZ7}>rJ9TW)6>NY{uEZ zY^9PI1UqUFm|h0Vqe60Ny=wCFBtKb zXtqOa3M?2OEN=zDX7z}2$Y{2@WJjr?N`auMDVG9kSH~FjfJRNfsR@yJQp4cQ8zaFkT4>5XQqSVt5c}`-A#Z=3-_mGZ^)Hqayei zhJ}wgZ5UDln%)!;Wz@u=m(6C_P@r9*IMPe7Db`CSqad3ky-5-EcG=*v8J&{RtLJ(E zw2h-ghGYcDtqj4Z^nU7ChgEXO0kox=oGaY;0EPqeW89T6htbZg4z!uU1hi;omVj+3 z0B%$+k$`oH5*SeoG`Ay&BAA%nAUjQxsMlNdq8%;SbEAPVC#qm!r7j75W=A)&a6)3% zdQq$fCN;@RqI!KPfl9l=vmBFSFpD1cAxb@~K-$ZIlIL3W}?#3+|2p{|vZVq`YA zMbx|Xl57kJVwoetAo+opiewCkCIO=uBLEaG+!0U$MRdReNsx>+PIJWN6dW)pfeZ(u zQ8ei-Ht69)ZV`qv=vmorhOkF)Squ;)8AUfh<7A_xI8FGHMRW>~%o`1Wt3|8IMrM%& z8)|@=#ssro9=f9HtN0F#O085{Bf6PJnurfzS_yg?qqszmnQIYDP{N=xqPfvl;VNsK^qpoy2&App~Fe(MB7KCI)$p1!&YEB&%$9gTk zmvlt?t7!>_paNt_fYJvw^~LCqX{4opLy!n)md7}<_s?`gytfSAdoScQWTy&Tbr&~( zg9myGVv)l|4-umFBL0)Y(d}Rvt11)(O4ij#zeao~K$vh~JDn0_@3RjP2M0|79T&9+ z?>Vx&M30Sb15&<{RtpeYUf|n7n5GHyc+-FtA=7H$p6Mh=&M0O!so)tze7#WT>pp|x zfWae>0++DfscU2%>|@oiCQj+6O827)1}KsN^a>NSI*4?#ylfG-{q?3MMXX$dUH^S6Ni=Ve1d0(janpz@WqGJ?cG&sewpq294Qa zL{huwuoARdt5F4Dbh#?<2ruzSS{VeDAOtY+52t^xJW=!(0f3P&G3Cs^%~Q~~Wq{YA z!QrEk#>oXK{sc&Z7VB1_>fA1^#YyU1Ff<^9G(!V0!JW`n@EDdj$$2SVK6*7$!BvXP zmAC;h-W75(Nnzpro3CE9eV=~Lp7yS(vXnk@$g3{R`!(UG013==W*Hj{-*F!ujl+np%IX?E0*I&-K^u zY1z1I!`iOu+Ll`UtL|F6Vb?~vk=x9w6}eE^*<)O?pZQ#8YKE#b($x>w$3E*F0Kfk zfnyCo#zOpX1(P2yeHG@fP7}}~GB|&S27%6=@G^V=rmeTB$(w9rC6J@uQmcAMq zQ=Ce?Z0RkF_gu30<;5#jEW32il2?}$-6PZ?au16Y)?kUFy3L?ia1A@%S3G-M`{qn8 ze+|6jh0vqfkhdSb0MvIr!;;*AL}QX^gkc+q0RJ4i9IyOo+qAyHblI+$VuZ3UT7&iIG7640a)fe&>NOVU@xZ*YE`oy!JGMY%j}bGq!= z`R5xY(8TK&AH4b6WoKCo>lPh6vbfu1yYy02g^t9bDbexN!A`*$M5`u&}WqF?+*m?ZoW85&MFmXqQ1J{i;_Oz>3*#0?lWa zf?{tv`_JzP7D3x2gX&ICRn(aR$#>;ciH#pO?<*}!<}cYh_r{hb6*kkXSteV>l9n6i zwx63=u%!9MdE>@2X)3$YXh=DuRh~mN2bQFEH&_nHWfU{q+4=t07pt+Jfj90Or;6JX{BCQrE8bZe&wi3fwEXHRp zz8{VAmxsWU)3nT;;77X7@GCm7_fL1p_xKEG&6G~luO;Bc3ZIa?2b(*uH7qJ!es71c z{Buj4(;Jds$o78u<3df_2~DLq`e9*$SGmrR9p2OoVB5Q(KL3M{1>eq+;+lHK9N?xvyBPHni<#j$sZK{QrKEcdR9+eQD0V? zGPaq!#<-c#a>t4bt+R#Hu_|}dlIGeve@SR!d((u)Ga45+BuhHfA88G0cPrw>>(`ID zZ;aIyn|qmhuDXBthoW{J(WN+`Yud=y(wvd0rm&1*4>6?#8&)Fz z&@V=a0w4)F{^!&W_l6<5xg|-0F!~>aCALbeVsZTd*)M*^tr*!)O8w)mzKThWyQW@X zw%BFs5_@CIic5EPcTJu8=CmynV;``)3}gJ`Vl#VY_3Yib@P-KvBk_%!9OVu#8tG|Nc4I~A>8ch-~X%M@!>yk~ERI|QEcwzgI66IaaY>gx0~lm<@f z5-k^OY#SGC80Yr-tDRP(-FEJ{@_4LHsGJ=)PKZ@`eW75-r0ylN%0Q>&*M;@uZLdJ$ z)rw7Dt5ajr;P;~1P>jID!><(7R;w|Yf}qI&8klT?1dTfc@us5mKEe;qw;YKR(cp-D z6NmUMP8x7cM%~ytE@l*Mp^oN*mCF`gRNhw3gpO1PVi_^JzCJo>#mX(q+iJ(Ts$5=! z13b45gILEULS!=)SmZ{qsC1)$8-4eADGR?v z>~4k_SvdvPHAC}=4(!I^OLgQ@9EMDE7d$PvJbi+K%-HTh`P0#Ea|Jm6zj> z?R)(YWtZoIRx>AqzlG1UjT@6ba>yE z{Wf<5moh^-hu;ptAtPG}`h$4PWcOn>vy`#bH#Ss>OoAEE1gIbQwH#eG8+RHG0~TJ$ z>`C`c7KyM^gqsVNDXxT|1s;nTR&cCg6kd<-msrdE5Ofk=1BGDMlP2!93%0c@rg~4` zq)UFVW%s|`xb>;aR@L^*D>nkSLGNmM?cv)WzHZy3*>+*xAJSX;>))*XRT0r9<#zIpug(}{rSC9T$42@gb zy8eb6)~}wl<=or)2L}4T{vum>-g)QaKjtnp5fyd^;|BxHtx~2W^YbKq1HfB7@>Hw@U5)?b^H=uNOpli?w6O#~V`eG;`irLcC(&Uxz`L_Cl zS8r24e*U71o@dV6Soupo-}Ttu*Dk&EwY`h4KdY-k55DSqR&o7nufO)%>%s-Es^5Q_ z60#cReEy=$4|nW)bLh=|4bxW4j}A?qOle+wjn88oAeYb~!eA+EQ;8Ggp-UldAt$3M z7*E590amz>YB9L(z?Xx&?I37XYw?Os-t+05x6Z4vkzBE6-hrbB=GAB?p{DQXV4CKg zls@_wh*&XC<3R(CEZxg8*Y(6a>cIOq9Nss7{=UQ7Nv%O_WxSyBqnH{@(<>A&2on@z zn57W4Dh*E)o#rJ2#tyxV2;C5#rl8%%As$4qB=IbMt-z|jnWi>>7Ymq37;AW!6Y4nx z1Ogx#!WVdA92mEipgUxzy_?ddg|x)KOCyK)P5v@usc;0sN3{=0slt4CuwaxK@20eO zhdp~Z8iJ7GWrkq_-X`~(eBpthn9|`tZEUCIGiFpJjjxPVE9I)#z3Q$3tw`a69qxjuf+~ z*?v>d5~pcH-AQ~0)8PyIjumD^?SM8!Wb>KZoD7hOlc2nA0_(eG!in>}Ru}>6)>5 z@*}T`Hw{I^-?PS9>(#UFBQpW72* zsfj(2+_9@5x+57aN!`e`f(Mp_I(D>}p8)@&g^g+X1%d{ z%X5boE?hEoj0CiwTh9)#8^?~;|wgor_=Z1BI9_dI{ z&t*f95n?ZgZ5CnQa!v(p|JT?y0%KKgi`Smi9k5r!+!Mkz=&Z$%CFl;?AOzV`YBKrY z0#Y6~J6&dA=m>T@TYb8ukaV4z^Z?VX*MCKcp13-ye1*`gAj_Tm@r{fpm?K!U@Xg2AfndEo6jZN} z=XK0GRNXVLW2c?}B)rH^yR>u}b?|p(W$!TkQTAgu1AIG>MFfNchMQB_^-AQxRE$Th5-E_tBP@v(Cy|ojjP5LEU|JrM8 zVF5;$>Hl^jlHWDPChrTH(vh%bARyj5#TPb>omAs-)4zN z9?9(wybd0$Z5s+}Fiytv}-8U`IC<{6U2_NqEAkv;7lys5Qcq3EKt z0-!^Xy3idllgZ~qX^QTe=i*oGUCJNk>Y26?+9U(Ks|C81S{-v+6ebc`c(yibQbuB% zxM7mk>}dI-TfUi5Jqdu6b`4SqF)y5humuCaHhssdcR(jKf5ZGprx;Oe7VG#G6TA1+ z8oZLl<+ey(L+$Qsck^4fi{I|)p15MX73gHFUU!l${lN{)Ht_Wb%j#UE6cZ9}Wq^>+1wz z9TBA@%f~tby^0YWafmn&8Ppjn1Ng{d;S01WImtMzV<`!zU7;+8e-Xko>qM^OfOZ`Y zEZG#vcm>EGF??&G6+v(3l`X(xMn8ESv=@LdMfdcxFi%g1?0HDPG>blldR`OLlWN80 zz<$t+MM9%1K~JT@#aBZjOu9*G{W$u7cqTM|&a1)0wR8R^*r$<&AhuCq1Z{-aUhc5P zdyaaK{$P=Y6R{40FrWmLbDOCijqB(1PrKlnL)Tm|t=l}toVLAZOXJ*~-dx|_A&o65 zskcpT@bs+d@ia`f)t8ivl{(t%H?O?;=^s3O^GXqopx7E3kz06f^UQq<>gyNmo4Ij; zrOxuzn{WOqP75~PwPXC;3mZ#YW1xy&DEXsl~)u4`-v_{*B%R6xNH3* zJElz8@d#i4`#JV(ko%x;u{LMqLEEDmwD*(ccB9Wp;u*9I?=sC7g>%L{%$4m#zhbjm z)gK{LWQvE1>_yl|4T$nYKNVZ<)vza7FKU5*W~4)KNgN@;SA<9&ERxIfA&UZnB=r%N z5YD4fY$9Mkzy}!G+`KUy>3l(FSi1 zw)t)*w$E4#ZSxfm3cZLC(o3aQQ7uHk>_@fMTHoM0=quh%mfN6%{`O($pyzg0kPf=2 zjA%M7bRl4BhV5{{d4HbnTh`HM&YKw@N~47e7NFGr*9Yzi(7XQl-FJb4hPEKOC!K2x$nWy>8=PJYE)T$=Cqe(n*ChZE zklF{Ms}h0Jd|@o;Gz(~b;9d&c#0O^j{1?tF5dtMj9dG`|j0qZi^aF1r{<7KC5hZ`E zNX2nxJYEr@>u86|tPjTDet;fLn1R+IOm6&3b*}TOyNpIaid@W9c9!jIfiJOgK-aw=xb5Kpb)`E9x%CU82 zEQg_v`e+tWYClJHl=_EsSW?LZO3)o#ox(#2UW9|V7I8fYnz5fRtph`u)dywWL9}UV z*hdU9-BBK5G&}j~O6&dSdWDIpFX;&Or5wNbm^Y+A-x6(K$$Of6JTVl9n0gFY&=T5p zZX?pCxA&w{J)eDSfb?Zh*LT#AdiPlB;A%p|-`Aw6RP2mYTh zLmL~zM^VS0V@*4LkOEG~nQR)HyRB+;*KWli%QqKt&%16HWyMXRhtwdCgyoTm*5#itgp(Wap66 zyr-dgKgjl&t?JLMuw}!Boz)TOa2|37p^FAcPmxX0apWmfp$B1WF_@-dsK+?1F6~yY zEwi!-))Q_CbOP%?p%bx|=d^nLBig-_$e!nh19^Ps`s{SNq{nnW)V-qnz3y+Ipd7HS zsb}z%!+}y8izoy>Nyyj4m_br&8TGFcze#gP4?v*NEdl zzGBLM4qpvdu;5vCFi9^zXU;sW`>pPi|NFD# ze=$xI@7q9B4WPsw4CAO~UJ(S)s@u41E>#9D>!?=*N5m$%^0E` z<0RjkAj02TN9RLX3Js+GArg=Nu>E5z zPa!vMuMV06#7$1dLbwv+VGT(5V_&A~Uy3T^+|y~Q2>lA|=hZZ)ex%G`rhkN54C5gq z>w?qN=A+LgB0-@s{OJs7Da|z%dK)uDH4?m5Y=K(N5KWL)uqDxwBt>QmOk(h~1u6_s z>9x>G_+@bJhBQ;(Rr?20>Tjn}^Y`|rQvI3Ua5$aGq{HFf4BhwAFVk2oHNbk)hmAri zjQ_!g*-c^AKM>A@je&H)i1PsJ5929F<8bLXvONK4;-n6d;Zm7Q=G|k6Fp*AY!b1a`eoS*c zF413z6`x;!NZV1k5)sv;-Dqjt?t&|JLNGSA2yWhU-RYC^oiWI1+idw;6*>m1&Io`^iPgF6c$sN zw9j3KFYs@%*HNz1Jr?F^RiLV%@DyQ^Dnc1h&59pWKhD#AMQV~3k7}>c@gdw=dyRf5 zHGNU7bA_hHWUnI-9SXtjM~LT>U5!uS#{ zKSOhB>l^nUa&S8kEFoAUIDG}(Lr#|uJCGb%29Xr>1S4yk0d)9hoJ7#4xNbi?5Dt?N zBp45evje1L)A;&Smy9J8MJe@1#HwBFoYPv$=k%GOaq!kd58)tzBI~EkGG3Rqy>GOTce-p>jH0rb~c(K z1|9q=$3)Vdgcwyvy&>S3p(f~O;~?XK{)Kch&2!gs=%kNH#-Ee-i}S+a@DNWR(Xnv< zv7kIUUD(c?RS|JmPeXBC6cbxUl6qRxl;fFAiK%!>EzFa zJ$-mz?G%WqC+P-l!DLX&nfxzGAnLaFsOg^Vq~gaW2QQ<(qixj#J=;Y{m`?kHkfO)i zdxQ*`2Jr3iXdj4QE%|AlQ;|Wx~pKrr7xuNnTe=t-AO)iha6xDYpH}>yZ z+FD^H2VS0x4us;Wo_95^kElZ$>j2HW@wyeLi3i%Q28NXxQT7V1{iHY}Llc~!Dkv8* zM><6X$}-pv0N#?+N%W`5%}K0Is%8kCOC~LuR6+;gtHYPi9=dqUoin~Q^MhE;TSIe$6dEI=Xs(`oTlj_C-3c4KT+wJvpu4Kkn_RZVg5jE+RF`XNx?0xmaV~bW?v}wVTXn4{5 zO&2X+*pF%!%qu@3SLRk-npU5?`f_cV9;|pa#ktlD9VuvRx;TK+fWUv_$vC8-@TcO4 zN_-D6?7|-4!VWMEgQ}TUe(c3w4{eyxe8C5t7pS0MFe;X@U&B?sVDIGR;u>?mPyb2F zV5WLiQ2mX&1v=E#B`oe9yk4Y2^CFRk8*rV6k1!uW{m47&7E!m%(ANz&+ixrB^ng(;#RLHnX%tfsjJWM- zyBo5Of=eNl8*;gm`ozE0weGdP7~Iz5$$pI`$C5 z`U46T|8cnpt;J+VO?%~H_`Ph??bcn%Jzu`2`z~tc^PoA?r znJlfFuxIeRC?a>J?C!EC2Bn;dnhn3XeZ}sbjb-10*a7A?aS00$P{m0wm zO_v_`nJOwO*k6S$tHR@xmt`N`;fR%l>^^ZvbfRm}PUBtryK5pTwRdIZgj<#_irORP zr7I?yj7m&+KkD(;PKtLXmF-s9=>`j_AFjI$YN7_w1g7hD(md1~ysZj9;u_Y4i3Ssz zgRH~g_UH9AHR4A!67Z@2zch=Odh*4WzWc2=ekK0-ueW&=xy{z7Gz9CSbv}Pk+4ST# z#ZxnW&!Z1tS0A}`@LT_*wh{sv=f-Dy+2cPoUi{nzYTGjx)eit9s#G5^D0+(|iNBlJ zV$vUX35MrZ8K19VAN|i75_}Z#DO`R~MZQy~2$6gqOvN0Js%d70SzJm|ER&Jy5k>-I z!fh9^fC*zr22w0EG6&Uqo`eqC7_L8gi(#?!A>;y86ak0F7|oHQIhmW!15hHkZ(*|o zF+vd5r!A(imA-b0}qc4-&FS58}j>!?PW$SEg*;W8H~a^e%b?2`O8 z*`i%!x17FmIo=X;^83K2Y3Hja(b_rMns6%ts^>=(bA-9V<9O1I>564?R3a}v1yYtH z*l6T7AY0T66-95WtZgaP8(}|MBGlfNdh@=~Y1m!IA7($BPUtE`qT@h@;M3Hd z;_dtQw^?1x7-WaPK4XDxuqd5+qVz|PQlALGw|x}&MFa4RtVSK`(e|RtFN=u%s&M?) z7+HD3$diG_iYZuX{0ijc(*2C7cTX)p*3LRRtn3r@wq>%<@A9jY)yX*dv zSq7pIH0)jCA$)wa^7RfPVlWXzzoH}vzHmu4?W&f|zEC#fi<;dYS!Z*G+=!O(wLx7} zkfS~!6{@R-(Uw86L(mJl7`6&&tfKDx<)c+WIlqL)3pSX=7*`N5ysyr`8ap$bd^E3w89)ZgPiCBi|f{Ji^U)|AMCk%95n_gVk3|_XmE_Z6(keo8NCgI|@0sfZs3_s1} z$KK|ZCF;AE#cQiOrv*z^HWTBHM`H8Hwdx20FDq8lu^{(Q!@5s%Urrmi_ZX=7)j%7* z2x#|wO+pMI^e#2DpLkU+erWUorFxiNlu1s>XIg^5wIEm|joek2Rd2IsPtNkBRLQTFsnoh4v_<(`f@uV0I_G*I9RD+?L~j{1bx`#0ta zEeZiTNBzhh^|GEN+1vl7{w)Wm!`yhLKAuC&Ve`GhjRo0c|E^`tZXfkQW;&_kBLS|M z7!XYb?!E&&=u`h5Ld{_dyivFMQHW{aI!yVS7oS=ttZ_4U4sb{P=wmO6wCrO3g8Cir zRxN0ht{}^=kNOy`2fdgiLzr_8?$^fWMSdbcHb<)&+4+$`i%$>mB*aF7fv0tiFWhcK zRThLy0Mtx?A6Q34Vn$tJOcHkv?-ldg8_%9Jr8YX#=C;}%u*pWq^?L5VVi61EUkC^@ zTi3LAgna%bC9aB?Qos0?XlUZtnp9cISx)1AbGeO~JGb1<*DpHId@iRrT4e7+!$h07 zWDZ4FAXQ;*hdB%9)8U`#Aq1XW1`G)sm$Ol@ZCv2#2r5~I^BXuYJm%NgOkCQOAufat z)Mo2&C`TDc7EDz1sE;V{`=Bx<#5gYrDb+@@FE3>Yx=pZB79-7UjD-g%Z#qc&td6cl zI`S1u2Q2b!m^1LOg{LEV_eV*@cFW|i{!+a94itA#8 z2;?I%3?C8LQn5B+Ac|?$1Ejde^`AH_B}3`>#H=np*@XDR^y^=fZDd~Fz;wS>e@!M7JaPvv zPU?=U|2$6iw_+;&j{0oiARgl1!2p}_PMTg!Yxs?H%{HmJgU62_ghA}_;}{7x*brZc z@>!rSz|M}1YPdKizI;?B3~2O%LY`8A1SF;-m z+Oxu{+PYOU-V9O}bVd$T!;AU2M<2*KtciMEC29!H9V-u9ZUJ$M-4#Nb$5QVy@LP8HyfiyK->WR(e1g77J;isq@ zxu$>@C(@*mf}RY@L8hJXBrWMOEKDqt3i8iwFSwpR$W>G_j=iMN>(!1>S7GdmXt%UH zpfdn%XxP3S<>d1=1{yBn9c@?(YZkyNN1 zQx^M4-32#mo8SKR;r8t_CV3=RwbSNzS!Jbd%GS0L=qT*0!ERw05x~DzSsUKHYQ||Y zuwKD!+2nux!l3~g>0-F=;qnW{w$F|jqXuhZz#N`4WtzLDj_MYvu(*X@fb3G;s!oPE z?QMW|e7J7#=?C#3QWQRp-~(1;_=?J(Y^}oNmHRoN$^y4Pv2Z8cL)EmwWVNJh@>2ER z)el6y-IQ`!2h2{kx3}jwTf$_!N75)(mi|n=?Ylj_>QzqjfMiO67Wc4{rOcF4JS+{j z&z%duf1`r(U@ZlI{F=sZFnCGJv}cN<(cA|5AP8m+HUK z@vG9%#_zOu)ChxFSxmKsBSSO9XX%g4SU79e4=G!|Cgo(;VeA8dsRxIZ$Eqhj(brh0 z>Jh)P2`<<#u_i^?L>%2jxXAxZX%?<7l073C+~1p!t{Dj_9ZxL$sz|_G{C#{Hv@t=B zP}EsMr62u$;U#=d%MRJHCiNv=5OI3(_o-A=G_9B~AsrRui@pzUDE@tHg#6PmWEuT^ ziPt|@8=kjTNmkqdOlyJS!m{E9I87hqn;%9rT0<0-L99QeURoyK-&OxH^mcao3^t~WeS^K zH`XC|VCLo6*duA78O!ugN@5Elxkhd!CmdSX&*f=utfmDFD9PkBHMk3&aFB&)R8NL4 zD&i)OQLO z(Z_o2Zs~o#^$zu`{XU~$I{T&vAH3;ofJ*ZpJ&JR~s{J0}8cw}`t#a3NvWA?#tMY67 zLG}{Q{#6^CipQ$*V2|W$g2v->Y9+4=(K+K`;I4$BFUb9!Nrk0B*fL+v z_lcdO1uEs@|8I@xoKCB{68@q=)}90JCVF33Lb?M@bC5mog<2~vPXXzk7B$|75Lya& zL)t=%E&Pk`S-PznN<)4iAI;NU!@f0_V&wOND{4!~b@1&pAN$Goqzvq>;o=lr=43Xx{tUtEaN3B>CWZ)Uac%%Y9--wFCA~Ek7aAC_APm}b zpXAnlNOIF+;t%pPlAxIkvv1neXa8*XxNLX6ZDDR(+U5bi-=^>US$+3TyUFaf{gSPI z&A@*!TUbRQ-p-3$KUDc=Hp9j|c+t%)Z{KNid2DyGia&p6lgtpOkDeM{Qy=)H&22V` zFBRKM=Etf98a&;o2pD`R2ctkyWxz`aTDZXBjY52aOspy*2=?xDIZi>&&))8y?Pe*( zt;DkFm|`@cFI!Kx=wFn7fh&cqy-f1RZb2KRCK7JNBsApYHWk=M5J&|wBQOdb+2_^g z*;b(s3o^wX$sWZHhUhNh^+UU2+hPaWw)eN~kHy66akHOp4#cDm_4zDetK1Mqx+sR1`nMz9wwQP*hL>=&Kei3+FtV>|yg%{T(6f`N5BR!MdXj8xHG^3) zqCJiEswQF>ZLP}3Hs3ciKciD63}0Z^MFL6+`V473sGm^=U1^Mx3`Y|Mrl>H0pEcT6 zg^H5MH*WeRUNMs9VN5fcZQ=>}GHBs};LS}+P-y~P#IlYJ0P8ym@R(0L;jYe*1D4ll zwDy~vES0HtyCCI2411OeiC>SA#1wX;8DRXzVihdy^T9BjrZUmN_=b)~n*!R4%Wps~ zkbFH!%W;I*pJZ#8%)c_#RUtKlOksrV!Y3i%vh>?b076sjL-)-NtH_t7E8;OBZOPa@ zAofQ3jdT&<%k!kzaG)7qW3j4HcvQe1&&jd+f8}J3!f+>UDx7H_B8^6hA&r*!PDQ-B za5jys`+BVIUd>7lmgi)Y&fyh!`yosPQAwyIh?7D-h2#b7);pTpdfDrCm->#&W_JPe zRvi?=>OgitOs_62y`!|JbhXf5STOdjJDPjj*#EK7D|Q>bl1&L=hPkN@2)(QE#vP@l zt9uJeTG&n{WG78N)aYu19%#`y%8i44oVsSwNLRxgR6hF`tsw;8VRy)COB4`B4i4SsLAa4`Y(WRazi3X`Vv!fMiDilJX?r1a{9%U3-*f6J-iKJh{i^La~ z$yJ?ASG(MP>=IKImh$g9bD7xJqR}YghlfIHszUwEmoF2yQ`Xet0HgZCGNmYge2TvH z+d^IF=q3{GD`-m8K+R-7AdPA64e{l|c4AofbmD)4hUvwM1bw^%@mXLok{H%R#q;qz z+gU3h@JZH-G^8$-2?T_&a!E51(fhSa5Q$w^j>=mA9b7)O1^G1VKyM1v8fOAgDLfFwlSN7aDkBbh=1Vofi; z{_|sQ`!zOY>fWC264~Y0Y;ZbE!j3Cqv4wlfV?E8SiTe3tr;ceTaXo*JV!Oufp0KT} z!>xB&7aARQo9It=F0Wa;$5j)X(=fKBtv5LhYKFC6eJA)BwZ>zny85O7zI6@a-&ln8 zLF2LorHz$i{9dO!8mb#Jp?&t4L$8*9&!)KTkLxQVHBP8FA!bZwX zC$1xtlqa{pU|8*e#v_V+#E4OT zjwi(7(vGZ$V!mG>tD`=FtRvSqWZ9$*B?GPmVd1ek!0@{$s=gg&_gx>I&W_E$e<7Y+ z5K(_sDS$qH^8rKPSita&*B->#;u88_rMf;Axsguitwh`|=XF8(EVlU^L*PKbu#TN~ zwj8|9X*SENE}$egSAG|3#!^5By}_`$$?RM3+{=QMMid7b`V01GIvvI+&E63R2wQNp zn}sc$*2c&2oUL%!tO4~7wk4n)tpFT)D3<_3R0r=|=}&0KCf!VqIpm|jC(z<~qb-#Q zZxk@2wJZtt%hiN1;J9w_Hzt9B+S-HzVkb8@NIl-+0XLm`=_dDWyDqXB zn&w}0*`hmpYVLH;R9>jKpbgr%Tssmku7 zB4?i;DJ=yE$6)n>a-tiWd=_(RksK=Y6Abz5;b5mLI|>)(FA9o zGzACes-Q@1Vend}5C)iY7*G)}1M%Udge?eW(1HnSXri;yq(~2bXQq`x;Yrz#0k&ke zS%JGlk~lDWC_ny*-Pvc@4#dzy&@`+2PkV%% zOIv<3)+u>drFF184*~^AoZL$_J<;#J>d$8hF1HEz)8d7HT$%mI=(a%Fw_CitukY~T zzCPh-wvU#V(e-YoddEiUO$O~Gr_8a91@$Jc+rpZOpW6;!qTct6s-1GiRv51Kzn!ku z>d;8_q{~ie0yF5Z-59^#vLXATUx*cq!zD=G$XZeu&u5Te*HqWE4IIDJ=3 z;X=s*MnE=AeJ9|E8#P5YEW>Y3>i7+gy{D`72zWgEJ6_;p$$k1u>hqEMJ4WhXT+1`J z2UoHdw1-mEKE?MEYBN#+HGKNk5c-SiJgPNDBrxIO3hq2zQ?Q-Gzn`%I_?VYp&dv2M zvIvf0jiNBnpf1lm=3_A6ApuPS)>4!*8O26GMgpxwaM6T-up7}x$fShgk;qe5v^RIo z>TaB#z4r{2{wUbivuj#sL%^MIIAif88=Zo8VO`(VhtJ#lK)G7`AVbhecjuza-rrB| zo4s>x>$20;IoY}UyhY=kM#Bz+WZSjeUwYHVtw){{#_rt79ybJJr`6`3xa`^N&f)n! zT=yimh90T==dW``)l)vNIle^QUoEWPPd=w1q+I0(zj?aa4;5EaZaQsy5FJ4LeF}5{ z$zg##sP#GwKG2!Ph}IYe2=jqBViZeEZy;=DiXR5O3_2O25Y~Q9y=cg)D}9l1=&&Xw&3l?g{8))$`(k@{a1p3a{ens7utuI^2=vshxrlD-kY-br`D+hAM=))3(PZ zpyB3*357l{^D%K-(OTUkjEoJ4X>x<^UfmPAA7hlXG?QgK21ybCZk1lxS0Sifv<291 zEjcA#Q%-#E!a(4PJtQIWk)#atL{s*GU*JZt07Zc#S!1%fwV7fXkwZu$LI=?Jii9b& z9N7&))d3Vh8fPHy4GD@Ijl7yD&?%NGuJ_OccYXkIaDN7{Ux?ntALbeUyb?sbz03s# zLfJD@r)GcJGkZS!PFErpG3low5RJ#jCL63{qLHqyaMc*AVNejQp_b+{ucvHN$a_^~ zK+n|6Qz^l#n5WiWi;#UEURyWC?C}74{5m0i9bm^jS=(82np)-?!p5j&Hj8-6#y5q$ z-cZx{GVhaJT^!E3OK(B$?9)Oq;h*nmgonr@l}$~5ny#*74^BUz-dtT@>WZ;S_3r_} zQNaQi9BKB}jHzND-dA1Yeacj3_qnU%q4vw$L-Baogt=3ig3Ri*h;4T_HQn8u6~D8% zu3dIGR>z7KUO$}07IDA zm>ULZ#zLtQpB=zl`Xly=k@2w#_&57?*Xi!kJ;wQT>Y(diU_s7c9> zJt9NLo6(QTdY?<&%(7s~gGuhxX6Ia@TxNd)1c%NSn z1vg!?!9F%t+BbteRT}T^ikFtgySn40Y{9CQ#s-^l6%*Z|a#r=PT|QRt>uzZ1KDuU2 z_UG&)_39e07-r|Hmy8d@CawADtYBN~ud`dnC6l4WwkC7cwB?%@#G0C73m(O(B@{A= zKYo4MwAZI+m;dFW_8z_0tM6&w{t;apJRSqCB|8-3|G^xy4{cteem4EFg?KyO^H>jM zvPiWhJ7a++c1XQBBKT_Aev;X1adZCx?O6i7i}=MPVM!{DFhM1no>Vgi=FJObSSzE4 z!cz06q4?jt9&?tl`>Ym||8Lbn@fQ|L_G8v#F`IpVs|l!&x&>B}_z$1B(XGyIsHAWY znA8qOJ=@^)4xPoaU-h^g^}_jK@kTQ7$?aFf|5I6D)sIC2%qiC(coF8shYu$ie*)ue ze%G2{U`NRIn<&=&^cNmI;H`MZjd~?#3I1s@KF{obqiu%g9@l{o^DS=Z{*u!j)-EktzHk%L~ zUeueNeuutfbuxAHnCfe9zB#!P8?xVF){CM-QK}``94{Bxq4Q=lI*@*(t$ z0*llTSuC3*FY_i0Esz=DU(#!`f?@wi{if=Z>r@~3asMrB8H6RvvkTcW)vbP8ZeWX4 zzxps+&i<@^TXl<*)K}C$u*vFs=c>O<uva_OepgZ3^mp(p%~u)K{5Z{k!@f>W^5N zctHJ;`gb-C%!>u<(kED#4A{XPx$+SHa}?%+(O6P8P)JhxL-2PKS-#1p!TbB=d;5nL zMMOs=yP`{Yvn%^wn}ki9e$C!VtI_NeVz`$Lz%L_RchA@F7J^6AM{gFM+M7MOSKOPu ztXH`F#C^w(VO);r;56Hd1-i|6n#b*T>ceqoYd9adu&Oc+x`?PF5k{oi7$_HEV@K2z zymA4)N+`DI{|3bN<-4D@&N)YxIVoqR5q@8N=Kc5COtz?XZfomYb%y==nU^drYn>b!5Ctr?PZ$sZJGC4(Lx<*GmYK3@9};69v2?xCz*86!x1fq z9-^Oe{|eU+0lSwM-%%oRlZiDYBcsgabpN8BFSM>vThx{{TLd#395z2-=dkJ; zUPumj_0A`QOXa%S$dG#HKaV)PHrXJUqTZlMEURp*D&K#c?PX)`>TojQ>yzh(U5ggE z+}3v2ww-mQmrPrgHX82`E)7LZ#9*S)OrYMVHZ2*%Ix2 z-f6n^R()lg_{@W9puD-%bs!$vZY>)VYBn{#u=iUtgZ1U*4oibOw!C4kr;~&cIo+d? zul5rmlh}%uY=)i|^mJ>IyR&mweFZIu_7x~{W-C@zr5Q1cK^!y+OU~frPEZqXZ04#L0$|tY}D-NPT^J>z!>2 zLk;VdDSg7vTYSmLjc%I1lCVSm>+G7BEY6w@(XH|*G{ zSt~)o`-!M-5J4aV2N@%gOd!0FRFIBn|vW}Drt z-eWVGJOi3H9hf$!nudR8+Nmhg011-@!@NC3DA2QVhVsnWtq@_vVUsn7Lgo{)!})lf zHnxUxXX|Z}q6~&9Cutz=WXN1iJCP;&D8)pBPR#N=xfBTp2pd7-lFF5XXBc!;f}%nR z1Ca6zjC^CAo!5Zpsbiu(lgpE2dZaZQmR3Pl1Nu#$p&}HOO1KhD0hr0cDxiUoC%PDR zz2y;b(?1FUenyXAUfrc`fgeIi%?Q>s#3O>1`S`d7)!ab-ztxcdp zi(oNgfzqrSy+Qa-h~$kCFl>tV#u zT0yo>Sj8|%X=Z5eLYl_j3H$wFA3GlQ`NIC8!J3ZtWgQ*Tf>iySj%6K(I%;b=*zAUs z@a=8sq4nu=XBezD!_2jBtet7FSqQn zIF@m`p^X#2_+Y@)f(;Nc7NdxOl%T-$NRFKpzZ*Diiyv-9$byI~Y_VA7@fF$z4H|Dx5g*3@-my-zW{NS^+s=4LU=S;5ULvFYRU7E$thNp8*A(h3CX5s zqQ~5@=c+ot#VX*Ndavjg1ef4*RI#r4+51F`-Xy>#L9~eMYl6w8mrb%>5bZT?ljVD6 ztEdNv0*uOqR@o*xU>7I~%q&O{-x-#ny*Sp3}O21M?Rd(O98C84<|F{P!iYQi+&Y*nsLu5^Ihu$V)k)=GECZL$l#xZCMb z%xz~?w@;eYGR~3+M_}0ce(?P zl902^TxqD4$DQx-Ouql3YC)>Mv?0+^0b7X9MdejK@03cTh{%+U%}ktHqQF-^C6`xw zO``FD0}P~L0z_&PDjancf@m?ZGR0TUYN{lM-RfudpltLzU;yJ{R+GzQ*P|q&zCuzY zP@pguLKr`*Q*oFilK?v&y$CF+j-b`jSz!_lC6mW>m+2px;ND~mcq=BCmMTz-PuXY< zOa5z2j)rQ{(LTN*&~0=Yh5whf_W+NhI=_eaPTAgjUu|FYx>|LuiX}^yT;wh{;oiU% z_p&Z@Y`}m`FN5C~v?rUXJU2@qOB4H#QH{+~N5*}@@#Jm2%V%+B2D zcW!yhdC$u$WMz8Y@Q7Sm;An!nZCaUSSuojY3}>m>9D|bq{)XtxPsx!lnpMKJ$>l0=VE#0Q${LhbVQ?(avB~M5H(A<6VIs~Hmen|XCr57cj;wDg~y7PjIZR* zau8CZLCaPfRJMsKeNi~1P;*LSAkgMF^Q=afBekooDqXYIppZJ`(kv}2%`0n&8lEg` z4=C(+1ET{^|A%kM#z zXK7m|9Wcfc3=~;>1jcJfX#rU|Ppz!j;7pMyJxd%-z##=(QTY&BIZl!@lVSAb*KE2t zsC)F&?X{LH;g7;@GHGHi9oIy36f@s3g3 zRt#I$TBG}b-9;4UrV$&5Ij9vP)Y;Np6VLT3k-c!=P<<;z&y-p^C+_T2?PjhnuA3&) zZg_w4iMx50MTey|GHd-~Qvv|JOonzEpncEx-PZbcYu(#|MF)Yep>~>mY?NK)j*MDlofYp2?IA zdWFjqQYB^@4u{F4kONMK_E=?Xxs$LThk3UpU19S{Nzmr?e_{2qb`9sV2yanqH0d@5 zKGJp8aZ;((RpJ-E(g5Ey-P)#3bab(6W+bgQb9J5E$fs<9fcfNuxIvFo=h1Dgwcy+w zPuTU(HesXi2ZPm;XEiGog3BROSUdQwi5UwQ_J3+1m1G-UYluB@01JOMr|AGf`7CDG z0ig`8Ee4)kL6qbPGy~CNdwL7bt`jNhr{b~f<0Mqx@25+$lS$DH(Vxp|&m0t?&qQTw z7?k*9V*W>p{DU=}4O&dJVTtJY(^>`^lPL~F6O|IFf&j!DWck6E9}tqnNz(gl(B;1+U04#Mx7H@PM!jr;8}`p8X5AFzRgZ z`H&lBbVagpDgs^cAL}3%1zD$XOne$PNmH;OFF;TKQt?TS2u1Xly;A5E%X>i&LS8)c z94WDnS|omqYiN=XeK3B}x+|c@HmfZ(WQ<~YG9AvJ!q|jbd#I*5WUrl&T>ys=H|eYa z=2P;fwY|sZguD`qxdX)M>uI;{{E0Cl55B`!K{}wLHeN|4VH*YnBfJf$tm5E77<2U`gq>@HG1qNC7Hcyb!M;d687pf$B(PUZ=T|xM7)L(EmRVw z;~E{-q~ZvOOr2pdE3KGuy*wmJ%9P@R0*A2yuAhIFS3E2{e{lXEPa&La>y?-W>-8zjMwKGjQ$BzcAdCp)p^-It?U!LP5Hxpchm^Keq$?$57$5a!Z+()BJRD{ z6WgCQN}23z-^iC&TytVqsnMs6p-*RQ(ixw2F8vzfP=&GB|8F?{vwhrLatNCSGk0hY z#-0-r+MT6XGIxqGf<)4vq(!0^mfU%UhXXyCkz}3fmG;0s&`8l>X!W^JfDuz9HUo@{ zuuFqpp>Uv)!psk76{RqQDF$&!v^n_ECT`}V@{zZoqC)oA7_w~`M~N|5Q|_k zJ;Up>vyh*=Kjn%>HQJW}(v6${w!9Z%lq8ZlF>@K=Ek<&|IT4DB~B~Y_O;v9%9bdID;FI$4}a;O}@l!+Yy zZ67)fU;`NEa8WOT7DH7N_&*q17&?q>qwQXMcFgOOnF<0N*-^sEWbzzvC)kr_vv+i5 zgPm2{O*$B>IAd@{>+WUK><(pc@%$Y%QkK)@5Tn}4^Ln|tOsDsh=f>O`Mru?jc?N+S zjv9?oZ;e0J6*s%IG6n*@)S#6c137i!nnDgDIU_YINmjH(${tUCloc<{sdVK)q-C~s z^SX%F!SQCb+A?8SAq-ab;ILesL&}?2F1w-0Zdb;3_7dq1y_J`mAZv20%2Kk(?Wvhm z?BgJojYahs`X@A7)HA9Qm5P}EkW30FIDr{C1ON{u z1g5dIMr=}b5GjQLE~kiOEsekhAqGW;iWew{c8QDP()f-j!!>b}0<_?aiq6~yI>*3B zi`CdXW~Cg76+JS8SL=N!|F26HjVUaAW#N(;&=GruQ@h?1{-Ra%60++(*a{-;SN={& z3m*yJzP9zU)P6F#y&<2IYIRcSWv>_H=QF%ksji&bymFkwB+s?s!OWBD?KvFpwAYaF z6HB9tl5(fq9jdFlXQI1E?Q^gHxncuVOg#lH7*|HYd$Tnnm)HD6gV_v+Ekb4 zp_-m+TC}!*?8^M?Y`$XK{JN&qk1Sq6xYYg&+mlym)o2Awb#46$jTWSN#;OI(jOptu zaCbaIeUAorw`cR3Q9bDuE~l}?)pf9WSllS}RTN5{AmKP8TP%l##64O+ z<9w~)>KD$L^#-v&PKLdn&JjL-V;0%hPd@a%E}(nDen@49b&%5#O-QsX6;-7Ym_{)3 zVl37&u%3X?ma&!7b)K&CFgV2vcWds-QvlU}1h5qyxV^(mlpUfHjzhVqKa?A?iY8<~>_=ad! zk8dO`rvOwQj>Y9oP2*Ot9wKK_hBC~WVtf!r`yU%(p%oD8e+cg4QUi%h2a{}O5}EG* zZ-HLS&Y#FkWd<|*0G}o#4taLmE^k0-iGxUlg8Xl6I@jpH*%~?tx@JuRJn#pu1 z@%_I=rNM%Y&`YFTCG|8jY9=GAaO%H4EqhwG9gJlaZKg1oi{db>rau>VdE^b)^5%>b8}?cL9itw!Y(Bor%WpI?%Pj4J{j!bwjl?n=A z?##%PqWmuA8zS)5vCxk(#bC(9jFU0xQk5C=7R7TRzMFn&JpLe}gI6mL{C!MbWW0*I zJeV8RWO=t%FK{h(m362pOLR55=AN7W`u2&T{v&qlpQUo)8&gl^+xyG^_=H+E&E8{g zDtj>Tm&AiGOuNYD{?mSBc+fDm!jX{TQ=#IZQaQll|>^G`1^D^SV zM+ZBRqk?)b(96%pKAv6kG#;Gx_9RUJOrL=Ch#REmXQRXa?RfD@|1DZPOH<>K-+Z~L-ZeSdCe_=8y zv$DFgjbD+f$Xn5p?QtF#T$_pgT|@$@QGPJGo8D>TeAt8fg6onA*w0M>p@iDdM_^a=-IIAa==ijmLcDs$P+!j}iuEj;;q_SK-hF(6t&u*(3 zU!LE)pqCz!$h##W9aWv*rYjeIUm+JxEFjgC8ezyBN-_G-vS}?09R$E(jR6BMU5U^@ z(V0P0B}3^eADjeW+@$S6T2jX+!gXXQh=c{DMBthD%*Muwk`k2(;0!J{>|O2$aekt_pC0cNlWBQj*NqU$H3%h)ui z?qoV$6o>@NL$D;;M02ATJ{}%ng;dfcXd{fw1p6fDH854f8 zL_5c+rAD;odO-?4m`z)jE@0QsIP#m%s{3yxi%G|qJ9mC592Bk*4$?J5vvrf&4==v> zL*Z%RPT^^~#-wiB-EW#fR>F=Qt#Nm25b;_CbGzR|l<+O7jV3LT3y%tNHaS?@`}o41 zF$uNZFw7Y~77Aa>jb2bAph2cqyb2hF{`0@kc^4I@JroH*5@Ck{3%HA7J ze{=QfTZrXPG(~C3e0zG=<=@}#yeD$(it9e|@}t3Eyl(l}7SBEY4FhdhBIcb^!*gCl znFlPvfq4vU4akQLkM!yPH0F@Xp4CK5WGsrIY#-Z~%66Yny0cS6LL^vZ{#CoPf547v zDOQeSMJf?e5Ldtea!LXg_#yu@^rU^*gZ%^VuaIC)(1`K^c$#TLNtk$0pons6AR0!$ zLUWQKxeJ{spst%xMbvmTKy*u_|1@&<2(Jsb3$Ne98JRk3nUx!DJ=x2tx%A513Tb^+ z6{A$>`g952ZR_y#^#BMQ;Q?NEWr8Kwqc!wGt6zh&EFKrvp{{ zN~{S=Y!iu^0Jos91XK~^De&WAO?3BQ!NF<=uyq~mg=ar(~#oOa0#k@s$PSzc6DGpZY zT%MiJKfg1}p{soS^vIIw;22}*cuMOjV++=yo`T|dD%z@Ov!(S!t0^oRsA=_x^+YR- zRun2H5=~%|fM4gQs|vMD>7n5f8#?tsN@5RaH1W^l8V#@Kb6(2f^@31PSCF5~CtaD} zHvqx#ExV!o0Lk}Jze|zj2?JMi!xC>^ZcUbx|8oD`UrHT5QaV&bC3|pDTvIB|$&v2% z6%>eP4*a&})c8hn-$b+WaF^U1-Y9%4?aZpl@s?;DwsrU3yUt6`1&HKhr(r4L3qt&ZY~Ue$d;q9YOJv}hM+5p1Omb%T%HEakh-=S^t}!cIW|NCt zvYY;N*Q~sC1sQXeEuA^!svEU*$tdANv&&^(v#x9Tve5*SsoPZk-nva@m)o@7>0Un? z!Atj^ZD6Nk^lh>fKMh(sMon0&1|FKqIv6qslh=z6Ed%72Dy!IIOJsI&k(zNe{r5j` zk_^X6`ZxFWKTWP6!%seNfB&|pQNmWNqVSmX-rpQQ`2bN0Cje~8WfmX!`rCUhuDV6| z?tzm(+(*>4Rl?Uf)zvuzW2UIDP+k<|WI}{Ib%x>RC*r31(n%p}+BT+-9GkW+IrRJX zl4DHYwrN6EI=PMW4E<6fuero2mvA4UMJq5i)7)epXyn;=e>z3@9f-LGcf5hMl*Uci zj^i)l8w{96&a4mrQ~GllC9!c~%TH#{M$B;EW?N3ttH6-F_R*bkE z%xs+9eK>1JJlEyUi3|T4SYbBZx6y2}B_?h-TH3hruKPE(H$8SVQM-|~4Xr_@In|BW zVgnhInnHim#YFuiJF;qqG`&6hB@?p%o1y+ku}Y5rxPFzA>{ANaiBNe-q$cmhZ(g6f}5CD+Sf>5JC1{YNhE(3F0!pqbX3(RwM@_N|c zFzw=ol!l+B7sM0Mdy|AsMx{HQl(76 z$#hO*p?1?0eXP0O(<)bIWm(nM?>D&fvK;|!P?al}G1;T~4{9s&3~cWA(L?15m&fK{ z)~>Hj3O^K`+eU6-gO#NfAS4*o;1-7UNR|0&(@~!?n_WwQKqAZxwyrJL|JM&?c06U%ORPS!-dO@oAf`H*?OVR=v)~F4S5z zN+5)YCd&}E8gy1RrguKlTO10oX1m^K%4>6G=~)DM_>yi%EXJsGuk#kUP6`2@0mFH& z*Y7NFja4Y}-Gp?I88a-Qs4d@6Y3k4^;uG$8HkVZ>6{d2Ts(+j_*H>Op!RM>kkox{2 z;Rsw5Iu&f8xr|1}tTY4tlHM>@EiDGFo?bbl;~Fu({1Z6Pa>+DgRgwURk+FuLorv&p zv=R76sC6XM%S1>W=qad%1G_wM3Sh6nDM0zsc0|E!6pSFE;zY!kd0?&wr8l1tn`~l0 zKjN<7P2T10Tav&7>10G6STwUFdt$Ckoo6!J;)Qlku~Vxs*jOESa`jr1$`w?}mAukM zx|OzkuRpal^rsm`;TczAm!Ag(3+p`9y^Z2s;Xjy+&E`xnc2|LnIxpPt&XsPg6uUf-7ft7w~JT& zfw+4o-?d@ch@?j;51V6l_vA4*Mm!^38vC%}t2Q0LXa*LS0U5%JS+ZNQ2IGMa4z4Ku z1XMXlM4({XWT3mXmejMX4KfvQpFUQG=p6zh1P(#hx0TaeK{z8y&FKjo3kEhe;iDcE zfcF9NrmRd+z#75I#zyOzI${$C4z8egkGJ98@%p80)mt99&dA=tEGF*_>L9oaR=CWYsR-P*G_o6S+z$z#(P~a{(6#ymX0~h z+zw|!lNvkPaUB%ja-FB?(Fv**Bgd~HFZW*OO%_;My4Q{$zEnTq*A43HRN?uNFg=hl z(mS>Jp)!boM~Ci|rMz6Z8QFl};xW z+VC;%K?kAOOY{Zm7ozQ4hK7!RFs`B9d6c9mQ-&9ZPv@IOdauhoi;5;SiiX_ zWHK;M)?aq=IP-A2oqKccL$m)pH~*+mz|;ySZZ3~)-BsluH|nc;xl+!#{ao9QcRBNG&Y@@wdtJbh8!GYyZ)Aw zzW!rQ{z;Ot{z+k{O^#r%wLyJLxwd z^XJOJx5eNf7|~5`*>4^z8HR_EXsbFq6_{Qh=&*U_cl%k zwM=iU2Q-PXbe70@^dA>Q@*j7JJAQ6|4-hly6bGu#Guf4I3#=NJmMq+jRMnDLMGTM8 z6FZqoQTr`j5OI0-s_>JgLyrB~1ISJSSW>S5iIM8Fd`kT8G)kmiG74kB5_qw%knBSo z@oyzBOWuPdb_$`9K7a)3Pq%~9W`D>*IUiM@0O!f@)4ww;cr6QD5gESP1B%!6;MicH!*-Y@P77+wB?U{(vm~ z0JN-bp*I7tds}$B|2Yv_ml9GUw621L=mG8zKA?tYOyL8Y$OA*gF20al| zE!BG;U}OpgXwsPQkfX7WgsEmUAWlI(Q%5G%c5JA@ zvU7cnaQC>*j%_XCf?T?a7#|JPH|92fQQw$ue`M)hN67HnNs*fMopiZ@%w_PtA1jc&hb32b{w#B}vxOro)&kk4QYrL#`LlzCOWDbu%nMm`flvZfG|KV$j$ z-FNRE&whE;GvWRhXt!eH;b*Q&eRI=I-{8}UJ`2g|xFh(1d6<`@`9woMA|kP%%i+S5 zK1F0WhSZW`Qt4EZc`V(MZsAXaeCedS(Vb5ELclEaS@QrmjTB5H)0hpPEE5EQNlSt? z21ITlh|EwEWF@giEs@COAQx(+_op}^iJXqHgKDa5asPlpLpVlbgj@6s?#6S zYL9`li=n^zx)AA&B=wJxE3xcTD*N=wh_LiAeKO-y5#$mc`A=Xw@xj(!AZfrCg?F2! z%%%|*5?(3e55O%Be>hdJWqz|Y>@NYc35+My#uxNsQ%rG0cZ281FRKs`l-S?BR7$Qh z-dVrO@Xl=E(CcZ!zjWz~bC~pbD^8Y^*o%J<{*O3DPI*%37d~UUCSH7g{XNT97LQ$? zYDwS3-Mc~fzXjb-ryofsKuafo;|MWb{O%5q#oGdD3s3+{Gu!C$mzxRqo(e`nj_uaPooI_7+V3f_n$&KXNEvegYzVOAmOI2;f z%Txl_vJgS~zx%NlOt`B5A1jvKoKv>6a#W5%cB9YQE}Ng#F-&RRe*ZmNFS`A= zffzY&T}2~NcH;d+T}$M2l)?WJg&c4iEkTi+0V>Z^9RNlas=*@uckms`6J|+}MwkVl zE*N-dTsD!&Rw6C9;`uACcs{*j*L;_2erJQvcU_02%bc~Ubv}FK!A+YVd~oxo2X_nq zIxLJ(Kec`BV~&r=1*4{GtdwIw_4r|;;(YY{D^5OnWS2C@x2K~s>682AHEryBn;yjZ z4?M8>3E?~8cUvB~Zsk;R?@dJv+4DFYRsX`H578avc%LRj22up7SnVaEaV$dP+@Mb2 zq4CIrhOkSI?M#gOW_%ee~$=YyOXUUtta- z@3Q5iMlTbdyK_ZVk=cxE)U2`ldFI@H5%zHXu&HYiR*LHY$S&l*@|^Pwk?pbS!QI|E{fuLT9l>Vn41g5I@&W>ri?f&GFo z2Mvui(Ha1iNH}VO&gaA?EjuED!@2g}wMSvNZckt@^ zbBcT{_aqY7%7ddWm!=M@i%rJXYvdmtmEHZ<%5=2wE#Ya?`{vOxdvUPHUc~Hq)u^&+ zVxd}piz@JUQn_L0+rqRxfv#aS1_Qa)SFTn?$r9m8tB0)&yDHj4Q)OzVO1NO^@T(S# zL(0QB&KiTUe&dAnr^5A~AR?Oh+sP8L@Ls*u%05spT>iM4%=WoC#%#@Vlnc)Y*M>(1 z%>k=bX=I0!#ZUiZtZ{s3P3^i(18oF$Y@`P&pb7q@ zvO&%Rinll&IO>Nvk;2BP83HY%nxOt@^RQ6}1388?OVhV+Wsgs0?25ERVP|+&EE0^` z9;D*zmtfJOHEx^cUSPX*CM%hFt8IaM+BUL@o;Mw^gE?}ONuG9OHsL}9goCExOl6k9 zcBF9hZPPbzo-Rz=Cbo417-4=XMb6q`w5^}k)dn8)rye-Nvy7(}Gh*3HgK@Lu%)3+n z3oI%!*v)_P(IJ#lCcqSZfges}9(VST_vZX!8Iyu_9WRljFOkeF&%DGjD#;zAuOeiL z)kL;tDxm*yaTD@D7Ic(j;`>P;SyBFLyqBneU^?`pM<(c}IK9OD2nZ!U*T9lL1{g;P zQHC5spChCsLWwhCBD+2mm(S2;iqgWTOcCcZWEYknl3hS(8+Jq-!Js3u!vGXFx%%`X z1GZyXL7}pT{gaax|rmpxnPf6C{R0 zTib|2S=j5#k%yaW)!9?dat0A=*X;8^v`SQ&KeDAp3DgrAcLuh@xA;PZBR zg`=d<4p03_tdo51mGomi;T*5W zBR30JjLniAk}JV|c8{b_@+!PN3ED$3pu<0a5gVJRMq0Nr)(md5j3YKqt%Cs={mM&V zt(QUujwTQ>MqnxgM4FbD0^omUM`j%X;ov|kMM@GAVteUvCTv*~XK!V8i8e-rGO=_w zoddypK}UkYEyU(oO|oKfA7hGR%Au_RIi%5mMX8P!NNn^DF#hO?MyUXe5YZ^CBuAyz zAaoLmQ4tEOMf%#4pPP{;jWHM)?Ifp@kt=LAg`7AKI~*z{W3ezw)pVPUQEMy~jk*Wh zTB*WpR!FsEi}0SsqLk?wqmj|el+#Tnl^ko>maAr>%xuC2=oZxEl4o@~9aI9XR%h1D z(rWcqJyENP-l}^|YjhfkRH_Dq0Csag*5}@Ne*Zr;M)&xhr-|1PuRQ|g&-ss8aV zHQ)cOM)PgI#`o!W$Vm6yr&5JrWzH40eATw{n%~Tk@(&l_f~OwphL< zCqVa}HZY$G%oj?XR`mrDRG?uJ%%7|Dde!ITbG2SC$p5Y}8a2z$XEq>ISjNkZ>1)ov zgE4B@ZHNjMe(1B_iMB^&AdI3IXEcx*Chj7 zB70ZAgoM~V!p$$OCVPKo`w;0RGhZ4!{v}p2VcgvrJjUJQ`tKgHL2`y{a5*?8l{pSS zVw`E_9ZV7@{DRZbcUGeBT!b+Rqb4RXao8LXXKXTqpXO606l_ghxNxwE%@d7RW#3 z3UEXjf7lI6*9ic+0Pae`^tPR>QL2SMsL3oEYnGOP$E&ou>S`~7xQVo(=)(GU4qQK3 zr?C@W$tk9f*D9E@M03cl(WrbDVpAIxG#Fl;5L{*BOWVj61YAL>qYM>lvf-j@87tpW z>ZJvtU!o^7M2?;aC>6H~*pz?_@A_f43oiSGu}SQ@oNif|jUiqc=UP!8 z=>_F32*pk3PFPZ*vcpA%CN-p;Wxmn4U-oTG7E0BO+K-oF$b+b15-I&yI4^>TevPA| z*`O%f1ySQ{Y5ZqvdO^$W`%*F%#Lt9hQ~Pdj5nk<{#WM`}1&EZna`}}EkJxL5;b(RK zf@)(^i_(k8hi0cS63J zs|Oki5QJx-ntFo~>>H%pY^E}xqM$b5MkoYvA@~kW?9WyLsNftU=J84%FU=uI1-qz& z1e^PwZW2CepU0^YenL2@YGH@)Zu1jQ{eo)vbm78VWF|Q$<=}w5W#K|%AkIaL_Q^~f zi|eTOp-#ROKBVnH#1e_)P3HY8s08{;dZ}0gP%Po!hLQr;BV~334uMWAl-Bd--#Lr4 zPP?Qdr)gAseNmTiQDw`*c6`PC1Bk z|3&YFAt(-S5J%N3gxme>D{!fPNgp+SjP6|uarzfLH$e)iK6*+D$1m-L*m8QjAGFH^ z!4#H29_}tYGe9>0-gpLnEkFNVf|O((Fhz0>mN{pkLJV{|+nAL!+nm@Nc5q(1;$0 zM^XlI4futW(0Z&+Dmx`;z%>=+F$`--08{c%b07caoO2rfcx&P4E_cI%*(-V`x`@j; zY3;gE`&aF}^~k{oo~)8NnyMR&zN(UV^8aqFW1e}|cCqmFEzbNRLwxxa?}InfKOla<+Aw3N@!C?SkfJo8^8o_ zI-fw6;_#rs8M>Q+4?{*lf6ip$gGD1_2)F*3nIb$OJoLNYv87o1MtGo;=rMVHc^Mg* zzJq)5cfvzNlfHv34fMZg$+Pso7znVXSU~|SIp>ji?}fH(>3^H-I{4m&4?q0ywD-t7 z&`*A`g)pImWS4M#Zu;G9Tl!s%h6&iR8RREo0+8h2rQ~oF4^Cf%UjrF-Vx~<}RSZ*I zE(2MIVn4)+wu!iV_&KCBJ7WozHtAvFJ})oAL?hICnfWHzmC33lUvkOkcX2xQWGg~> z@BaL}sp{L$pV2vjL?679*l!~z{`9L2m(0`GtD8C#ot^Q#F%1oEW0p0nz3W%&ub4Tl zv7>Bsdu8sZhQ_w8CH3p>X8H^MuC2*;raREK{(9zN$DD5BT3H_a=?1Nud0!pn*^pUZupA z00^Tj5tSm3ES7<&%$QX!=9c9_0)sU3X6E^ShyF8t!uA7Cb=}?d)XA@&a=V}EW*W(c zOu_RclPZ>-{Zx1NQ$Vf%1X5Uw9d3Fmy}|)ud-_SSfJENUoGgFpK<0AjCt1h|evE%Z z;>VXe18_1@Fu#N{v}Dy$lYcahh+FBgOa3nO3B5w!-!FNJjDG1I;T;eXh*@fdciwr4 zjDCtq-A8v`@^_NF?=`aGOWz0iLhnbEgMcy@d_;QkKk$7ipcWA}i23ZFsLEMr>E*^m zNiljMCxS`D0CtQRk`;cwZFtH2PC&AwZk-Esg4y{wTFw0ENVACmqI*lPKgx2}QEvCVye^Z; z7cdw4Cy!~hT58(tTvkqTwpOE+DP#Ggikowbz?sCpE1Y-gkZ|y`3z*$+64-JWdFkBM z*Ij#OYe`h^Gw4gVEuZc6IEwvFsdR;*#pxI9Sj47n+C_64wj)Xcy{3t;pT-^ zp1g)@-ZnI(|2o#{s+>8q(rfAp^75*M!p%o28Vqk=(~!6B6Rq}RU(=z=?xM1(WkubU zhnjpJYqg*F8xK`aD#}}&S2U^mP@|C3P(crm1S=Pk9!@{A(q$bR3U-;imDb8&gx;j0 z;T429XfFCd_&s7}e*eKm7kxl#5W7Zh_&9LS%OJK_PssaKWeGE7bk2mF(NjBbZ8CnPRDNY_y0vqvSTwEU)@I|E zO68Zv=36_MNF$?~kh8xcr^0{F%jpBc+=KqI8uz?&m(F%qRQMx)?AV_(LB-(KX^Hq` zc*ZkN%k29pbUyV*rbJ(s3^CW0uoy3ptf1(|FpOf9QHdS+wI<@yAcjwBu(VmQ6c=8m z6b?EH45R20DOnSoM;S*<`PnH@ znU-mbX3h<@cXoy%caE$qshO~gkdgW$q6rpc|}mM zfW4fn2@zHg?ak<`h$MyQiiQ`Lv=lS5hhmgJXsl0?YsZi4E)8$=c$QBnnXh9F&2c*$ zo}1qk)E{n2YI&bMPp&&}lpO)v=eQDNTY=41B&;b>thIE#&z#?7w)+at2l>OB;qvN; zop}qqD&bJPd~C*5L)|+2Gh=x(#-YO)hiLs$8|GplsgTtp7@+wT*fLZpU7J+vUEW}w38eItqmZNf`rIh|C45G*4gvtuv2ThuDXc4 z_`F(~o4xr#n>-TrA-kYAe{7|2#8J7Z{f-(gd;Ga>&c1)lWrqs;pUj`koHIS(pOU_D z^8LS$#%g*dRg)QD^LVnOJea-VNlv(W8>d}4abi{VBvc^g{(<%>=A~8;kSobx+W^dd z&`(FbE}}m!n<$swWH;yBxQ58)FmSG&`4)_se1oQtH6u;oagR#y4*UV% z$RlzEQQ?Bxx~KCmCdnIwnIbM2*apCK_K0`0o;qZC^gB zrnD~peLitnc+7HIOQfYaR@=5i$KjSiQ`sTL}ZLR4Z5zHCAtN>{bMsjN!6PEI-ku9@ESMg(;v}J0-^JMuS7w0b5 znX@cD7-?=8W)2tRaCYfAMyrX35sT!5f6!STjzv9;6_lBvK768%HD@<*NHttQXnIdk z?y7^F`IN{L?uU%rCUVHqK1zo@akLs-EoXkZnBZUz#7i_Tpn#3a5+TYeLYd_#dc{U1 z(h#`k#S*5uBs;gUF*loal*U~7`L0;$=f#;4=AN=BEs2&1-}$2Zg%57C1^v#VI#-t> zJzRMAY0~-3eWdazv*eQV6Mxve+y^*iS4kA#R|fn- zu&3e;qG3vLMn`=l-=NG{P!dW@q#yXDaL&2329-vr{@Uo%C`>lC=j2i0{4mP|q$wR{ zgn!v%CnO%Y0uBjp+Bjf5$TTk4KkHU)cFe@~QB_pz^SCGfJ*?JQKf0@!=#AcW;GQ7N zoi;maX8SBB zw0v&=GnX)%`~NoZ44HYcOdJ!a{DCi*(Pc}iWH`|I(H=k{g-Q{v<}ma?m=r%QWf!J} z8H0%E83q-u1cZqn?7c^L{#>B=FH!3BvbI-O&wt|5F=H-$V*bp7Etk-A)B;d}v8Z?J zB4WCFFCq`qCkDZL$3!R|>lU7)++0^}S32aEDj4OA`8fRuuF~3gDH32)EFsOzy=Bgl zbuV3)$8@b(Z6hmq6?u zdXVtQzxf91Fn&M9rzk%aFfXVsQ6;NGq(q#$=}<**)WJ{ZWib+A-;a)nqTVnf6_5cn z4t)>}4PzEXog;w~#$Z1ki{Lk<(qh}xw}&MofCb9!BjRB5?P=tIsR5L1!lWmvIA=!w|rhUdd}Y5$nj z@Zd2XuQLzdk4WtBzY3^hY>D1*R4J-QL@7{T4h1Gs&|F;1!b2qrcn-4Ri{yl`y@Yd0 z*^pzgBXmX3x!4)Jdgi9aQKc`rW~P=gL~>^9sMO=stc>u zp1E|DPH z1|+>G%%}<4&@;lb7~m`>2842kdFnKRX;3oaB^xJ=tNn^$zN#HJY2(KGHZfn-jm65O zv2|Y|sE=$MDk`P#+f=niuhp-qLb%_?NizMK%8mDJtX!j)P1?vF8!9)6SVmEIG{8bp z2aE9}WF=dHrxwk=qJ>vZKCOv%Yh zo)At7f2FjnBAx2PwiC{psVaa#f^a&N&m&A4FlmWM^^S9%ZFIKlfmIcYLA zle~cwab?#R3c6H?C69~O?j5+5(Ku}I{&=DcPF1X14!C@Ld06RKKXaA|hyZ9WLm+u1 zYU9HRsSL0LRFN&gn`8*8j+(;EIWTVc&J}Lr|J??}oqO%vFY7Pd{Y6}OUwA+M#qNvh zzMOllm$Y2A^8D}4UwIj6VU8R*BHYKNenP=LIsAo_?BrvlN&QmChJE`sbiAY%o;Ws{ zJ^8}+nDF|rXml9KiJ>Kc>Yu7U7@IPDQ1zHiY1R;GVYn5!>kiY=A@hYZ6D5!jXKm9F zjgDUbX@8jR^5dZ3&mH;m`~C4Uo)bA9>NwaLyc_};espuXotf1sT)&St6D)?TGRdDT zPCw<2Figb7ochV#|KTi>N(;hPVQX42l#brCNgD1 zvWp5s5{;f&-4$_d+2V?%|A$k^r5fdYhRjiF3}qc7I;+Crs?HH`C`>$a*KxQcE=)hS z=pzx^E@g3}=pCRZL~ZT#1ON~Xut5lx&eUcc*{uON08|U3d`6q&Pp<)B?F42E1NRRy zJM%GAHH^}96C?Sr?6UqhDb*1YaDnW1aE>TLszQtvMYxNSj>v)_3QAO@Im7ql1+=foE6>vkVT=e zML-E2DW}+g0qxjgNR(UI1)Cq(jDO_2P2H0>Z=T$}>HXxWlfN2Uojavei`8=j+%dd!-BCV*E({dFq=jrOQYQES*I7_41O!tkCj<#5M2QaG8ryvdqK7=gu9TZr8csspKTHAy4i_ol!q6 z<&!|m64QwpObHr;Z$XeC@yn?D)x@T*VtiL!l|DIvw7dzSd8F_dSYno+%Z(I9k_YJj zv|M0aC;$HDo7~;~Dq$pkFC_j<8=icM@OSfRWQ@v%95YffhmKT`I%QJSENWZSf?);l z!poo|oEX;_!8Rr%>f(a^n0^QrUm-z17`_DZ-=T;mxdE-G&1&Sa35xRsy&xnq5mJN0 zK!wb!qvfZ98jkQ>%^p&%D|XmjyV>G3!aoc_lNykvoS^23*1T~x2U{uIUmA95?=I9L z*Jlw~^}!~T5!peeSTkrd+Vf# zRppW?oSGxi$X>^L&`5?#8hsNQ=(QGe0tSE&-C`W$&(dQ$TdnBh+>We?VZv27Gv#S`x zZY2OyBt_P2SMC;6st1M5LWQvTL6yp|2gJf0<7BwUm3uT-o3rxrvdkMw@MpJCqwJhC zsZ*&j?k0Nqf?0WWb$PpuYUTD_yS6LUDAXx#+PCi}1wHVwKmF-3dLTu?Q9A&nV6oSo z@k-UhPdpYrmPL~F=$s-#*jh4}6K)VM{Y!r-HzX`A;+Gyg=WM=6{lGoW=DZ`R5fm3e zUJ!qT%nyqa{2SQ%$wGES$NUcb69&&849DX!S%_!9&{1|m^t$s{#zpXjSU!ThAZ`em zpMkBPEKH+)mURqx;F(k6X~?W8PDi4?A>1LBv62%KdYqIl(To)^r+k4rkHRibtuKrp z+A+}kFuI9BP}DF9=o3}v!~q124L~~#QGm2Yp#;K80}BN8x{HW(2&G>btrLYno+H9@ z35Jh4PFn1&B4`XL_{g>k=KW^r+_+su5K}zr`hwB#F1xI|d$y4oOH{&}z~X<*=X;n5 zfz3sWma*%`tr432PLpt_&gu7BDvm9EuOiIYq6=p1X{ncj7rFYuMO!}UiUBs)BTs*) z1o`Z5JrSoV`*u2pM+f-Tl<-D7;B|slWs{gddl4xwg@uU$RM2QL(h>#HgZf$A;YVLG zl0$wIQT7Opo4-^W&Ft;P9i#4#aYx_(jN}G|+H66>&7adGyzLmnne=3yCCIN}dz^55 z%q53NnLa4o_=l&E4%Pk62f{t%3gK|tBrIdDXQSypVUnQ#)ZYSK&Dbq7n*`JDF?m)27D?iLX(kMOA%T@ zfiG0Ffqf_p6^<=Uz=~9Qb}N=Wa;dfq39?xAiLF(tr0^|+?3lV+4bD}=FZvDP!*|ZV zleuo#==FO+)Lay)iB4#-+S-?Fy@|QJIIp+>9J{11)nNVZ*TGkL-3_oO9~YaG97`l8 z*{J|YePRu82%1q-h4#rUt33k4Y)Nlow(4E0rq3O23t7Bbe$|x$vS#+eW=Ftc^%IBu z#`5&R9&0=M)JgGTyx2DFr|X7BOXMQjAPG%>5=Me~z-OXC8J2#zo#gSvuEokmLq13>Ks;moLJ;z3yyYjIm? zg0+BGvYJ>*qa~#P6T$wBIE>PGX-G8vh!q|}3>8NeL~*NpU@c$^L@~tDK^DVraY>x& z?bc$O#cGkc2@KvrDU$WVlNFHR@nrPQ)cb{S2>N5OmC_7h^vhB+a6Q4DaVe_5(lU!# zw4+1&r_Wz*i%LbWS3HQz&{u#fCNW?^PSAZ(dZ*GecfnPx^t#xIhor9}Uia*q{^*2( zor4b~3k1>VM86!(%Z+PMc6V6DU}B5XdIGL@P}a@}*xZcN_4A&%c+8lK56{0owQc&0 z+cr&|vU&5AsnfR3n7%D_{rtmp-xKq$XXeNZGSNw8Bf?kHe2W-ikXB#O|-cKR7uZ5(TT(GVQ1;IKD*BA^?N;j z@0}ix!ATR1xOEQ{YHbdiSq;J%Z=uHSbC@*_zsJ8-uF;r^io9-jp=FLI67~A6TB9W( zn-kh*Q+vJO4pAtKQNPEeH5!aIo6)4#n%(}Fki*jDi6SSb_5z#QlcAS z@#%&1i23tyME{#Ci!?+UvreNCDv`Mgsb5hG8a^*#cNk6fiCMnPiX-Hp+aBztPl4Oh zyHn6D*0IHn$3DB=tiNbPC^UlpZ*J0?V|6jJJs@Q`rA}qn+Rc8tYS7vYi29IOYhBsd zuG*5FF<(~HWYziASy7zd5#-z)PSo2q#2&G$?fT0GFSTxP_hrrNTFu!t*=E!SBi0Cg z2=SRH$2YzncHm7u96A(;d=Z&(Qi-??nsK-hIGvf`4q1jA~oib#XKO7tb8)6w1$r@c;e$bb_`&F~Ni2jzvZn2Fw$ zz~B)d_)khjggJGS~kwcJ`S$EEhn$FG)b)C?Be?Rg4{?f);@1;dk*(~!#;TB_6ue~koujG{(Beh zUbt{KVXkcLp4__g$fK)QtXTahxoGr)j=G9-8WhCenK&*7rYIphp6F!0FZDa$cKI}A zbC$PH6CR9|P9~in$MVcdqgHQm<%JWmV76W(Ra?!jyjZd}yEEKSQq&abG|$;JC;bSc zi%r_Ko|C*fHU5MMZZ-d!_K;<@%9@Wx|6OFrky`ijgBLxNotf;yC;P z19KdM9L-wjp>Ck8BG5)h!T0r&0%+sf$hTN2Lv zkjxKXirD2~To#O4g3+K1RK6xdDPT%wEeGp9$`BglwrgN{jB|EL-iaRh)`YmW(^uJ7uLBa*m(&$7XGI-Ke zN;nA09{>_C7UNiom=;}hVi~*+tXPQjh2p-!$Alh2G7T7~LDWZk#B@Y`_||eS0j5c8 z+}MXS8)x<*jNC9-9f5cm&Im-bpfa@rDJ#}aeD&mfrlGy%ww*gk?W`wa$f&eubjT!agn2CWzTsF$9FQLv-MyCyzdwe%0(XgSv}M>Fy@F$&>plh^`XnrC<3lF=|wT zxwE#mprEjD7ST?yA%cmit*xpe>+d> ze4^cc(iT%F0-o}GzhxHDd0~0Nw%;391a(%WY$gC>p7cuGwE}l#_6uJTU3%q&Du-Sv z1BNQ6(xHc+GOV2wta51Ju2zM;w9pK?-$vo<7hb5Tx!}@jjIK(9#}tXZhOa3(4AZCt zeR8mWs=yNvM86y>IS;5hz*qP;0}qHi0D~PqBaSeil!iUQlCV3>8lbEi7?siLw38X7Ay0^wp7>Q~U9X90Kmz9u zGh;-Yf!@kam`UQaU~ zKC^g{E;aY>7jX`w7r}f$FY=D2T_qmcXkvb7<8v^QFe+0lBwIdIEMQiJi?iI}QvaG9 zFIlAGEc-(x;`Yw!xJj5VRhrI|!-jRvUkNW&`eTdRs$1-4wL%XTJcV-aZoPtMmT%{l z$~8)|v|`{C&B}j2h3Jt^>K>w12|Y-kXd!bQUbiuM2zE$ z5%+bOo?z+mdio*1I#~xKh1Nl9@bD{9rvijuq<*AxPY@W|#D%3Lf z|LDW95-oJ%uc7PzKjz*$Fsdr;AD?r})J$)wlbIwl6Vlsc5+KPWKp=z?2qjWO?+|(s zVdyBJ6hQ>RtcW5iifb1!x@%WfU2)a5#9eiDS6yFsbs@=IzMtn#5`yBo@BZFDewoaj z+wVE&p7WfiejXa4W`Z0o=tf#%Y#8W@tEJz+IKR>U~HRPH7}){FA_g z2@RTRpp84qzJ|6Tbl~m%2s1O8`iyqZ5(?E!d*MNCf_fBIp0pN>Y$)^p^{g6c-qdT) z2G|`q!rdp`_EOQ1xd-;oeZW1skI7UsOBvE8XfB>qbJ|9n@GEyp#)N$*zuR$;iHTMl zMb6o*mJJixJe)xE3Q6_4>)`+&0VYGZT=+r_+-_y*&qQ=9TDu^?KY|vD9{9zI3DK(5 zME=Du$arMS#9PPZ2`ya}-Oqi0SJ|R6){pAu>P}GuxC!H>S(E&)JRvc zK(%pLIt!%_Ggh;J!P3mN(C&zQ%b!{2zgdp>O3i+p(=nue_40cDaryCg10&jdx17tO z(^oG`_H-m)1cDqwb`64b;Smyx)_@t0hzGhdMCC4<9`|!TD8jm$rK?L{m%e7ES5xX| zjVv*(Fl`#N^Ymjk_TQ;du2gC}db*#$3;ZWOD(u{Xf?=5$H@|z8nKTK#24ycWnW{7M zAKQD&^LZK7DvgHE{3S1zo_>f1NH&P+M;%Csfl8EPu7x`aIkw>Sb*g?XAd3zsX^HUS z;UC1y6~<^aDLl9k{x&4~;8i-HtfOnX;mQ^KYx5>mteILiZ%SkHXs&4RwL5E-R@LO( zM6u}hNxwS1`A=KMZudb^r4d&kLjbo*jB_XUZm7xw()$Npp75WZModdD;0bDHwr`R1 z_{sVCpn^HUU7WwBZ2nzSn$~Q2(Y)xssf8Q^yiQfaGpCL)?csqTYl$*OC+Z@HVq^XB zOye(GF$~=Qgsvvqt>JX}F)?~g{W!WMD}jH~8i`yrp|6CFShk_1l1@(nOjnF*SpCVK zPZ>c(Klp(l_zKcZz|T@YCZ0yA0EZ^D{lW`$b84Z^U^;j-tpQBvB00=t(w>;jRGNw zHbmPcyBkeUMyN*Dp&<=!4Z*9_kr2sB-A2w*DIcMAtDSr>qu8;Cw5OT*sv9K9fcGOK zSm!4y(a2K=dfsK5;!ihJii?WuI$xqIGc`8d;YdoW%gL@wbJ?B#*wjo{qOWdT^k9m- zk==Ptc1~SdlEaZs=lt{%`6zA(m=DT}5dFZ2(yka(5~#H%rX*T@>g=_aAidv5RVz4Y)D3sGFSTS2r^}yJIAKH`4lg%ntx|R z@g|#cj@ugfX#OhfWp`jJqBtUbHkZ4DSHKDHin0O4ELt|2GH9gHaP!L}3}X%RMu9^v zuS(%Jt&VKN;Q3N&Y~gBXg}t%bWVW+k1Gq)5L#s5@ZkEsLIw^XNABqBodZ8Z+V-=0W zNfK@`WLS{B9Hl>p2R#J6Cms(mA4-IIVD5qlOg);Cpn%vztqY4NIw=`LQ{iB&^7#Wa z7a&uV)>V||WdnY{zt5auLkdb=`8s!>hE*dQPt81kI ziO)fk1BII*_SGJx{lTuOLY^sHz={3|Pb?n%Yie4$M&R<(ilKI}PV{R%0}AWba;7QM zlhO+kSbd)<)y`7?fZ^f#8IR88g^8yYJUP*(>zlFUnxzNtoZYl6N1f{El@=@+k}>b# z?4Dj;?9= zS6nw@ob*rWHR+$@M%;ibXjl5MM&Dm&83`?45etEsp3Zfah6&wn{SbZWiSl#g2s8QF z!b4X)kx8BIv0a|9d#)&qO#jKn1JeLSU&g}PO{iQL9$?_n`%N@9{Doli;kV#$3Nk1^ z#U4_1qX>;tNcxH3ovQtK_!)Q;noSJxssaap?qI9Elad>s5bi2j#ytCs3 za>OCS+>#mBw~`ecHs)WC{zzU^cx+5Je#R3lToHj6;g(tCOO%@6wkpq&GX4R1 zbtJ>0R7-sa=3topyX?tUg83mJE@(3F#$*?KY=Y=`;PXg{F}hsA=r60uXOmHR?c0m~v#F!u!V#*&AI! zFCAz1AzPG%yv`L)O!?wt1!(?ra)UJ3BIHo!{9Yy?_5{>Guyf`FChX$Fc_I zzkl<0r)IOI1!D?xv z|1Xy@#d)U%ppGeWtaJ{l2B)wBCoHNdN?uM*O~xylSFjm1X(4SGMWdi;NKxSuf(5t$ z(yq)xWA3qIH}GW;dPcJn8YKu5f;{oiO;wizg-JCFwS~i3j<8^y&6ATjN8`%xe@W3ZTPIsDF&xo?<=iJvK1bU>vQqQpAR2|98e;? zywn>Lli7c4!^k9)D%NBa68o3AL)UnD;d+hQ!;L5&d5@<^J+vey>4Buo;w7UeC9Ww; z>UC`7uuab)c08w7zw+VUfg^7(8}2hqI@xh>QPckSg{{)#cJ`ZoB^^z5>Wnx}rQ)|t zm9Bv?Y4QiD9p9(jwKLujJIq}-HB>Ae=~c1k&Xe~rE;Db4B|o4OT`5J0Rv@-mt!atz zj@X>-1Cp1zVgT55j#C)|HMfmO@q}V#n`2Twx+XYdZTw(Y`5GfTH>Yk!#zc-pZW=AdnU&ctSGLmPRA#Yl%*st2 zE5@3|99PQ)1!p??$QLg?_qS8cq3YGk^9J=x+wtQaLmvIzOJ(X93s+Gg81?GDFTVN4 zi)CtqLG-vQfkdF``vU)J8+thXfiD0dYXo1A1iUiY;}P;M1b7IG9)w;9FLlWY2N_j$6R}D_C#tuFLyR zQg?8Y>?h+f4n;=rDT>*O1&SreUa?-W86MDk6bIlb(X6-=xcVo7u>QE>DaBdEvx-;o zHejCOiI7E?piCY_R(m?>8YV(eH+fkc1o9v@DE}J~P!EEwJy^lDDl0jm&=M6(WjI1} zhsug1OnxZaJWem}2`>S^DmBPMa~QOGSg}|L3CHQ+J#ajM_k+p-7#qsBCaS65;S<0J2iW7)(J59wVcB6%k{?6%EJ!OsS@Utz_$(y8; zY_=t%V?5*DFrIlzZ{ki!YtM2>w{6Pe9$-Sq>~eHS?^dvtrb=lv8>;ST64@AOhk#MC zHzd7!sHq55P!v@j9C-9X0WZ0+LTk2bC|f@z1F_*7DLz zruI=vvH$QnNO|>oNZOsqiluu5BhEgp6xpgOR(aQlPoGxv0hs4a`qNCWlU_c;dVlqi zTDma!WiF=mlT6^9KFbP?yQEJ)%wpTyIW&YF?FBzULCQyRsUJR;KJU0*`iv#~`OnpC z4l-gG(E_)Pgd|FRRmT4(%sYi_RPEM6;$3%-Z%5%{n>c_iJhrLhpPL>N-gq#SBPHg9 zDzo{9P0z5IZB?7kp52`GFuR8^%q3e+zbL)g1bTBFEEJU4yBB)6py1I-C^!=N&1nNd zCbKBK(G8K1;))gUZ+7rVPAR3Vw7t$6-x$fJPaG&+8+m@w#PTMtSUR>8IWwlE8>A1U z(8^i-@18xi?eGFN_%(Z7r8sxBlq5ZS&Db~Cl-F;l9Je^~taR<5acm>kyS*=)&e>K> zn6*kON8)>1LFFjt>#TO+!OahJ(gx)D`j_ncOO%}4G{JPx7gXF@3{UmqLN~)yN9>Bc zpC>`rSsX-oGVPMHLph6`su_njt$XR&Kiz!upPqdwyjDEi%D68N9r}`S(*JBYcVz9o z&$k{p(E9wnYv-(faNH~R-S=Ja_ctH>=)vYCYu{Y{=JESp5mvRUOUK`Q^Y~KX!uq*$ z+wUr^XJ)0&pP$0-5Nl^v=I{ zJj$bjzVt*|k!cGIjUTvd6KyVeA${ty&7gHGB<#Q1y14zTyV}$4`fA-A?XMQk9G1;8 zp5EWF&#>*jJebfrN6kWh2{r0A9OgK6uv*5?N2oX#x;mx`pR@Uo*GrC8yA6OX273VP`NcBT5$Qr0j?G(M{{P7piqRt*) zN=el73s(VL`SV{oUT6>g%o)xA9Yvu3PritOk*PmT7!2X&#aO|Vk=pG~2a{1WGXR_p zgE>l4UMm$H7b0r$wzikJ{oJv(mqs9+QS`6EILDZbuS@=&Z5%$wIA;~Ut2=)?DwiM7V8y|a2de7gte_wyolz2Y5-{hoV zNoufec(7NxJ*CD7ZahunGQ>M#l7ayb)Ka^pQ*2}^2^dYOPAi<uj~;F1rK7F4-`>hvE3z-Vn_W?n%^t`Kao>fq*aO)WY&#u0N+&ig zJ}Q*7oyn@G$P)Y0@>jpY5>F&PG#&KoJ^YRX^+K*%Ss=<$$y_-}L{UXErgc(E5-&jp znr?_BbPwuI#L%IiL?tQGQxhLhEFNIO&2PPbbo8M$OJ>hnvg%;{q2Ii5`}B85i|$0V z!QOX<^!@rRpKN0Z=T@CRx@XJQI$o|_piwYoJ1MS+k z4@{;Nph^J0Rz&vw*R{6pWnO9y>5qG@xbr22mF}0)L#gr~)}4H_qp>6$<~$925GmFS z&0^K?9>3KCfKji9ml=9*)MPGa_6R~d<|%laTO_^BzGM?4)z`l!wMngf1bd$Dc#b>y zn)D5~h>eq4r8agA3&T>^5wi5Qbc9S$4}>iqA?)E5ky+fW9UZ(72IOS8<1gH;@(K&j zloXa+bBDra6BOoL3kUoHL_@>&^ECv-8f4FE#sp1A{n>?AMziib z$qd)|3UYAtV1Drc0u&k(6_1!N+06DIJd)YHfVjlPDl1-ccwBwGrPxwmkM*Bj&`JO9 zczs)T=dI|h&|7Ak>vWhY=o3EevYFqaC&{Tq z)3qak!8J0(ysUS8nYK5}M38q_I^SDc7B9UZ{n3JhIN{&iL_m^m`s*5hGQUi*X#Er` z6bg?OrWdP`5fltDi&4H2EUat@&_IR9LpUa5W4Rg%4tUpe(;Ger9WZ1j`qB}QTf#b^ z3yJPJRD~)R&xINrsUgCROu=#5G1XI4iK;2pV}O@}KOO%07*Vf-`?EeR$EwxqVsv_~ zH78B)v;dStjN$1NIP~7JcXh{s)q6EbIU@q&-f?ixy=5Md=FW1>?>pa>4E#k(Gs<^oc+1PZ8N16fN=wp54FANlzWFAaH=&b{ zfQAnN$J&Hh3yED}MWOIH7)ogV@}!cEsZ;SyN(m5WYD~`QDI`rOS`C|IRmP8uznuy3 z6YU4j3nT_Wj2)#Thq^tT0U!@=r>Blx9f|3`@u^wA`q~sTeE7h|h2DfqiUHkf@F7ED zuYDvW)BRyvr)4E^ilw7Jav_Gs7aQ@|s+U+3X3)W3FWt2JrdKY!z4Sq+^g^o5V&0dV z1qHkqhFbheojd#ItY@|lQRzNyUi9L?d3B#|Oz?MU#uKs^g5D++Bss#_E~hJT&JrXc zz?^emMMC_0k@h`{lHJLW=t%Jn&Ha_?_9*|MfFDXLc--MM6MEpA;3i*GXw={t1haxc zP`O~@;Da)-23idkDiZUq^f)0+6fq@S=PW6PuYLV{sqOpMudQ0PYG8bpASTE6ZY)hl zG*aHwjnBOO%*LsCJTs=3HujEB7KN<%fvc8PNnxb6k3uS-^=bnQO7TWH*Hy)gvgG8l z85Q}%i&JB8E8I|<5bHDvy5v-s&E`r=ju8y8&IB#)g!{#$77yo#OK1lAl0AaH(6h4> z(VSQ$yN2aB^90#@%0m!-u!JJq(ht2_FagGX;(L(h1it7V^eiZib?`=sRIu_INiKC4V|*i)2yOAx9uOS);1I@Ox3+wfauYF3K4 zOuA;4)LOn_QC(VE-J%WUtrDkDYIq@X0)YDCI7@<^#YJY=;(>PkSyL*zZ_nWm%{ET# zC5_}x+2RxIQr_V`A6&?+38kflYBDbn563}g9u_;~*cxbq6e@C1CRBO&B}a9MFmZHg z>&!U}3RApc!IDO{B7B9g^xk`|r1yg^5$eF`>Vbc3h|%r%WXnmGaS946*%m{#AHL;7 z=?R!_dYl?{EfP$pnC0-+&-WUwd!@fx$VwEwO6D^=?VyBEslcEkgpa6}lN3z`4yHZX z0PJK?bdvJ0Fj_W+No&{9n%>9*>{puinPiN$s+-au%71qGl-(Z(C}l zy-X=>xb4;D(X;8Ib!?q{o3`-fx)3Rmbs0h!^KMx*b`G$h3KiVGf3^t&K3Le`N(YJq z`T??m-Xc>Hm9neQeEFW!XjHi*jq+ootM5tgo!)c20)egr?CPwRuUfLyNo8iMvLbTl z7wD>#prGjauD7x7YW3UykBu=V=6-d>2Mvl# zTMd@Tw#(HL(Xa4!u(TMqUOM{n)hmcjWIp^F%XAv5s*(Aoy|L%plHZjaTRM->L;jn( z(Yu2hvm0`_bA)sevFNaIg4T5+6&Jg&Yy|O_8v!qQUC|6pyf#nEG;`oi7ov(2?tsOx zW$u{H1LI1Mvb{(D%T}Up@bb~XA}v#AsS~tIo6y!hUe3Hpod>3stXub!RwUgIXogZk z%z6oQ`n9kwl4ZuhA>I2=`@QF9hzRu%%$g3QTQ>nzmM@SQ5=@t%DGc~QxEVaeP4Jqc zE{Alb9FSjsl+J($zLMM^QvCIE_uhN%b>{Eb2iB!!>8wMCW-XNs%-qH6SFXIC z3q3(Y{R#O1|M$bvH>XTjkfI*9XHkN54q(mprAzIAYmU6KiOt`%2|=Delpg<6>)oYM zq5=0I!8m-lQR)EeDAT#pyIcQs9D(S9f?ZOoh&EIM?{pHpqp#BEz&v%nL&nrW6Gbh|z9nE=Zz&d4Rf@@`|1|q{5LbefQW~ z(y@Na-`H2D*4*%?Z7cqGjog2Fym_fl%A@S)Jyb3{)5Cj6+>5ufz_Gs;=VK3ci$ultSBF&OH3*5JvSrRY&ov&|RRcDKAZ z(cw&Ty~QfLtM*D4J5(^?V^3o8Thg=GgEmxl+BF8F4JW{^@$+qnKJ#x0Zx>;LPPL%3 zDdoN=vwA^5&Z75q_c;@~T)1b`pb6d5zaIJc$>lpxad^4*pst56UgwNs`X^hT+WSqu4jr1Y{0Y7^+WF+oE2$aU?qR7TA!Y3_<4M?r;FMCY> z>^ypYr$&JXSqv) zJkOTO`5Ya&wv_O*k&sroHp^$Wtud4XmQ7u&@r=;Yy;MG736DQB|-Wj=&+b6p7iRe>0zW&L)D!&`j4@G&%F8+)rOvC}XxURy=?4n#mJfM>!i*&PxL}F-W zkK9IO;HJ||)yaiLUj5NCL14o|7!omTpTvmD-|p^AUS5hQg_f_|cA5JFKL-naH`m7n zI=RB=4=O-BzC3o)xxBqV0Xqb!Tu66N_d)rAQ6f+M;=QQ_1*y{N7hRv__Fq%6 zbo;TFUW#~VpBOGkZ9AD-z}0_ob4dyNou+y3yBady!b zsk!m-lN*MHO8omWr)7?;DG;?sk|%t|#pff(gj0?OGPsDT8jDC;_neTvuR;&>6WRxhYVu;z}Q4(tjcOss|yB*Dg8?( z$7qdB>%TlPefo(nCH$-!{@qcKb>@6!)v8ydFK_+LNon%-`Kw;x3K}$`)|2TElxOd4 znm1NGzMq5F+ilxb_8P59T@woAsifhZH^I;PSC4-=bhbE?ZX%tNzIxlhm1xPGGD9ey)#?$3zhFH_?bxWu38Tp`)Pc?nRWaOu>(v7H@ zlDf9o9vj%k|G|rRTJ#G<8O$^XX>W<(?povI(@G+4a&HDuP4}|f?kLjO$)v~`g&X*S zz!hZRIEaPq;YHFl4|uw~M=0fi$Bt7-bx&?hoe~UINb3*u)8{@Rbbc6V9X8E&&~9{n*uB*L8l|I+P0y*hf| zNK4U>ZwhW$9hk9v`s9A;<}&=58;4Mm8R~;!)xYHW6)Fhbu&aL56A>mLqh-iT)S*Hi zVh9wVw0xuvlQ9-lBDsDgKH@D7cZu={LF`@K&_guDLmGUhP(n_=q-cY(TUG*b23?^S5*O33rKQWp`|kc5{)N;`2O~X&znq+_Ev|3VnupxP#M8lT)F{tXa(Ls#n=<(4Vni86uEij zxr*|XIyD@2Vjt;y08EWu4f$gMAVxChP$i+o2Wl3vT ze{-rKhD#EJ@$K`FxbsVGu2WcMOEg|m@UuFOGA&o#{-?NP{RjMKe8)2bxiy?IQ7L@~ zEfdOxcE*?_JT62j^u$+(_uY>$)saQ&N+fmRWYqgDRx#?5Qhg_K4@cvaa~1tzS?^#< zW`Xyt7j(Wa8^}hmNx-38$$rhAWADKLBXMvj6bUJf)Gkm>Ad7i46SLo^49e>yI{B2* zb1>K990uf+PH-K6bk+q9Dnu<+IR{;@1H7{%dPl))ptQ$`M*zGUTr;9ez`u}u>kM>G zdt?g*8%I+e)b4ngzX&&rURUgJB1?hOLAO9)H9pXprr|v~f`#QgMR(BzNda6c;P(@r z03L%p=H<{f(h)kKOoh=j`b@ino(y9E)c&-jn&BEcOpjEmQv41l;wO9}o`;I#a@++C zlTUGFbVU%HM*z_j)J`r69t!#tAQWWU3>5J`RR9)gdB0CAhvqY&gwCAycq!YK3^4~= zgvuc}i__2?MdiRTvCB_ZqTYCjI#r4M&?vJKP&BlM1bzo!Ovr*hl!mHR9HfHCSApxH z_%)>}6=iY?K;_1Ud`+soz)RIq6(jc}KB$j;D-mGp)GFlBi{i77)ILjGfMX*QP^lu7 z&l(5Uruqbjqf|dOC42C;y!70*CHgVZ)g10+)+;q3rPx=LC^ij82I1Ce|5%%_=(-gn zxbM_f6&oKe&TDW)Mnrz=9GeeJT~4&Bm2rjyl}4ACISiqiVXrP|R(u;|{6mGadqmF3^XjRN+iBC;*8a(j{I;}cU z@07mRjC2VJi8lAJ)Hr=VmtN#c3XOwZh76tEVRBtO>l&%?SQ8V{lltr9QoY8)prCou z(8rpVof99&zo$0yyxyFi#bTw_FYdbQi@S>F%w;NV(uQP>AWGk<0n_p}Cn%M=l&#W1 zQ?F8^1u*a8faiGcX6C%>K4w4c0nm)O${1f#2u;08%PBRg8040<3Uf<^7?%ksjlYiN zigUAK)MicZBsK!MG5oz&H;Abliwno-ox*RPpL%?X(#a)jVzRVWpmSMAb2e^;|)N>Gz+l?B(pIZGYpz!&J^?7uV3IA#fDWGz5!-lJEpLB;|`NorHQjTszjmC z-ebKXp;DtqKHLSOI69@rx=>|QXD6fq?ta z-5z8G>m>ry0eLfV$5^$`?5;@f6{yy5`LRZHqQn?YqRFDyXcJv_HU9u$kEVOCO|l9r zGPd;AyA6iW43kmImagUdZ_S_Xj!Uu#)}(89BpZ5f$xs?i(<{xDYZnP<%WLNGe%~&u zMWwcF>dSGPjxSq&{P^-^k`Em*VFd=2jvv(TNui+u&2AetQZ#Ze^;sFGR$5FqCvh8{ z`du#s^Pjs_ZwGu6VGOC*xC{(QwLV`|1K0^SVH%s+ssr4bxwJx~&e7|W($FlC%?8uJ z6}p(fyy8F|$MyZ7qGWMd(e^1woB-f1t5c`f)%Qzz-EQBPpX%Uwdt%=(%Pp?*dDze) z=s&SGi-0^1XD9X9Sv)Tgqgz>RGUTK9NQ_N9Lq83GlELp9$zvM%ysz-gU@o*P>@ot8 zBvrYXgP*h~k1U+C^6S?vCHzG9{bO7&w3J&?jaj zO`h0T?TZV?l6?;3_||BI3Sl44qHHcOwkQ$U=jhB-M2LSD|0j}cLI< z(l?ECuyNw1O%tPQd(WNgxDj3x#L3bUEsH+V89N2YUfIe7UX1~7qNg`14158Zng(zOWHZZB`0%GAORjEQ%lLEDZf_T|T3sl8!I;#U` zLC?`F!N%B3r}6U1%@mY$MVS)1%M?`#QxHb|q%`cV#bNea923nMVrzz3v?}Ns3Lcz1d|VaGZ6{zYv(1C0 z+pqM%ZPX1Mi9n&bNM3gq;|L#;TA-r{g+kJ|O$amzg;)r_FfI5sH8n9)NDQ}1jp0aZ zYk2S8a4Y8yvu1fU+MIZv9M{m5?SZ7OAgFjHo=>Bx?N1NlS0B$s*YYK&MZ+^&$qq(y;2J`Akhi`c2ew>|nRVJ|Sf!+aP6 z1uA_3C6dCF3pjd}fa9HiZMXut9k>Xpb%|a}7jksHyp5k|E3{*c{y2Oi_|PAG zh`OFh4RBc&G$TqC@@WrJis+;irPD*bRt2ROlCzhji^!QyY1+f=I%C1(1tSq(+8Eti zlHSo+GH4`rLZ(DJcgdJa%=4rhKoU48cD#7g_!Jcr?WTl_Jqf3{>OxY?6EV_v%-xQT zUBX^UPkbEd+B+0ok7kMsTAXo&M~7hU^b)=q#~N`GGPzUHO7LiUnVon@I@HOJ-Z=_6 zDirXC>;@!6f{D&`N1+2C+EK9_`LL3i+Z(_!_!&XEfd~XsfPsT%7pdMLl?I|2w}EMg zTKqJ4TXlP~Q?0%AR;}8pcRBf(9XpU=*4aMi(;@xluMTYQmB9vauS}aUf6bctGp6Ou zPE1_?*wn17sgJFn!PktbDh-XS0y`;{vcC6PhqjmsMA(v`xE#REiM-7hCt#Y66{;ft@pA0iz} zSjM^~tb=&Orj}C=FhH${=v%+Jm=XiYNEry&a0^Th zBfXyf>(lt}6&c)%y(v8>eTO@|xAJyoIC4Z9vg7-^8t;(adGcQAk0)o`^A)eWqB?S) zQ*`rc;4Q@;&B8y9Oe4?x%k#91=@+#jfR9jyt@?H-ORah#q_>7ARkh39fB@D3W3KC1 zv&<;a&PF<|bGI<`^2w7}d9$oZp~+O} zUY+{il&BYt2mU@3DjYROmt#gF2W44BEOhDDq81nEf`JhYWw1aXHH381y+hdo+Nrn* zGQlg@BZi7}u929YwicQ7X-uy$NOoFff3r_rJJrtqMjMfes@&YFTw(Xb8~1JAcjLtB zCDUgMmLV2l_Vgvy?TV}I6+)DKArj)lxMkb-GKVQIL>(R~uayoQSSqiWaPQozjwvmWi`5;Z$A2@%HvTz`RJQFbywZnQ^%PNos)tAUBF@Ka(SRW84X)B!CJ#z22<*6 zFILV6JQ&l^M}Q6(c)JH(8`__uVljNax%qswO+r-n#_nxVZllNzLw7H&?od=O-96Om zbXsXk=-Lv)$T_oU?p$e+)PA|jkP`P`MC@VW<$aO9N$Vf_Zu92v9$KHI@}zrIS8hh> zCproGM>Y@@;Nkzjs$nMc*boqi&}q(}iu(OxwOTtA8vYwi|HV6pd_H97;{N}6O{&Vv z+WKw$`|0(`$?H%5eIwCdqWzc4PO((~o43=5~p6-pOh*OVS)S?o$2~{+?jdTqg(ywmH0_V zD%`WDkb2Y=@4*P`b`9v^k4Q=o4#_!czsI0fAd?iXC@_o9#e0#hy+pL-V29`mXdqPPkfAXtkqjNQ(vnVrWf-TBTXy%VpThV+J86Ln zRRp#Xoy1s_v=%@m47R+Ohj8Q$<>ge#i&R$ZM_w6-#oGB=d2fN=puxe)0#QAxvb3tt z?34ue^qu+z%BH$Vc+`C9wIREv=|ts@$wfJXgfPG%Cg$}+WMsYTKKgCVO_kpDSCH5n z*DH-ZoYw0H+U>qBy;99p<%HK14i#CrAf-58b<^}83QMISvAK0k%SW;FnwhQBcCpDD z?E`46QTr&Aji3|xKw?*rVpx`w@f!#AEj1H04z&!L1u};mB|_q9*O}dIf%q}x+2Err znV;|_NIW5zU}}w{6RO-*6RHmRLV;Rx#SL)}rWC7&h}cK_-4AbHnrwAW+coDF^$^2# zBO-Nu7op@XQJ@X$hVgiuNT$^GE*c)VO9#;?@nOf$#J9K zcAdcO&UtQNnXqe`S-EqLWJu4H<`178%;gmQ$ILyD!XBEoODLoI%RG#1>xFj%ydpNI*<~C9GFl(tM$4k0N>uX1e^R$82$DfY?lLM-#^|M8<&5`68_?lI zW}+zONRW(_aFD}MYD}OJQ}BB<$_SQq*+!ufh5XaUDxBptqSQY3z=64ovj&epFgGWg zTZWn7!2B`N{S$6Fe9V^`4k@*!YL~GJViIz;0siMG!tc|X;FCr^q9f8_xFK39z z5-I2WGH22Jku|J7vluFZ*S4ooyO$OX$ni<9gm>i!MAz~GJ}qp4=EO~Pa}SvReqe57 zdczL;XeamLz`=%~C#On#NLyEMNr9EkdUd?r>nI3mnhinTd_i3sNUt)y6hfHK+!rb` zXLcy8qjdwaxZ47?>pc0=yE*06Id8mCouwWT$QWb>#q8{RvOJh3vil}EG_c8|{0VqtyR!Zfb$ zil#aV30s_eQu;?G-UNINjDl>lDw0u-0?ouQGHIr^Rfa<9+R@KVF55$ zL9={*3VN0oWRD^8lK`fee&v8#z7vuJ@%hSBp1jjjG5tlyuC>Q18Vqs$7|RH0l1ZNm zcn$F|c17tRF2fKn^08NkuC~t5i_27NCz>~nt>0*?pJm%vf6W%dgjK3*wLwQ-N`Bm& z1EmF$*nf1suS|32`aPO5UtWmc96wD{?#r#>m#GBxbaj!3do&}3wU^WuVW_?y8pI2s zTz{EnS^NRM;*w%=E!$ICnC)O6Cb%YU*N&b)YlL(syKls-rDL@>OpHyH6sk;-CEeXEy{d`^M~UA#LiWpps$zpKvy!{UCw86PWiw7no zP1=|^!8E%nQV=DC`{xYobKtLT=B9rU^MRz0!mkt$p_Ww?B37WOaq4@$`j(`Z(L4|u z7aU$2XykeahldZ(`+yr@AFJ9n>AhtOq}`zrQ8GB^mQ*fv?g2RGft&C8cD51mja~(1 zv7Mp-OGapv@?00KVgP|-Q5U9UB8o&0sS$u?X_TP|8;v#u+1bLLF4)iOV(`qOG z_+Z!c5$&Z+J^^45xIOwhq5%T9hKM7@C1MbZ>b|+VoTKeK8Y0u@9{9WYz}&h`iDnS0 z1p9#HPkMre!2^Q@b)ZdE4>-K`c(s1Bwkij^n>C^KO7(@AnH4X9D%FNwGE}8QZ=0Ak zKsVaD%RDF}FhZSG{l*(P)#W+TyZN4VwE=#$v*Ot4NfV^|$IL$frkh)qoiq2q_`z9= zi4aTeVofm3b?k6OJ{xI^&#BsGGG$s4rH^Pm&BYomHehAXa>Pbf3|N%&CFdmlC=^Bp zZ+30l--!od%UJJtpe*)(UenI&eMUaJ{~-y3b3542idFMO!6?b2KL*5!Ij$J_G7Sr+|rgT<=t zsL<=Q<``~>G#0^__eLIyF>AF3{@EC_HF6;~L6xdO(3hF2gbH=ySZWa2+&dbFKp^3e zwTe+xxh{U56e!Uk5YTuaB}C^z2aFt77)hW|=r)j$!9=k1^^Cgqj;cXLuOmT+^`K4t z++l9Xd(sZG!DMC& zq&w(71cMWseA~_!yk3%~qR#;naQ4Kj;5Z<%w`pUifwy#_ugmdESS=N;VdElD$UO9S3EG< z^u$wyF14y!M7QiyqR!sd&7JEVJjVu68>}5{r%k;7QkgHVkQADXZ z8=k=_bYU2mRIwLu>Hpw%&){~rumKQyKkbyHtNsA`x-_(n6?TPamdyb`avHBdMaWsO zt54Qu4p-qWPhP7B zf;c!c(gu=82Sjrs^=VKnkxz(6PJYhqfFn&1ZtFo|V{lk7IIP3JxOp-Dg$;}AhA&y% z+%e$T(q+f){QQ`(@z}DZ$FR}yvGhOBT=(|cwQpbd41cdAAGJjgY=W z7F48EVCw|7KC4`_@Q`%j@Rl#?a!2Y$yX(H(a#*@>XrZP&i!IpCZu?U!yMarHK0e6N z(~Bq3GZ!yrav56W2OndfA3OH>F)5v`W5%`T+s>~Qbc+^_KlJwUrEeab1kY#e#%sW1 z1)*?#;Vn+n&4y`=>8%LZ6ul2fRa=XEk^i@E2CN;a!ad zLb7BsK+ZYv2%?eA~Kv}WS~~$IVP{89HcxWKO`4m{y;*=fr#%bZI^yvS|Imm zr2~&|+VuD)mZcZ;>Dm6JFV!%e%N3J6Cb{2B()Y<@u$s(tgI-N9 zYAPLnm)GYB<)v}Ukzx7_?)1Z%r`X|56DMriG+|=o?u6{LUY@ub`ylx)dY7v|{EuBO zy=x5J&t4Pf>6Mn9U~?HP@q!^W-hrIw@fL$io(saV-c6`NQhcNa(eFK6<(5t8fviTe2ViJK=*+{_BKX?>ElzO@@yBqSvF zNz*#g`_dQso>?*!OO31{6cAu<(q3FiE&KoQp620ZwB10gn54_f5&eGl37agIM_uR9RZ^068 zmiYOw@^LW?KR)u|lLbf_jS&FekOCpqT;|9%GQOuQbSsl8$8G;idiH?_rDs3iJ|VBZkLUMlL=mwS2y9+vhCwAg2mVXn)s30E_tpJkl$y z*fSu%FhyERIvs|x90U!RMSV_0WD!gih+;(WMJf=%Jaz-H^c2Xf2DK-8TR^l&9k}3@ za?<-kgq;!0Yef+X4#trn3C^E&f>#~#I zcUa#^@*U$?-+p$_eD}hN*#47Q==?rw`4Z20{bwrngkfNxc=j4&JIW*9d1i5sSO+*FW&%vPA*H>)gG#i^0hLJ*21Q<1YGUj9u$uxPlPzLa=~j;p(&6w0j|L+ zS^q(P!zq4BFh?|wXqPN68A-trBv@WZOt~0*LGpUX%neqUQlCHr0C5Y_z0Fa9fobB% z!=ooNa|I*AKjMjt_oWnoH<+YZzIDfBUOJ{)wRz_x?uOZXVw|AwGx)7Q(WgKmaY(sufE+i9hOTeI~Wzvk|}?8NQ&OYpx(+-~s6w>BC6< z76Z3v6RTLE#1*I8Xj~zV5_+VUWov?40ZdQ`)3ig zD>3e{*bD1=6;7)0mX&HCJ~?{D_r2%3!Ka(|&r8Tu_sbqTJ;Au=dIpjraHH>dSNigj zf@NRW#740JEOVmt7Xxn|v4qS1U0*eLL?(_%RXOvtPxs3lS_1FKLO&<;PUBP-y_%mq zLRXfVTr)E;{?$`HU;V(7Y}}%u(md(;^_LVM+&8V0#-aY0&r)I0R}c{s$Y&EKQGjz| zFc4@EU|0#>8?duTKq@c*n$yrK2BItHr(uKi#^;YecUbyrX6-eCa82z@W;^`c@zv7n z_aqq}kbe8=R^qWALW^|ox{6UHZ0e_fW>ZV+E3cF8L%B&lG2y*^3onlV>?GAh z6;vKl>Hz=(uK@)_A<5SwXz?m}ivrRK(C1|69|uod5tMf1oQo@D2Uq6FA=L|rV*7?a z-aPI80(N)FXVSS7Pu=tBU0-LLC%njPkN=|rsYT;lM#ZIvLbFHb)y}A%J8J&k)vpdH zy!gVDF-vb*^H|PQc7c0WeD|i^f8fTJra!*Haxu&~K& zd3Uj4$PD=Lq^=Jk;J18h({2%8Y6Ds~_sB6=z^7_BUrp?G6 zT%8{iUzO1R?6G4n4fFL1>0@-x+sQbsIx~uaN~w| zd9+gKA|&h41|$UX>Y>0*d5PJCqE~_#2Nb#j&t^)>Yal@%pFk=(qQm9f+!=92Mh841 zSWLm`=&O{olfYx_X7odvtfHF`HL0~aU!x5w1^AiMGf)EHb%IKE6_qZg`_Vx>e6@1% z-b2TZAG~?d;_{3bp{P(~mc)XYQ^T8g-?Sw>MX5E$*wZ9?RfRp#Y}9JXt3<8Q#97o; zRVJ53uT)i5T3iY2#hmOBb?B0DEpqtnIf zHLAHY!Z&Z(kYEAn({H@z&V$$Ml#9zlp^B!ay|cz7s?~{%A2(p_%&EmCB|(%};H_S6 zq+DWcS(Rwwj0TmqvdWZX5vwZAu7trW7S0(_H(^5E$k`rMg4vWftv{>hwl~f?w|Czg zCS5_Hn&*`_&6-g?ux?O;G_7CF)(0oQuxsbeKnjQS=W5Yucy7%YzsSdmLWT!Ev3+G(b#j%Fj>TBSu>f^ zpw__F0smj++=867(&hxO&!GQv`Y@|iXYj4uzI)T`@{)$@R_&ZtU{4vVwD&FQYmwg1 z8n^EB%;|Sbsf>#>R#(-GavA!}UQpRrsZ6q(f+PCnmycgQv6sdOggjw+{)1!E-!je1 zukU5hTC;C;s5Cr)iK5A3InI=)RK>7+lB)_bbh=jWP@7HX=rcB5nOA?)_)$A2*7Qo$ zaO*4G0nXta8BFNAV*bedf|`lLQzA#lGi!P#y-z zl9w(wls=@q58ZI?bE1^#wBlgX7XKVt@AV>*=n26tghev}h|K z49Acbsu>qTZYYI_ssb#nyBT=J<#h&UrmM7CxM&D##>LSSBX0?cmY>wwAlHA`)f=OXtB?`4oRisQZ4=|BwuRxG^w2{Z{!MGYh`{_h${bV>?josn9j zE%O13HdTA$f7dKrUr7PbWp}i_aX0z4k>3ABV~{Kz<$04j=?Dpb;8r?+FhzHU z-72GEc6M{Q9QHYionTo|*EUFRa|#+Hd(T-CE%&e%V`MQsn!8EJj~<3v{KOC(JGYlk zTS+PlJll(L@ke=%@=}~dR0Y*tAx}4P1V41{3Y zb3@UnR7HAX#~FtDqpEy}jiG8i15RE?NGR0)(x9MQ3GA`4H;@>?i%F*Q6un*M8VW`$=60JJjrr3({3V6f+6E?_ zXIK%zv(tMgdB_cUh$2^v;LFJ&wo?b(l~JYZ7aDC@IueOP0qa<er^N)+%bc*@!y_d=@)A1hV&Y`*M#|WlEr?!!7C(z4)c>-EE zpq9Zhrvcs%0%=!;NKYN`75gBWmy6Ja!2^<^UM_akntdtFmX5r6)5ft0u{j5?%`6>I z_8Ob^=9_E;Rk*tL1*t8+QZ&X2yojLM7*3UE?-lFP9eL!k$%uQTM~$PkXW<=RUElQT z;DW~SBP!~LDB9cdLiEuuqtzg9Xc{ra;Tr)D(_ z8f{rHH1A@gRZ519o0R9v4Ahw=+5h5r*Q^hr$K^pAYa45O%)_JW!dBpq#2?hMh1s_ zNS)-d1Kf}l;-q2RVAu!lE@1XRlIuK=%E9l9sZEZXH!m)^HfD0b9gq&V#`}VRPuER2}!z+-;9AM#K$N(^$dr~Cf#Vz za2h}+P~E4?x|v+~@r{7BhipAjgAC%wWFrj7Ir%bpVMBI`Q1V6Rmv&2a(w_6W!t!PHqx-(kdM)E)4Q#Px zP-b~U!`iXZL$g`dAA66kU)FZV*tHD}#*n6!@*Q>d?xtGqR)#);Cnba`p7RTDL z4Q1sG+(W%5$K@2jXmcy{0MJ0?lQJ~u#~R3rEIzM7x^I# zQlrkL(`qx)(=)VMZL%)2K%*(RKo1+c7JY+ElPhpPBBke;u550~+o(>)t6n8i#jmf8nW1XBHhB>5lJLC~XT4=89`r<8QxX zqo(%VG->F%p(XKvpA?60yrrwZ%D(kcH2MUE0zD1Ak!E1(kZ^knV785N)rA@bqOc%O zP!I=&sVE@{{0sZsTw|meq5(^x*bM>FMr&&o+{dHyl3e#>)E@J@7ph2zpCI6rl)!;} zbZJoGMHSW{k6`f>o*oHDoqQ^Sg`fw6_kl9+{lVYw+IM01=shnk-1Oy;KP;4Pf8|%w z`){vX_crtW>O5O4g}6tS!BGCqqg|HrN0IE}_;t7Y8@Ic&W3<^nELwHL?hAVtzPM-f z>iO5*)3WYu>3vWS+~OUsT566+u-JE**QM{jl$JF!1d)`aqi?&xr?lc75>`tm9zoE< z{APq=n1Sfb#C?%N6Zo-hk325iZrd06icOGWI__c90jj(4mX42>@#7+Kjgvd>V#B%h z9UpOM3VF^}hM^NAd+v4UC~`(}NOzE4kg^8SU36W<8;LqX;upt~5M_!Mid`J8y?hPsg=j2!n+uy7P56f~wevR;29`yHc6Wcp z7?p{+Jy{-iw$DD)WbUgnRVP?#tmy^Jq>2%{&!hX8T1}V#BPJFihc&5%`_^P?;+n9K zze*Ja{BAR*{=e$p13ZrE>KosCXJ&hocD1XnRa^D8+FcdfvYO>?%e`AxSrw~V#f@Tt zu?;rW*bdEw&|3&4)Iba*Ku9Pdv_L|PA%!HAkP5cO-|x(fY}t^!$@f0r^MC%fcIM8V z+veVL&pr3tQ@lQ(H{B5hU3cf}4x7V@V;L~v)I?6_*wq6t@dtRqF(&Zxdh`_-87jFo zg{9(bQc^a6km*oxBtb82j0+|3Gt$9d#X?J%2b?W%t;(wOlfeAIqtZ25;A4nbqKVe@ z8qq%asL^OLI8WZ5S?G*P@uv8q)`9n^>;UDX_ULuK%KXB_tZ0`vF~1;IzRt6IISK77 z-|gv)Eyz#wx}viZ3-c>|-7zgy^wCu`W4o?X0{{rKZ1(}3OoJ%xgbRfJ&Tt)B>$;bt~Ya)oH02^A> z?zHL{FI=YWUC4L_u%Zs96<+WowQSBTzrv!*aGs7Lwv$2y=zHr!2B#q>)@n^jG<&zc ze%{XG;hsiMezkXY7Y&E#ncsi?kFPxOhr2$1aeo!7dhU;Gm3R31ubRC%u~1x$o<2R= z8k`#4%yc`wIbK)1ExM;C+7=&Q70n)*)D%-t6q_iRE0U+rIPYg$_ijm?=dI57%-;XT z{{DGazWCW)*MH=B>?8TP-^D$-<^HQvZBbL>I~nhcugb8+Us*55zK~{%u8P0)+2_6; zKQ$`angE(21O97%3H)Kw^?{5e3Q?J>K!-R4#1|JrMzTtP{cS}&H-*?hL0I&l<9B)i z6o@xu<10Ov6^e?+7tRS`%uDbl8>L@f`0%!E4`2B4(2c2kKkj|(ycU=)HYFA;TE8$q z!RSrw$;uu&5M2;nyJlvhWBAIBoSaoVU)Z|&#fw(@lk>v)QC#ne4`vi5x*f|iGwWM( z&Hnlem(96g&CKF7mzmpEY}>YC<+g1 z-E18(f+jMBv@km*uT?$Ws`}>>XgO8h2Io!Cra!F>uk%$gXCXL2%;_N?C)hp_*NI3p zLO*9c^P;nL+SwtN{ng&RU&-&_%08v`D05%sR4GB}+=id{&fc$1=bESTv%dZrXyY0B zl{^}LttWv8RCRvzoLD`v1a|b__0`w<=ggRC@<{)xcgob>IE|eDZEy5ZXQ)H;UvvRJ zdjbx$K;{Ty_n9R3hq1t>(ZxW(1Ldb;KSs(Ir|$s|xUMuAwG~zi!?c^=p=Xxp=9N5eEhR^|KX^olF;(A#aC4bl_-Q$^6);{6eB9CdQM8S1*_Np2I_X^o_%P!ZYABl3X2mGHCDR>zQW zM&Suv;SA%DgXBtCBtD({cutV6nQ`n0z7>Datx)gle30qL!MpT$DK7KGg=;Q}xGrCL zhbpgr$I8oHkxSNCrWGK9?4#dNFioHy99v&Fd2%5?fZ)kv93s_6;?u<(n9`0*t40`| zB(GDt>P$EW@i}5Ty~yEd;=6Jidwh96CF)-;PiHsfms7YL@Sh4?@@vou0_@DgLsq&# zhhK2HffFY(<(4WC=bWG-{d9<+MByX3&V*<_x!eGAnboY! zVK$59QoQ{50z>REr`aUTlM(s=hgAsum~KePrdLx~Ny(-!FvJ~G-=7XqIVNI9;pqII z$6`h} zUU)nZq6Cr^WSIYowj~UDC{{Lwnfvzd-?yE;CcnZ0a`CA(tXe+0Mt6$8THSy5Gk<^P z?*8iW0Q+#?e&O={`%X5q*H{4mUmH89JGBO)3O_&wHUI?r!jI1{DLMbgtO5wHLJg~P zGaEJlV5LoKmoBp`3*P!%#3>-bN!W00}QqoFh(U5 z_I3)fCvSpLkO+H)?~@-H`}}!1@Vqe~6-Nv>$hb*}RUVB()kzcIXv>RX!ILKas?#Y8)jb>rWA^~=6v($U zWv7;bzCwQyw=J5D9yuaR>)f;J%XMt|KlfcEXDhZ1Mq5|NV~=fprP4LWRr$)+$KUT=ltlgu{Ty{aMm#cPR0)3*R$@YWTsR5O zIA6&3uq7mxJGM^9vKoEz&eva;clwN0t5JN%h%MXW@_N4KSGXKsT6H43YU$D{@tvxr ze8cFd?$owzGFd;+so|5iQjSx)d+x!UG@i&t8RFUl2M)N;WFt$Gv>s#A2-r`dRf$Bi z>AxOF>X6ofSS6jCQVeH>63_Bk5f4s)J_ddop~SgAl^4$0uxL_c;p{9-qi0y?N@4$dG>VPyZ;IP+7B1L zH0+AXb|$CfMJ`#pILf$q_uUtd_-ge+T1HGIX8whfFFttPFP~?DOJ@u`aOZFC{&3Uc z#a=jNOyaR{(}54sc%S$VvZg_HCpz$Th0GxOa8#?DCEGdhE2#WZ5~D0D1?v+*oGL@y z5~4St@wFK#p0gJL8!tbqFgW?1{-==hxP0QN{{E++Ft;7OwL)25*Re+~}0H_}6{CX*0oRXs#@+*Y&tIGCWw(8|;cD7%( z`BrA!|Gm`Zm6GqX`1)k_`wVMT-pgz#XJ2RMzOIw+u3x!l?^F9u>>b`S`DOn1hN7`w zU@^4~_>H@!av%5N}n6I9m zvS)bjSNp!dZ_o1HYhK1z(VlUf-X{s&m6#W&542T6n!zXlB-zx%Zsmv@<^mME79>ML zJ3cXrLWL~$buQ;TKC1C5o*G0`w)>7%&%^hp`% zPFq|?O75ft_f)HXp&{OU^dVM<;wBa=KYGqq1O1V8N|07y+)a?xn6F!hKB9F>;pTuu zgG6>AWXypxT=3$F|H{5PfuwtsIfqT6p!g_fblgBT7%}xo@&{5J>HaLZjs@h9%YqV%e4vbA=;aBYfUvbgnw@=pZFuUNz%ud1nDwW_*iEIp78 zsneHMX_ zOssGM6bn=xAm$numq;aA5H6YM&=B$gPUVSqYj_0A35IkspBaRNOlh)^@*l)_*+1`L z!t%(vaBx-6*t5)Kf5+~Ue^q9Vmj4#xvhjRVG@E003zJT~Ab(+ZyY0;SBD;<`5~t*q z`YYmL8HL&7%l&ydRY_6&al}`hiH{qPhcZr+qvu&HZRLV_`A)#~k&iZ*wwh>!m-}4xID_ zG^|!*hXR=*3CtZ5mh)o)CdLgc0m4fdEPG&&LCBw^P{FgO_mH~-?9zsr#KP#mvO2hc zvxrHAjG%kK*wcGJjUx&SASDKl6_f~UxKWN0g>ATjcg2IUFv4DDhIegjnoVz(j4U&g z86~scmKM9#o8d5-jErZ*FY~#vuc(+mH7P|el=%H6I9dNlEq>- zCKQOK&1)^5DOO{2RMC>MI;)}kUHOZ5ySHYo%3v(oXq_V50rfescC*N3;p{hNyS_($ z<_6j1L5esaFF)`iMXdS*)BRx;MfGCI`>FhUYz4v5ql z6V~H?*!H|}6V`n|7DZcb6R+jmIa+B5D*-w%hIi}vUr*BND`6?@Q1GX~hzUw=5E#tG_8d-|q?Y7r{^tJ9yvIzVGg7UAc>DpVJI{$37J zKpTy)c84=_2JI+igw)j%EJDmdjF=*-sZBi{Y5Ne1L-ndKJ{HihqBxqi+G{X96iGlL z|G{@8Be)RJB-ucc0UeJ}_x-rqMQFffI}}py(;M-K+BG>`$TJwnFg_$_(V_dU zLeDGQZ8H51d)NtVcac%BMhudDsp>4h$Wvc*%4@ zB_<3{JjklBxfQ`oWI|$avv5WXcfRUy;5Gb@BO}I239C$V8ZsbNLdEKfQiTN%)(V`vnnc%4~>T=X>a7EQFGF(W|S5SHevO_?5Ko{=$M%3jD)D{ zgRAvU=plb*cVtH$vDiI7+ZVNeOUnF!A*G?{ysNXPic)d*;@O3vp^l7r;epdB;?oO~ z;?y*vF{5l^s_1`H6|*O@bgGM2bJ)b59V$;XrevjsF4pc`iDl90@lh#JtZh-o>?o5d zYIeq=HqH|^8`4>|x5T!IS#D%eZE=RGdGV8`EsjD9(N1%LIS@VjeEBG)kpFh0{8^hP zJw;8yiZf29$oLm!1Gf?ltM2PuuqZx{B-E7iYs@JhQQXAA2mQw3r&xPZW+JwBFm*)p zlny~C5zSLD`3o7iGvs22^zN_>I^cC4q*_4q(FB3rQ`|0j?2=CMIf5W2Km3toWM!vi zlzI=WCm25bfy1AalAaOtuDWsT+2dnRS<|d{TCMtOTt1GUUVG81S8Zwhs0QwPHSlL2 zl6yOPQ0GZmbFeV0cu8}`dWEfdIH$JCpPo~+ymb<0&)DTuEJ{tY>h-wVK8~Ayeb=g2 z!F@Wz4|c=GODFXP0G$2^7||CBNkB(Kevkr?=O9%lQ26Ma(f}5Hq)bnvvkt6}G@~@5 zCpaQkML$Sj9Q}2!bu^*H27(Y&q1#d!Y^YE4CPuN}&a=hXR_)?K$rrKtYxmE(`Pw)p zdhD|ca$}N`J%-q6Dd`n)9m^K(T@j;qNrGi#Z}EI4NT$cmQqCJos0+Lpu)rd9YxVMb z{q|J3!hW7)oXb7OYd+RTUGx2>y@&KXZBekLD7MHKhskO1B-JlWTi&yNZ=+|0$Eu$k z%}m^J@+>tyP^pl4lir0r`Z&<3I4dJT5Q855Kx$qdKm#EG;>&`pqBlw}67LtCL#LKr zP^n6%fyx4~<*FiG1V-UfAAC0&yp#+mgZ~~%Q{JqsuAZojX+>h9)otd^YNv~T;V|kw zjnyf4Jm%1wlZ@WA+aFxF>u}bxu>V$;T3G1A0dHd{&m$Qi&%i$XYT9{E^}!V4#yOG@ zxn-#*#kEy@H8v^5;jNVaaasPNc}0*Xu$t$x(A-sHcNlC;aGKT_T^V~)Ry}at+B+@{ zjds-~GH+I3hCelX>Y9z~a!p)de>>iD{Mjp9Ci%J+`P&&nMU~C)1Hcf&Ir}!q*G++s zxLxQS5{1Pd?SfIV21sPH1yE61Ks!KUYfG?yMm_;z`P__1pOuD?$VxJ=s`*pE`x!CslJ5wr>oJ+y}lyT%s!BB_805*;dH&79sLC)5WEie6Y2K2gqSDZl`=kM z0*kfyQf4Jw$@R<^E!^f19mUqN^*m>9sQUf1+|tZH#@W+S=f*-K_N$nf%=FprKVRyI zNz0rU^-RQ=91A7V@|>)4p(%P_cE#O=ljT-lo>=ZH&xX9AZ*opnkX1|7Iq3zH*P5qh zW)$#snXJ%ufpGPsoaB|xGLx<#c9?O}`6n}NPQ^}BrYr$x(!G2%> zr!KVMK$Rp|rN>f;J5Bo(?6!P5qU|vT%3c)Pch0badE&A0SC%xadgP)DLtKPqj?|r8 z?o4ln3%Y;A8_*G&Kvo5>0)u2`c_B+7F1@WH1_DY3yFQvf#;ko&!`5i?`K#NYoc!vw zZuhEF-$IndWj?=Jt~XTX2><-lWSdk0{(V+nEIZ#~zf4?zEI*C=4Br)kB`oTJhvkp! zW~`O_65UI;CT1r-cp*$5nG6r}itnyY&N8{3ZmY-W6;2F3Z*!TeoxgF(pZq>$PRf

|iJ)rNwdGr)EOmirSOj@aI>%6ZNkal&y#akd%Z!h9PH=pX zunSE4#rHx6xEAD*#{#Db`j(nTHb$rq( z`SIDCw`IE4UK1Cdl({%QKiRpYvTI-Ol)2E3n83%6*X4lQTMw!im@x|=F;1LfZo~Bi zz8NanVFA(DOnN3USPvw4gNFtrRu0qgkpyHaDRvGISd351$@kpw`x|c>3KfXn$u&2; z`YH>)`XD!_1eR6A#F*dni;b15*+r!}i>5Wk&f1YAUQr*cES(1_$e9xt2lm;#X>q1N z^~f!^j11l7%FB=Wh5XVRZ?du2qN$s&8EW$xAD=en{wJ`EcLpk)nsQzwbcYS z`Gd1Uxu1V+O&I5g%~#~+ly9P;rmZu+8N?k8GcAjx>r1RXidKDjVTGVLT0Jn;=%&b4 z;Rg2DM0S{X%2U^#WXLMY%5+<^EuvA1%GkN&g*j1>MX_d^W76@)P`%T0883Go2a({ALKF?KFD>=KXUSYGYYJ3Q7Tk1Ni}n_TnL=PkP}eZH%SJ7V22 zNmh?T@7kRtc?vyJuFI61o{T@EJ6rOw6X){5n9c#d;0Ek*S7H2tlnGpED3z&Cv;vSa zF%Afdu{fd=#`T$~KS;8SP>%}g=rPh(qP!r9DH^uY8h5@~kzlghqids+!c%8YwPtRg zpBPMh53UQm?!}(WIA2w`YGpXMVoJCwB|bBDQB<7UXm}4v=IzL^PMtF~nB=H+N83#a z)$d57Y|nX>TZ*nWBxEG|@?BYpj>LtRrdlofq=r;Wd8SR0(sQyC60&pBCCQOlX-REJ z(p#*)-3yQ~%bk~!kQr~dvUqFdWm_=^&YauN$6lVGU&EvSYZy4!f`Oz{;h+$3V9B;B zaIj;o02H~N=!ESD}J8h-5^cocoYSL{%o5NvbyP58+$p9d*FRvk~X$=Ub z2Ipk}2>f&XbGS231p}FPi6cOn+?AjyX?&<~CXM`ez-!(c^n%-K7h6Hs)HHe)q>mS?`Y}S4F6yJZNv{ z{?h5q!P@gT)#`PHs~cwK7U`ouDNLH`&)28CXumgfp)=WFNSN)*w59lQ;%<@eNHWB( z;4HB)EeiZSeHrV6mm!lQtzc&11LE9u=UrX1aMP?*^-M*vpV|PLc`fWelWZH9{J`%M zerZ`{23RdQ^CPZ4aQlQG&?DU6o%IWH$X3#vA(W62?Na2jp^HF=uF6HqmHu?hmG#yG z`BM*eOqoC5?w{kg&zn`-ad1+}gKuTIj(s9YpMF3I3a1?EsGAAop5<3l9GX)2z?+#d zNRfO{{>!0F?;Kpc`rtd84l&!onPdH9{rnpK!?DR@lcgVy>BxTpA1z3+&zo7_acD}> zgKuYgKKfj*|Ma*k`|StwY7TWyn=#*>3&|$?{F!x~hbaXr|C3(-$p^0Nw;n8-a=5c< z{yck1;SuJ5q2+fsZ+e$3HamFo7?&?%+qlfOefbl1lTgOs9qiBK}bP zSV!N%Eo;293od`*1>x8KkdwXXWuZBXda7=zaJ%IXKYCJFdh$1!Mt*y1V_f6{$v@*z z-^sD2{Vr+7ijV`Y20{@JRSICq&Z6Yl^wHK%S;Vm{VXvZ4>(mBX$~nkA!t_dmJi_9%^0c(_i*qJt=OiWP z+?zc)Cnq^6=Q}yLPaeN9>tgwx`_Fsx>V+|#7jI6UQl9K9!>`YmT%K5B8@Tw&8Bxhi z;p54R9^BjCYLgqPTdJqFP30rAztuAL>ayZh?V%MJ5PlVBFJa!g$(8b_tHeopS^;G! zq^Nvl&&D<3;D%|wtQE757RN>x)b!L&^0>U*EtunDoy)$wG(BO`vPBh=)dq0!I}c{Z zr5BW~6n|e?R8(2?)#AbAyu9SWkZxNYBoUo{l-2Ltox2TJG9myfNxy{BQ);oi>mE`510-d+FPV88sw+UkSx zY%s4{&0kks-^g4k>kNfQ2g^GvF1zW%#X%hGK+&Mk@9w`utges@Qk28R^sz9avHSDn zlE#U9_&CUpkd#0$3$77pXRdG+A+HS>aAHI;VM6I}830cLF{KlU3}L@sKJW|c1&ytj zU*5WAa%a!}Bgc*%x$P%xMQ?8({;}wDNC>_uHRX~yE3SI}s!5SHlCOAu6Q%288_%T< z&>TfyjLy=t@Bnotz!;F60oD&mrd&BL(<{=?pc4Rg1Y{n)uH-wn&Xhk~a_cKcrp_6C zWOUBdr>}2qwLce}yWFzd9q)&}>f^=s;G|;tJJRyFf%;XWqpRu%;_CAqJSUoyvllx1 zUH}AA53Fm5s9PM$y8v{hG1t?dc1>}O1U%O@ z`h1N(y~$h=A4o6sT(IawV+E^xz*Cty$FjQi(2bJMnqZGHvYerTc|{fdQL{pBABPLm z`V_+@>((5s?YLt_#m^EG@^ayI-(yx(4*81yDu%FC@$8S$Z%8YhNJ zp`~;R4$V~dPG`0O5dH>X04mvw4)m}Lj1BP$Kwj7dAV=`I{a_A|5QCH~2C4)D)EmBn z%7evN71PkL^|n5#skpJSF|bBy8&r!3Er2im7X|g ziAS7ZSqK+sje&V{XU$zuyigcCSx8FM!s`x`p)9I0v}Q}AI3qPPGp#{t+_ENA8C7O5 zjotZ!DaJTU5QW~gK%lp&GlZSPC@W}*Gfw$|adKLL$5Z5+O6vvj-PCU_fxmO?zyV75 z8XTSrd1O{!wPc}r1WXntL63%)Wq{-1io(Zc7E&ro4K!}h1ZXDk*sy~@e<2g~7_2r) z&t@3~bKV^nidnhyXJs;$Icr|NU)p>}78;vrOt7qdLz;_UBRLp!(2j`r}o`(yqxwEOv*>ejs@{S*0p2Pb~@x^Hu zH48pp!0Qd9rig1UN>=(tG|jw4tV&5sOQ{l{&o>HVe&NWX@>##-waMw}$+i6U!zBT$ z;p9594|3nhbxNlnDfbVuW+^$nBsR7rJvrmvM-~#e;M_O{Jh?vtuZ+tb#p{w`2gr}T zXh63STn#UnT$x!C^9ork6B>4Sb`wJ$FeC|?tPIxED7q{QNAi%vD0A>E16flmB8hfr zD)>WLegPte{;ct9Sthtuo*0*+=pExF8yjV$%Sxs;Xd{cvY}QL@?|@MdZGj5yrymyo z4MgM=JJ>Q;H1Q7DE||B(Fg6u#apjN2cE@k|*avLHC9e=}a3AMa0Ho1%B?H(n@7TO|ErL3%|m{Y~T!xA+4+ zd+Sec%BAoA?QOR6O*Z|fW5?fOFvE6B<7e}k!z2V7^!(6^>}U6#c<2wee$F>M%O1bw zGKiT=^{mMt6|@=I>tls>ga$z-7bssm@rlIo6pf7EF({ zRm^N|<~R0ScU@2Sb=S%BkJ_V;QFaO0p(3RSeUEBa?L0yGMiV67R^ZeRI|1d44$B%a zmPiy9Ed-#WCc*z)pbEB)=qu0q7VWFFq!Yh9=3JS2QB*&zxNv5X&uN%nJ9e~oKC}iF zgd{^CrXVTDpOaJ&6W|ZIZ0l$ijbG2|1)J*>^ng!P(|ZxKSvVh`+Ko?^A4{7ubH$vT zx{i*z;#KSC2E`PM*MxswO9~S)?G-o8>UCnTP+^1?NR=2@%})+=u1CQyPX$d<1Kq+A z%vs`_k3#@g0Dx=aWuOH7=&5nj+~KJI;aOdBkq8SjGNqmgjW4?p6wyWJG*;+~6Y_I& zbMq65^%add(X*g29bUBK`#W}gUrd`QN+07Gd(jaSu_U1x;E<0H zEa(9dY{_VMYlWETaGOkSN1|BK+C932Po=_l$iJ;7aH9*0Mwu}Vx-iR`*m(q*>n6aY z3Z+oO14HrD=-2vh2YOHi5-^!cm8Gr>YIa=PT`1%{fNk6!M@R#{fA#FbPKml)6~P20 z1`0*f8q`8xKe-Wgv%<12JnQQnyXU{?Qb5p`3iPpcN(X5cJ;>$v=-S#Z(JNZ_zB#(& zYdy@KRJwO;-RX|}^mOn3?R4D907142$qzqz zTB}j9g!`i#Uv|z~v}l&|IamZg&|n@y+5C0C-@AF;Dly%K3Yn4d|@i} zw0S@>)vg&21d}bg6rRfie$4_Ve@V5ydj;9v-77!*8A=y>_n#4K++X|ocGk1~^SiVL z>vbec`N;R6hI!SMe`d3l>?fwb{MAjWtflFCm> zqdjdEvu9U88A1W&6Gxw%8{gnN#=VHsa?*bB4?V>_AimbaQ4Kn53gAksICqyTN5su zJD1&}$mz((kWj;@r>z00&nlWd6UqA4QPPQ1{onQD=~bGSDuBTM6;91O2d7F3(W2s9 zLYn8|T-Uz|(uGlC$j(HT1b)7sgrKj;IXEZj>WT+fM&LD1J_OR4Ls*l*q z(0*St?x?Cn66Xlq2=RBXfAIcmuf0F3!jl#b&CDrGE$O=Fk~`|^*v=7bS7u(Zditi- zwW-ZL2jmZbwQJY=ENTCiKfZAN(wlb|t*M++%RhlqRfYV#{G9wl`NvUtlN<7qoXx9x zBKzeX35|WLYW%Zc^=lYDzVEu5<-IgK1gx>U`KST(A29 z7zKa>5}U&3kmea3T`C7PP8?q(!vL&C%aPcrM^Mg1kzT=ZU_koGHY{==3Tvr$@}meu z(76{7H1?;&I71DJEHUJbY5U7kF&c?($w^%6EDR3)04!Cc>mjVaVxT%7K77Y zh?pqBk>{-y%(hC8Bnm!1{Hf0!vV!feb#LkwVyxaMx5<@y*LL}%dvho98^~G} zG!Mgm12%DxTp%-y23ElgP>F!e<8u@r#M`blW%*7XNs4jC{))30i@_o{144R^Rr8*2 z&`0p*=TzY~ufG2^DI z;q(2Q)BlV7uRm}~M}+kHr>C!dWnn&ErK*Cu zE0x>r%5_Y=!9E*3GS~n^U_5eSLiybZxnwPulF6?oQ?HO%i>G#=8S&=)RljeYeqj9x z@a&1IUpOl(sV3iSmhVvVt^C?Gs8pfKH-G)@yI)IBZS@Byro?W5#*eMGzbgOS`0-~wIj{%qH??L=S2NXR ztHxf1SHsRpw0yA>v zFz!3P#c0_0114N`D=T_$``GdAPi)`*1iPhsjS;ks*I=%!9eIAkj-xhnU5(igD{-f> zshbOzynpf4|Gb7RU)uk6%gU84Z}%;`lj%N}&tEE7O~uhZ@RAp>z+(@yf;-KIp8I}x z!DI5P^955(tf|OqvWk_zW+iuA#iVDpn#>zsli$mvI=7$FZGCgP-e?YHo6X_93;UmF zwmN>eWA&Yr&E}k-$*7<8?giVAU#2(g{Ie=s13AS}aA?3%B=_Db)9(y}j{!}bz<8*~ zJ?g%B6!NI+Chq$f<~O#PjBK3i&fUL_9~G&2j~%7mH(fB+3jam%K`7{~!1cNu7L~(+ zy=h;dw&bj>vBtMm9KnNrBUkX)?+a+$*pYEY0AHsXIp-+-6y9(hF$h$CqJVmdLqK&a zaz)CwldWB7-owEOwgIH1fMZBlS);Sa6aa|k1qDt}&g~oVTYJssk3Tk>_X4fr9*@9T z&wOZNx4r$Zl4;pQ*Tg=hzCoX2Y{;`c@qPYdySUmWO6x80W2*PAyVU04t~7VT^GVy+ zhnU@kPx*$lr}N4$i@LL5fcjI#@d_-FBkZq{^@S`jHYmR$t@{QVp0)EJjtpP>CVHKC zwK@aG`T{8vN%%r}=W%B$ z(_Hb|gBcG?AUFkN5Y~VkE(GrtKO*q7;wN+fJOUo29}*gAigXo;osss59xv!U`MCtT z0Y-7tL3UXoH<G9z{;ZqrR6sUVoNd1cHI&I+7p&q;$?!N3uAwtrmOGDX%no4MwBE zYcw26x2D_tR;zm3LQw{z$I14jT^sfninHcc`?<&9(%S_|Fgz!CeQEma<*PGWbp4^j|Y{)20DOhSxob0p(vRs8Wo6THMV&gai%S?{*q({Z?zGt@82bgi}jd`<0OI%h}?mLwImJ5vIN5RxqA_FrH zs@2572~8G=#8x69z5(NV=>~rmtP)1KN?i~;E|k*J)1YM>DD}XM1K28x)-O3(Ze>l-?J=9$=Cy(7F3C?I= zOiomcQC#KDxT_pC^QMT7w4}n6kv>CmQNZ``#3MQW;Ul8Q=rkAw7UD+1DS2AAFt5=8 zA(0!o*B50lJByg6e69S~^~sLO zw|{F_PIhXxNfa*p$t_zOL`Qkrd0#$!O=hMi9nQo;ugPP(9?98#=>=I?S8aao(^>ZT zhF`y0oHk=sMkaa7nFW=1eN=iTkVoP4?m&{jrHbrYIKMKwrruJ`EsJt?C59YnzC*C! zQE}jx$A82GV{%*XJUltl`DgiwiySp_^I88y9q~t86c=iP4J! zOUleNTViVGPR`iymr8w3ZGBv<)8vY4j&06#i|cM)Q)97u{jKbLX4*CPHTjQ2sg`&c zEnW%xe1QwPR>j9#8~m4DwLLeN$2j6+6B4ZEl*vZl{wrR(WvDeV%`t1Tf8LPXfbq*b zW!1kU{S_xw#h^f!DHf-&ED-(&wMYUV2B-?j z6~eSPWM;Y7&#Oer#)Pmg3sa{oS+olnaA``?^re-%BGFb@dQ7QI$e5a!8S92~PqrcW z%%9*w@2k%r?vR+n>=#QrVX2g@V=IT<{4WbG{r+p;zjT3mV*@q6gZa~+$nVMWBaO)= z(wr-w`rxy_AAe~0qngDl_DX%?Ehd@uOH~qD* zwHg;Z@OSyv7j9++e|`O1ksR-mTZaNy$`}2WEw7hQ^6Gt0{p{86?_I%@+xEVSsR4Ns z&@>7TC3|*7(9tHD?tbWIUj@DF`(gVBa;IdW66dL8xw72&(=`%gnh zzCs1%*%DQD!bmw$!sq|PoyLagim<*d!1{JI(VBo(P%#kG@j!@A$c(}>yt)?AcAAc2 z@J=zY5+y+c4O{4OQ9sO*D%dbC07Zs_2{OW>#H3(>#ID;VMJbP904q|7Nu-?yyrbMn~K9OnSo4Fk@c z)L8C(P5yJcZF;~~_JlV8LqFap?nsI^<-%FC;u!KJ(Ug!T#wSog@j;JP4s(1%Im~fR zISKJ%T7pTGUs8NphLdtl@$8n=Zd<7rjaq-iUuw=|`8UZgd>Wmb;xa~$zD2TtZ;eJ9 zT`9TIpR$UZaXdqZN7Igq5s^!a3Kj~lCj;(!JkeM~M1#cqv_}Ts%8;Hh zH12(EWcaYY~)7fzL!mxZ`r)XYE+ zt0PLtbgAx?I7Pm7M1JY^N97k^h`WTX8fIm;KgP;mi1REbqDk8un00no0QaC}BysLa zx3F|qR+-lT;-vs4*|IY6gBc`0&i*HwK019KPci|*!?%>)e^1Fn^I|@ak*BfZi{;nY zyPtP_#j9P|C%d zIzDS(x!~yqYn5Ecf2Jh9=^Lm*>{(AS!%FC^F4wi_dSGSZB6y*CRQIgzW!*cvk942n z8zGA2hoCFA71%OBmJ$;}uWT`($E@x(gc!ZDg-~`0;6^B1i7*L+hrI!1y{AYTqa2d@@6zTCo1Q!H`o@u428IC!p?{x+;^E?Y0l5?UBS4;X7dxD;~Fnwu*TU^wrhboN7w;8N~lBoLGfs-|Qr^6m6 z2+l;l%xXx>v088$i^-UZMLaqhS4nhP%WM4Bgv6RlriFS|_PQ@RG{wp~{yIG%EZUUo zugVZZ>+5|x4?i${#-&@97wLlyF}@Rnc9YvxVpFd7iqUC_a7yKjN)&H{44Es<7~^)Q zj`cVli3wAjPDi+ket?a>MUOv_72z=D&!M?0i14E< znc=Akr;1+YFkp|BV2duyO}yg#tJ$WZ$8Pq0S2##myV-&$Vlc3FA#2Kmc5Q-#L0 z5dz+Ga;S1VUEFbVF#@!6v5 zh!ce$wCeIJWPazJe&>?M~T7=80Km%%z<$p*1`g0SAVL7MV*HckBHJs zx(s}m8rCDeNedfv-)7sjuu&Jww`gIL&drZ#VT&%8Kcj{1y2*k7-b6p-jkmzhX%}o^ zbi&7&51O0JIJbx(G##NnXf$m>H~1emZ8;TqtN9^B958d9Djx*_BnRC2c=rLL}j zV9Q`vN9VAwzIkKBH@&&9ZHq5ZToNwy)%5iElvhK(!N^c#aATwm85+=@KD43+_=!sE z2Spn}bbsG)&8Emue=i;uBBlfKE3@Y{^Evd%Nyq}q^SR(#-++v4WW;ybv|7X-&TfSF~Z~hqFWjn z9O~-t^92jb3X7GG{Lcz+#D_%iDb#h;r4bw)Q78J)4gJcsQ+e}ELq&O7k#4+U?Z~0# zRP)d?btjcIh&tMkzE|nCZp1Ysmg2jxAdDb1UP>Qw(Nil@5796-_C%V8A{eLk$e?ey z-#6SD@tqmkp-Ag6eRz96UgAwV2Fo`**xVNBZ656QH4hIDcD0NsN&5PSyILbd+CUGY z76PVohI(+=cY3V92^Mu{U`eNd>@YyM5+r&NdQSb`=CjHyRK85tIXpZ7y&h^_vkFUv zUH$(}2}KwwwO9I-(JDgbZz{8>2Orrt6v2Ci#-ZE4`p2Kc8wN^9z$xJ#-EN#QU9GzY zwu1KRu406);cgXD1+m@36aLx@U1YH&13UfBU`{0vPIbGEn!R9GPWFkVOFwLY&BcM z*0Lt-|C(6~@Y!cN8*624EW+AZ2kT^AY(47+^Q{;9l>KagZGa7wAvO$?up8MXcq8A! zwzBiEF}?ueliS!RyNF%PwzEs%c5o-#1xb?2pt`z;UCypxSF)?v)$AI!mtD*DvHk1- z`xcC{UC(Y{H^N8IL0ITM%#N^|*|*s(>{fOgyPe$uPgi%byV*VLUUnb*4!fUymp#B9 zWDl{2+4tBZ>{0d@+^s&ro@C!=PqC-j57<#y<9wDq$9~9u#GYp_uou~n*-Pvv@Id`C zdxgCUBf39hud|=CH`tr(E%r8hhy8-R%id$ZWWQqXvtP4g>;rb3eaJpyzkxN?-@$Xy z$LtU6kL*wE6ZR?ljD61j%)VfMVSix4=7)jl*ytck(D6&0XBhW4MQVc`T3P@jQVi@+1y^3#>Y)@-&{#GdL_q z@GPFqb9gS#c`5L~KH}Q46nYZv( z-o_)m9ZCR% zG2hNF;XC+FzKdVVFXOxU9)3B$f?vt6;#WgcbuYh`@8kRV0sbw19lsuQ|Bd`6evlvH zhxrkHGygWfh2P3=F#jHZgg?q3=tm{3-r4{{cVBpW)B)=lBo#kNETa1^y!cF@K5wg#VPk%wOTJ^4Iv!`0M=V{0;sl ze~Z7(-{HUD@ACKfFZr+d`~27Z82^AD=O6Nq_;2`c`S1Ae`N#YZ{Ez%k{1g5u|BQdm z|IEMOf8l@Sf8&4W|KR`RU-GZ`34W48H>a)ewVPskSv z1n}a7VxdF`2&F<07AV6)nNTiN2$jMlVX`nqs1l|M)k2L>E7S?~!Ze{lm@do^W(u=} z*}@!Qt}suSFEk1ZgoVN)VX?48SSlMn~gl3^dXcgLoh|n%{ z2%SQguwLjEdW2q~Pv{p0gbl)=FeD5MBf>^uldxIXB5W1T6V4YdfD*|zVN|$CxLDXO zTq5icb_%a^VW$O5rNuYT+7TuW+rfPuMRU5WXc`CtNSwAlxY2BpehD z35SIv!p*|Bg2=@!$6&}#-lRA2uhlZryk)f_u z{ZOQNu(i_|>Dw6T=^uzlop>G=hlZO6&2(vs^bQPf5l29^i0xfHy~g3rCQu+95kA~$ zpm5jFFz@fy4@P?XH%1Iw`}=#Fy84XDy?8^<5?BLfsCb@jFMZ?+8dG;e8Y?HX+DiJ;Db zNb|4(OEsvfP9rr%DX^!%wOefOY3?xNW7-Bf`}-n8=8gS5BfXI(w8x?asREN09vRSY z7;Notix^ta9k>g_%^f0sLt;yRf47k?w8BdRgI#^Y`qt*&$Y8Tb%PZdZwCTHso3RjD zh9jGYn>r&z1)7!crmnW(PBY$h^fmQF+J~)b5KHE8WYD5MD3qa14X+;=8t!V}BGR{5 zy87CXPR*xW!>{q|sHvXV|f@z>l%BMx zL8TQ&H9Rt4Rs#w|C|yKwgysx&ZH+XwkM#6dweV1Hb5D;mvbnXVxwrXrv&4?B_F)l( zV>{-^V8j^N0zkuPm?+TN(?1lkqQCmO`Z|=hOX$zOh_SV~C(_r}Jg6VUR-wPw(AwYI zi}BX?Hh1(zhRx&sH8OCzAE|u+_u);E$gmBcJ}^Ku?5h8&g&CfB0W8p zR_fMvbnI}%+=*dqQlVQ3(tI~4p^*WTa;FZ7Qh~GS3`9ns6{8g3I4f#o;OtCP3~+dV zOGLkE5Ocm$8g3ry9?}D&qR&h%gI$sKR%~L-1i9)wkvazZM+Sga`nn|mS5 z$Z!*VDdq_UF-g?`b*n`UDt(1{1I*qxBo6ft0@QF(vKf>RCeQfFMj(PULWMOE?d}J_ zbO8R_uq3tgV~i~tI8#dNIB3%Y;rL;|>o9hC14cmlAjZBK7!f$n4BXxcq&d>lVgz2m zICn(sN*625pry;IKB|yvpry2_x6OjQ!=3#@==_LrXrybHM$AY+MK$VMu~0=KSYi5s zm1(6^mJ|AfmXWR=%$5!#G7r$YV`}b2?ah6y5q)o@t-EX3(oRi6E$bs_dIal0r_%3Y zdvSXts;z$n1J#6f;!2$veO8PLe`iGj{?2-)Q8Ay%Z&8CvMxz=gjH;ARNeyk0p>8Z2 z`kv+ix+#D%Z0+rDq3=>=qg8`<1>VdXM*4@ z*#IiVra)PRWx~p085+Ti#PsbN09cQ-s39aPFSQPgY~4zI*A;1vU;(89iOR8`2@;{B zAL{Ii^t9Q>7aFxSQM5!g0lfl-M!JSN(W8Svb`e^5Hn+9`L20YDf&ml&IV(m5kh7u) zK~2o0AgIpa-ky-yIy6+O2W$dmnpLby9jRc^A*_xrzrj<OOZWXSXNDEchhc(j6pqt1Gw_b9G3NSBax3s%#S zmWaBvX%FIN46}(YO7!V8)R~4hzzv9MpmY#`n|t-`plQ1Yh32+CvAv|M z#NN_1+ycZ7Y^)9gFk#Q2Wmvf>QI4K|RCI=zvQ2m%8JPH%;L17Stvbawfz0jSG-SXu z9qjLFlQ1zxHlvwcEwr`_b#EEKqSik$IJ98|ivq|2fJ(o<9cZ~HBGQEx@ZqijVQ7Sg zHXJt4=B8_7L}(f5;2XQ8O_8paerz22@P`Ct0lV_;m<}rDrnq2?`T^r>aF0rY)2pz( ztsnG&vi;CHzpUK45u`Y%Ql(8uRbFgUS2iW0sh^?(bSb3^ja7MwE@8Tq(WRU&6^4<% zu7;ADV)S)$31TWJQ$;B~Ql<*ZR6&_4C{qPxs;Cf~g2hUX778Ipuo%?@i-T%uwJ0c9 zj7-5|WC|7|Q?Qsal@!y3-j-0N63SG9YJw%GCRjo_N+?GOI4p?)>g>sZ?&8yc6tS?auu2)h})>5rX_)S#0r9Q0P zsqi3`5u{p!RBMoG4Jt1vYf#HNjVcaN#UUy-M43XADMXnfL=X`ohzJoxgo-PqjS=8d1PLTUR91*UB19k&B9I6XNQ4L^ zLIe__5~?IXl>{gU0Yiv@Aw<9sB47v+FoXygLIeyU0)`L)Lx_MOM8FUtU#BTP9k=(tdha0PlBIdGvI7<7av2Mv0N z20es9$AxmxpoeJCLp10i8uSnidWZ%+M1vlpK@ZWOhiK44H0U83^biethz31GgC3$m z4`I-8p&Wz>LWBuIzy$4qvWPN20_EzA3Q$d98u~B|eOSW>fpT>^1*pC-0YI1lAWSGB zOt2KD@ekAZhiUx7H2z^4|1gbzn8rU$;~%E+57YREY5c=9{$U#bFpYnh#y?EsAExmS z)A)x2>a+~hXf3Q!=X{_hptiiGRJ*GaE>NR2wML!!ftoVyeYtiYFRw;>uGQ{!+Pz-8 zPgC!;TD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4s8qy5Z zY4z4=_10?v$(?k d0mW2@EHO9NV8h3u2x_sp}KECIB>@9+Qn{FBV{ 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/wabook/FontAwesome/fonts/fontawesome-webfont.ttf b/static/wabook/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/static/wabook/FontAwesome/fonts/fontawesome-webfont.woff2 b/static/wabook/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/static/wabook/ayu-highlight.css b/static/wabook/ayu-highlight.css new file mode 100644 index 0000000..0c45c6f --- /dev/null +++ b/static/wabook/ayu-highlight.css @@ -0,0 +1,79 @@ +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; + padding: 0.5em; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/static/wabook/book.js b/static/wabook/book.js new file mode 100644 index 0000000..0a01ff2 --- /dev/null +++ b/static/wabook/book.js @@ -0,0 +1,603 @@ +"use strict"; + +// Fix back button cache problem +window.onunload = function () { }; + +// Global variable, shared between modules +function playground_text(playground) { + let code_block = playground.querySelector("code"); + + if (window.ace && code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + return editor.getValue(); + } else { + return code_block.textContent; + } +} + +(function codeSnippets() { + function fetch_with_timeout(url, options, timeout = 6000) { + return Promise.race([ + fetch(url, options), + new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)) + ]); + } + + var playgrounds = Array.from(document.querySelectorAll(".playground")); + if (playgrounds.length > 0) { + // ignore + } + + function handle_crate_list_update(playground_block, playground_crates) { + // update the play buttons after receiving the response + update_play_button(playground_block, playground_crates); + + // and install on change listener to dynamically update ACE editors + if (window.ace) { + let code_block = playground_block.querySelector("code"); + if (code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + editor.addEventListener("change", function (e) { + update_play_button(playground_block, playground_crates); + }); + + // add Ctrl-Enter command to execute xxx code + editor.commands.addCommand({ + name: "run", + bindKey: { + win: "Ctrl-Enter", + mac: "Ctrl-Enter" + }, + + exec: _editor => run_xxx_code(playground_block) + }); + } + } + } + + // updates the visibility of play button based on `no_run` class and + // used crates vs ones available on http://play.xxx-lang.org + function update_play_button(pre_block, playground_crates) { + var play_button = pre_block.querySelector(".play-button"); + + // skip if code is `no_run` + if (pre_block.querySelector('code').classList.contains("no_run")) { + play_button.classList.add("hidden"); + return; + } + + return; + } + + function run_xxx_code(code_block) { + // todo + } + + // Syntax highlighting Configuration + hljs.configure({ + tabReplace: ' ', // 4 spaces + languages: [], // Languages used for auto-detection + }); + + let code_nodes = Array + .from(document.querySelectorAll('code')) + // Don't highlight `inline code` blocks in headers. + .filter(function (node) {return !node.parentElement.classList.contains("header"); }); + + if (window.ace) { + // language-xxx class needs to be removed for editable + // blocks or highlightjs will capture events + code_nodes + .filter(function (node) {return node.classList.contains("editable"); }) + .forEach(function (block) { block.classList.remove('language-xxx'); }); + + Array + code_nodes + .filter(function (node) {return !node.classList.contains("editable"); }) + .forEach(function (block) { hljs.highlightBlock(block); }); + } else { + code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); + } + + // Adding the hljs class gives code blocks the color css + // even if highlighting doesn't apply + code_nodes.forEach(function (block) { block.classList.add('hljs'); }); + Array.from(document.querySelectorAll("code.language-xxx")).forEach(function (block) { + + var lines = Array.from(block.querySelectorAll('.boring')); + // If no lines were hidden, return + if (!lines.length) { return; } + block.classList.add("hide-boring"); + + var buttons = document.createElement('div'); + buttons.className = 'buttons'; + buttons.innerHTML = ""; + + // add expand button + var pre_block = block.parentNode; + pre_block.insertBefore(buttons, pre_block.firstChild); + + pre_block.querySelector('.buttons').addEventListener('click', function (e) { + if (e.target.classList.contains('fa-eye')) { + e.target.classList.remove('fa-eye'); + e.target.classList.add('fa-eye-slash'); + e.target.title = 'Hide lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.remove('hide-boring'); + } else if (e.target.classList.contains('fa-eye-slash')) { + e.target.classList.remove('fa-eye-slash'); + e.target.classList.add('fa-eye'); + e.target.title = 'Show hidden lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.add('hide-boring'); + } + }); + }); + + if (window.playground_copyable) { + Array.from(document.querySelectorAll('pre code')).forEach(function (block) { + var pre_block = block.parentNode; + if (!pre_block.classList.contains('playground')) { + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var clipButton = document.createElement('button'); + clipButton.className = 'fa fa-copy clip-button'; + clipButton.title = 'Copy to clipboard'; + clipButton.setAttribute('aria-label', clipButton.title); + clipButton.innerHTML = ''; + + buttons.insertBefore(clipButton, buttons.firstChild); + } + }); + } + + // Process playground code blocks + Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) { + // Add play button + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var runCodeButton = document.createElement('button'); + runCodeButton.className = 'fa fa-play play-button'; + runCodeButton.hidden = true; + runCodeButton.title = 'Run this code'; + runCodeButton.setAttribute('aria-label', runCodeButton.title); + + buttons.insertBefore(runCodeButton, buttons.firstChild); + runCodeButton.addEventListener('click', function (e) { + run_xxx_code(pre_block); + }); + + if (window.playground_copyable) { + var copyCodeClipboardButton = document.createElement('button'); + copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.innerHTML = ''; + copyCodeClipboardButton.title = 'Copy to clipboard'; + copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); + + buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); + } + + let code_block = pre_block.querySelector("code"); + if (window.ace && code_block.classList.contains("editable")) { + var undoChangesButton = document.createElement('button'); + undoChangesButton.className = 'fa fa-history reset-button'; + undoChangesButton.title = 'Undo changes'; + undoChangesButton.setAttribute('aria-label', undoChangesButton.title); + + buttons.insertBefore(undoChangesButton, buttons.firstChild); + + undoChangesButton.addEventListener('click', function () { + let editor = window.ace.edit(code_block); + editor.setValue(editor.originalCode); + editor.clearSelection(); + }); + } + }); +})(); + +(function themes() { + var html = document.querySelector('html'); + var themeToggleButton = document.getElementById('theme-toggle'); + var themePopup = document.getElementById('theme-list'); + var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var stylesheets = { + ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), + tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), + highlight: document.querySelector("[href$='highlight.css']"), + }; + + function showThemes() { + themePopup.style.display = 'block'; + themeToggleButton.setAttribute('aria-expanded', true); + themePopup.querySelector("button#" + get_theme()).focus(); + } + + function hideThemes() { + themePopup.style.display = 'none'; + themeToggleButton.setAttribute('aria-expanded', false); + themeToggleButton.focus(); + } + + function get_theme() { + var theme; + try { theme = localStorage.getItem('wabook-theme'); } catch (e) { } + if (theme === null || theme === undefined) { + return default_theme; + } else { + return theme; + } + } + + function set_theme(theme, store = true) { + let ace_theme; + + if (theme == 'coal' || theme == 'navy') { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = false; + stylesheets.highlight.disabled = true; + + ace_theme = "ace/theme/tomorrow_night"; + } else if (theme == 'ayu') { + stylesheets.ayuHighlight.disabled = false; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = true; + ace_theme = "ace/theme/tomorrow_night"; + } else { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = false; + ace_theme = "ace/theme/dawn"; + } + + setTimeout(function () { + themeColorMetaTag.content = getComputedStyle(document.body).backgroundColor; + }, 1); + + if (window.ace && window.editors) { + window.editors.forEach(function (editor) { + editor.setTheme(ace_theme); + }); + } + + var previousTheme = get_theme(); + + if (store) { + try { localStorage.setItem('wabook-theme', theme); } catch (e) { } + } + + html.classList.remove(previousTheme); + html.classList.add(theme); + } + + // Set theme + var theme = get_theme(); + + set_theme(theme, false); + + themeToggleButton.addEventListener('click', function () { + if (themePopup.style.display === 'block') { + hideThemes(); + } else { + showThemes(); + } + }); + + themePopup.addEventListener('click', function (e) { + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else if (e.target.parentElement.className === "theme") { + theme = e.target.parentElement.id; + } else { + return; + } + set_theme(theme); + }); + + themePopup.addEventListener('focusout', function(e) { + // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) + if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { + hideThemes(); + } + }); + + // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/wabook/issues/628 + document.addEventListener('click', function(e) { + if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { + hideThemes(); + } + }); + + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (!themePopup.contains(e.target)) { return; } + + switch (e.key) { + case 'Escape': + e.preventDefault(); + hideThemes(); + break; + case 'ArrowUp': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.previousElementSibling) { + li.previousElementSibling.querySelector('button').focus(); + } + break; + case 'ArrowDown': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.nextElementSibling) { + li.nextElementSibling.querySelector('button').focus(); + } + break; + case 'Home': + e.preventDefault(); + themePopup.querySelector('li:first-child button').focus(); + break; + case 'End': + e.preventDefault(); + themePopup.querySelector('li:last-child button').focus(); + break; + } + }); +})(); + +(function sidebar() { + var html = document.querySelector("html"); + var sidebar = document.getElementById("sidebar"); + var sidebarLinks = document.querySelectorAll('#sidebar a'); + var sidebarToggleButton = document.getElementById("sidebar-toggle"); + var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); + var firstContact = null; + + function showSidebar() { + html.classList.remove('sidebar-hidden') + html.classList.add('sidebar-visible'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', 0); + }); + sidebarToggleButton.setAttribute('aria-expanded', true); + sidebar.setAttribute('aria-hidden', false); + try { localStorage.setItem('wabook-sidebar', 'visible'); } catch (e) { } + } + + + var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); + + function toggleSection(ev) { + ev.currentTarget.parentElement.classList.toggle('expanded'); + } + + Array.from(sidebarAnchorToggles).forEach(function (el) { + el.addEventListener('click', toggleSection); + }); + + function hideSidebar() { + html.classList.remove('sidebar-visible') + html.classList.add('sidebar-hidden'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', -1); + }); + sidebarToggleButton.setAttribute('aria-expanded', false); + sidebar.setAttribute('aria-hidden', true); + try { localStorage.setItem('wabook-sidebar', 'hidden'); } catch (e) { } + } + + // Toggle sidebar + sidebarToggleButton.addEventListener('click', function sidebarToggle() { + if (html.classList.contains("sidebar-hidden")) { + var current_width = parseInt( + document.documentElement.style.getPropertyValue('--sidebar-width'), 10); + if (current_width < 150) { + document.documentElement.style.setProperty('--sidebar-width', '150px'); + } + showSidebar(); + } else if (html.classList.contains("sidebar-visible")) { + hideSidebar(); + } else { + if (getComputedStyle(sidebar)['transform'] === 'none') { + hideSidebar(); + } else { + showSidebar(); + } + } + }); + + sidebarResizeHandle.addEventListener('mousedown', initResize, false); + + function initResize(e) { + window.addEventListener('mousemove', resize, false); + window.addEventListener('mouseup', stopResize, false); + html.classList.add('sidebar-resizing'); + } + function resize(e) { + var pos = (e.clientX - sidebar.offsetLeft); + if (pos < 20) { + hideSidebar(); + } else { + if (html.classList.contains("sidebar-hidden")) { + showSidebar(); + } + pos = Math.min(pos, window.innerWidth - 100); + document.documentElement.style.setProperty('--sidebar-width', pos + 'px'); + } + } + //on mouseup remove windows functions mousemove & mouseup + function stopResize(e) { + html.classList.remove('sidebar-resizing'); + window.removeEventListener('mousemove', resize, false); + window.removeEventListener('mouseup', stopResize, false); + } + + document.addEventListener('touchstart', function (e) { + firstContact = { + x: e.touches[0].clientX, + time: Date.now() + }; + }, { passive: true }); + + document.addEventListener('touchmove', function (e) { + if (!firstContact) + return; + + var curX = e.touches[0].clientX; + var xDiff = curX - firstContact.x, + tDiff = Date.now() - firstContact.time; + + if (tDiff < 250 && Math.abs(xDiff) >= 150) { + if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) + showSidebar(); + else if (xDiff < 0 && curX < 300) + hideSidebar(); + + firstContact = null; + } + }, { passive: true }); + + // Scroll sidebar to current active section + var activeSection = document.getElementById("sidebar").querySelector(".active"); + if (activeSection) { + // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView + activeSection.scrollIntoView({ block: 'center' }); + } +})(); + +(function chapterNavigation() { + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (window.search && window.search.hasFocus()) { return; } + + switch (e.key) { + case 'ArrowRight': + e.preventDefault(); + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + break; + case 'ArrowLeft': + e.preventDefault(); + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + break; + } + }); +})(); + +(function clipboard() { + var clipButtons = document.querySelectorAll('.clip-button'); + + function hideTooltip(elem) { + elem.firstChild.innerText = ""; + elem.className = 'fa fa-copy clip-button'; + } + + function showTooltip(elem, msg) { + elem.firstChild.innerText = msg; + elem.className = 'fa fa-copy tooltipped'; + } + + var clipboardSnippets = new ClipboardJS('.clip-button', { + text: function (trigger) { + hideTooltip(trigger); + let playground = trigger.closest("pre"); + return playground_text(playground); + } + }); + + Array.from(clipButtons).forEach(function (clipButton) { + clipButton.addEventListener('mouseout', function (e) { + hideTooltip(e.currentTarget); + }); + }); + + clipboardSnippets.on('success', function (e) { + e.clearSelection(); + showTooltip(e.trigger, "Copied!"); + }); + + clipboardSnippets.on('error', function (e) { + showTooltip(e.trigger, "Clipboard error!"); + }); +})(); + +(function scrollToTop () { + var menuTitle = document.querySelector('.menu-title'); + + menuTitle.addEventListener('click', function () { + document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); + }); +})(); + +(function controllMenu() { + var menu = document.getElementById('menu-bar'); + + (function controllPosition() { + var scrollTop = document.scrollingElement.scrollTop; + var prevScrollTop = scrollTop; + var minMenuY = -menu.clientHeight - 50; + // When the script loads, the page can be at any scroll (e.g. if you reforesh it). + menu.style.top = scrollTop + 'px'; + // Same as parseInt(menu.style.top.slice(0, -2), but faster + var topCache = menu.style.top.slice(0, -2); + menu.classList.remove('sticky'); + var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster + document.addEventListener('scroll', function () { + scrollTop = Math.max(document.scrollingElement.scrollTop, 0); + // `null` means that it doesn't need to be updated + var nextSticky = null; + var nextTop = null; + var scrollDown = scrollTop > prevScrollTop; + var menuPosAbsoluteY = topCache - scrollTop; + if (scrollDown) { + nextSticky = false; + if (menuPosAbsoluteY > 0) { + nextTop = prevScrollTop; + } + } else { + if (menuPosAbsoluteY > 0) { + nextSticky = true; + } else if (menuPosAbsoluteY < minMenuY) { + nextTop = prevScrollTop + minMenuY; + } + } + if (nextSticky === true && stickyCache === false) { + menu.classList.add('sticky'); + stickyCache = true; + } else if (nextSticky === false && stickyCache === true) { + menu.classList.remove('sticky'); + stickyCache = false; + } + if (nextTop !== null) { + menu.style.top = nextTop + 'px'; + topCache = nextTop; + } + prevScrollTop = scrollTop; + }, { passive: true }); + })(); + (function controllBorder() { + menu.classList.remove('bordered'); + document.addEventListener('scroll', function () { + if (menu.offsetTop === 0) { + menu.classList.remove('bordered'); + } else { + menu.classList.add('bordered'); + } + }, { passive: true }); + })(); +})(); diff --git a/static/wabook/clipboard.min.js b/static/wabook/clipboard.min.js new file mode 100644 index 0000000..02c549e --- /dev/null +++ b/static/wabook/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n + + + + + + + + + + +Markdown Books + + + + + +MD图书教程 + + +如何用Markdown来写一本书 + + + + + +开源出版社 + + +作者 著 + + diff --git a/static/wabook/css/chrome.css b/static/wabook/css/chrome.css new file mode 100644 index 0000000..21c08b9 --- /dev/null +++ b/static/wabook/css/chrome.css @@ -0,0 +1,495 @@ +/* CSS for UI elements (a.k.a. chrome) */ + +@import 'variables.css'; + +::-webkit-scrollbar { + background: var(--bg); +} +::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} +html { + scrollbar-color: var(--scrollbar) var(--bg); +} +#searchresults a, +.content a:link, +a:visited, +a > .hljs { + color: var(--links); +} + +/* Menu Bar */ + +#menu-bar, +#menu-bar-hover-placeholder { + z-index: 101; + margin: auto calc(0px - var(--page-padding)); +} +#menu-bar { + position: relative; + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-bottom-color: var(--bg); + border-bottom-width: 1px; + border-bottom-style: solid; +} +#menu-bar.sticky, +.js #menu-bar-hover-placeholder:hover + #menu-bar, +.js #menu-bar:hover, +.js.sidebar-visible #menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0 !important; +} +#menu-bar-hover-placeholder { + position: sticky; + position: -webkit-sticky; + top: 0; + height: var(--menu-bar-height); +} +#menu-bar.bordered { + border-bottom-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + padding: 0 8px; + z-index: 10; + line-height: var(--menu-bar-height); + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: 420px) { + #menu-bar i, #menu-bar .icon-button { + padding: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +.right-buttons { + margin: 0 15px; +} +.right-buttons a { + text-decoration: none; +} + +.left-buttons { + display: flex; + margin: 0 5px; +} +.no-js .left-buttons { + display: none; +} + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 2.4rem; + line-height: var(--menu-bar-height); + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 0; + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s, background-color 0.5s; +} + +.nav-chapters:hover { + text-decoration: none; + background-color: var(--theme-hover); + transition: background-color 0.15s, color 0.15s; +} + +.nav-wrapper { + margin-top: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +.previous { + float: left; +} + +.next { + float: right; + right: var(--page-padding); +} + +@media only screen and (max-width: 1080px) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +@media only screen and (max-width: 1380px) { + .sidebar-visible .nav-wide-wrapper { display: none; } + .sidebar-visible .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline; + padding: 0.1em 0.3em; + border-radius: 3px; +} + +:not(pre):not(a) > .hljs { + color: var(--inline-code-color); + overflow-x: initial; +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + right: 5px; + top: 5px; + + color: var(--sidebar-fg); + cursor: pointer; +} +pre > .buttons :hover { + color: var(--sidebar-active); +} +pre > .buttons i { + margin-left: 8px; +} +pre > .buttons button { + color: inherit; + background: transparent; + border: none; + cursor: inherit; +} +pre > .result { + margin-top: 10px; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding: 0 3px 1px 3px; + margin: 0 -3px -1px -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin: 5px auto 0px auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding: 18px 0 0 5px; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); + border-bottom: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-left: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin: 5px 0 0 20px; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +.sidebar-resizing { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.js:not(.sidebar-resizing) .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar .sidebar-scrollbox { + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 10px 10px; +} +.sidebar .sidebar-resize-handle { + position: absolute; + cursor: col-resize; + width: 0; + right: 0; + top: 0; + bottom: 0; +} +.js .sidebar .sidebar-resize-handle { + cursor: col-resize; + width: 5px; +} +.sidebar-hidden .sidebar { + transform: translateX(calc(0px - var(--sidebar-width))); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +.sidebar-visible .page-wrapper { + transform: translateX(var(--sidebar-width)); +} +@media only screen and (min-width: 620px) { + .sidebar-visible .page-wrapper { + transform: none; + margin-left: var(--sidebar-width); + } +} + +.chapter { + list-style: none outside none; + padding-left: 0; + line-height: 2.2em; +} + +.chapter ol { + width: 100%; +} + +.chapter li { + display: flex; + color: var(--sidebar-non-existant); +} +.chapter li a { + display: block; + padding: 0; + text-decoration: none; + color: var(--sidebar-fg); +} + +.chapter li a:hover { + color: var(--sidebar-active); +} + +.chapter li a.active { + color: var(--sidebar-active); +} + +.chapter li > a.toggle { + cursor: pointer; + display: block; + margin-left: auto; + padding: 0 10px; + user-select: none; + opacity: 0.68; +} + +.chapter li > a.toggle div { + transition: transform 0.5s; +} + +/* collapse the section */ +.chapter li:not(.expanded) + li > ol { + display: none; +} + +.chapter li.chapter-item { + line-height: 1.5em; + margin-top: 0.6em; +} + +.chapter li.expanded > a.toggle div { + transform: rotate(90deg); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-left: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + top: var(--menu-bar-height); + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; +} +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + width: 100%; + border: 0; + margin: 0; + padding: 2px 10px; + line-height: 25px; + white-space: nowrap; + text-align: left; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} +.theme-popup .theme:hover:first-child, +.theme-popup .theme:hover:last-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} diff --git a/static/wabook/css/general.css b/static/wabook/css/general.css new file mode 100644 index 0000000..ef2ba50 --- /dev/null +++ b/static/wabook/css/general.css @@ -0,0 +1,182 @@ +/* Base styles and content styles */ + +@import 'variables.css'; + +:root { + /* Browser default font-size is 16px, this way 1 rem = 10px */ + font-size: 62.5%; +} + +html { + font-family: "Open Sans", sans-serif; + color: var(--fg); + background-color: var(--bg); + text-size-adjust: none; + -webkit-text-size-adjust: none; +} + +body { + margin: 0; + font-size: 1.6rem; + overflow-x: hidden; +} + +code { + font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace !important; + font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */ +} + +/* Don't change font size in headers. */ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: unset; +} + +.left { float: left; } +.right { float: right; } +.boring { opacity: 0.6; } +.hide-boring .boring { display: none; } +.hidden { display: none !important; } + +h2, h3 { margin-top: 2.5em; } +h4, h5 { margin-top: 2em; } + +.header + .header h3, +.header + .header h4, +.header + .header h5 { + margin-top: 1em; +} + +h1:target::before, +h2:target::before, +h3:target::before, +h4:target::before, +h5:target::before, +h6:target::before { + display: inline-block; + content: "»"; + margin-left: -30px; + width: 30px; +} + +/* This is broken on Safari as of version 14, but is fixed + in Safari Technology Preview 117 which I think will be Safari 14.2. + https://bugs.webkit.org/show_bug.cgi?id=218076 +*/ +:target { + scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); +} + +.page { + outline: 0; + padding: 0 var(--page-padding); + margin-top: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ +} +.page-wrapper { + box-sizing: border-box; +} +.js:not(.sidebar-resizing) .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 15px; + padding-bottom: 50px; +} +.content main { + margin-left: auto; + margin-right: auto; + max-width: var(--content-max-width); +} +.content p { line-height: 1.45em; } +.content ol { line-height: 1.45em; } +.content ul { line-height: 1.45em; } +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img, .content video { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} +table td { + padding: 3px 20px; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); +} +table thead td { + font-weight: 700; + border: none; +} +table thead th { + padding: 3px 20px; +} +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + padding: 0 20px; + color: var(--fg); + background-color: var(--quote-bg); + border-top: .1em solid var(--quote-border); + border-bottom: .1em solid var(--quote-border); +} + + +:not(.footnote-definition) + .footnote-definition, +.footnote-definition + :not(.footnote-definition) { + margin-top: 2em; +} +.footnote-definition { + font-size: 0.9em; + margin: 0.5em 0; +} +.footnote-definition p { + display: inline; +} + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + +.chapter li.part-title { + color: var(--sidebar-fg); + margin: 5px 0px; + font-weight: bold; +} + +.result-no-output { + font-style: italic; +} diff --git a/static/wabook/css/print.css b/static/wabook/css/print.css new file mode 100644 index 0000000..5e690f7 --- /dev/null +++ b/static/wabook/css/print.css @@ -0,0 +1,54 @@ + +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none; + margin-left: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + background-color: #666666; + border-radius: 5px; + + /* Force background to be printed in Chrome */ + -webkit-print-color-adjust: exact; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; +} diff --git a/static/wabook/css/variables.css b/static/wabook/css/variables.css new file mode 100644 index 0000000..56b634b --- /dev/null +++ b/static/wabook/css/variables.css @@ -0,0 +1,253 @@ + +/* Globals */ + +:root { + --sidebar-width: 300px; + --page-padding: 15px; + --content-max-width: 750px; + --menu-bar-height: 50px; +} + +/* Themes */ + +.ayu { + --bg: hsl(210, 25%, 8%); + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; +} + +.coal { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; +} + +.light { + --bg: hsl(0, 0%, 100%); + --fg: hsl(0, 0%, 0%); + + --sidebar-bg: #fafafa; + --sidebar-fg: hsl(0, 0%, 0%); + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #1f1fff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #8F8F8F; + + --icons: #747474; + --icons-hover: #000000; + + --links: #20609f; + + --inline-code-color: #301900; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: hsl(197, 37%, 96%); + --quote-border: hsl(197, 37%, 91%); + + --table-border-color: hsl(0, 0%, 95%); + --table-header-bg: hsl(0, 0%, 80%); + --table-alternate-bg: hsl(0, 0%, 97%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; +} + +.navy { + --bg: hsl(226, 23%, 11%); + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --table-border-color: hsl(226, 23%, 16%); + --table-header-bg: hsl(226, 23%, 31%); + --table-alternate-bg: hsl(226, 23%, 14%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; +} + +.rust { + --bg: hsl(60, 9%, 87%); + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: hsl(60, 5%, 75%); + --quote-border: hsl(60, 5%, 70%); + + --table-border-color: hsl(60, 9%, 82%); + --table-header-bg: #b3a497; + --table-alternate-bg: hsl(60, 9%, 84%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; +} + +@media (prefers-color-scheme: dark) { + .light.no-js { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + } +} diff --git a/static/wabook/fonts/OPEN-SANS-LICENSE.txt b/static/wabook/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/static/wabook/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/static/wabook/fonts/SOURCE-CODE-PRO-LICENSE.txt b/static/wabook/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 0000000..366206f --- /dev/null +++ b/static/wabook/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/static/wabook/fonts/fonts.css b/static/wabook/fonts/fonts.css new file mode 100644 index 0000000..858efa5 --- /dev/null +++ b/static/wabook/fonts/fonts.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('open-sans-v17-all-charsets-300.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('open-sans-v17-all-charsets-300italic.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('open-sans-v17-all-charsets-regular.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v17-all-charsets-italic.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('open-sans-v17-all-charsets-600.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('open-sans-v17-all-charsets-600italic.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v17-all-charsets-700.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v17-all-charsets-700italic.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('open-sans-v17-all-charsets-800.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('open-sans-v17-all-charsets-800italic.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2'); +} diff --git a/static/wabook/fonts/open-sans-v17-all-charsets-300.woff2 b/static/wabook/fonts/open-sans-v17-all-charsets-300.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9f51be370fa913ce6de2922b580c262c4822b337 GIT binary patch literal 44352 zcmV(;K-<4}Pew8T0RR910Ifg(5dZ)H0f7hr0Ib{q0RR9100000000000000000000 z0000QE*lUWfmQ}!0EY+&fhq})G!YOAg!yQMtSAeP3IG8%0we>R0t6rhgFFYi4Ge-h zTM$x_K;*{m=TyO<(oF`$dr#+gT@uRz<@OP72f1way{Ld4djxa`IG0*=K;{4c|Nq>i zF~-^s+Z{rPn$}0zLzV=G*ddk#MfRZCOSo7Svxg)@O1QTM(GtC{-8am>TkfXJ&}5JO zXokZnNWAaG&x#r1r&DFc3k@sfl$|@RDaX?kWW{EN@TZnHp}gCDd}u9PW@H>gZ142z+QEhtr+J1&#|>KAj6Y2`)3tZkBe+ebjmTS6=W*;+$iHPBB3Un)Qo?6q*dE(P3T9y565vHowfyevYxI9K2P(y z$<_L{@8?J5hBF;TxvX%vUMY{MW;AQOFw;MRE?UNs>(i)Pw#F30SO&%}gA&nV#5ynh z%lr4w|41^EwI78NR7X_&MdMPeXq|gj4oJ6}tzd{4Fvwwq1Zjy_sfS1l0YYgJLOuSa zG~qZt#{MG5VL1;uY?c0qywYwhjn*_`$CiZFZCFDFz-?kG;zz}gkK?(Z;(4Ip0|Y@p zL`0q-DhfWlFW)O~_Uv1l(z*7n%=kiif-51?{(S1>dTz;-%RXz{zW_NG4POWVdSfQ{H?gb&VPWmSuI@as@lXQ zCML+EVq_sv+K31qR)E!rHdbOZcI*#x`rpX1-FQZd2?w2J5+HD^d^xN_9WLUu;R1_>$Sl2l1j{i_PqRoxBKXmEfAv5RRCG~gHz zoRPqp)jl)`>4DtY_ee=+oD0vBlrtv1+}R|)Aj>WYFNl--dsEGJL13vB!x?g=A&fDlOONKn#&pyZ<<^Gt#Y5O9+B{||V8CFK!GIY^G7 ziird-fZ=XPfYkAzOvx!^1&5rvR8_9Zlqy%TZCti4x_G(NsHD}UoUD}Q&&1ywU=hnR zK_eK;d!w1V-89?ZEBgl|7bFMOFTBI&;bU#pwZ9KM5d*ckoOlTrnn@#e=0bxf_LKF$ zd-0Mi4MXYT*CGx?Tq%ZXXdY`yIWWVJf|?K(5DNrL%GP_mZs@nw-vBb}Rw0W;wB!)N z5TjzUSNZXIA7943^nXK*r#Dw9|Mtf&ksu-=h_`Yp9V;Dkh;8<4psUZVb-$?#qp%T! ziAdB1b$5t5hjOzR8iD$*)2$e71R6>Zt8%DEY$Sg2KWN&b4Cqr8h>8`6#((@8#L}XktLaTS zryU~vMx03nNxOB%uQY)H>VL7pz)zP2nhY%8WH@)-0RsdY-07d0c5ee-ah{%=QSM%u z*8so2)#K3GU!m!|?O$6+?&yD~(Fj>ZOxK05BApxGi zJr7YET6WG{j1#TYt(MkW%SPIA4dOUU&zsN+<{}nS6r*LQrr)v8tl?2R`* z6w<>(odO>Dg>%+<`=H~%Re+D2bI267Gb@WPo}vT*tKEȮck{9tEK*~BMoW% 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 literal 0 HcmV?d00001 diff --git a/static/wabook/fonts/open-sans-v17-all-charsets-300italic.woff2 b/static/wabook/fonts/open-sans-v17-all-charsets-300italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f545448418cba6668a2e7d49e9616e8c69dfd15 GIT binary patch literal 40656 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 bQBM5)6s%p?oy_T)fR3IrepgG2|qH4K6n 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

D& zKmG7e67!kl#@t`?2092GluuaI?(wqHGc$CxbhOu&-QklBs;yusvX`9XbS$sFoH+FwvSs*$VNBEt-3}x$RNG$?<{E4Ybo(b3OQlfghskNz z9}K5Z3VQ3758HkG0jW@{RIXI$g7RShkH;@~Tu&=BS_r#d@9~%{hig#_2T@|P9H)w? z=gh}5S>q^Cq)p*cpk@GaSXq4sH<14^6;np5c+t|$J9x&lS&Se9UXJl& z`)tC!CGF^PM{9Gle70PoNpUr~Y%X6Z!}+OG>@qySno#@WZs|(!*Vl)pnmp&Xm-VKQ zd#My=>7WO!yH+kA!}m@QP$?RL){Bk$Qv*y2cO;BUYachhU4q|dA!Mv|yd}&v+!gE% z{DqB_ousX_y~Gbfu*tQR**BQz*PQqTVG6mV8#<{f+pRkMaZ3L)vy(`szQ9`Qf3L->DdXY}1dMc^^Csk2NTKs7&QcmZsc@0=Q*+*}0+ubaVYp z?_|MQ3hbnc(VG!jcF*kMaE)V8EC4oZFthXNL(^I^9lZlOJ$lJAO5=PrN|Oa{fGt+^ z86n<5N4dk4So5{kLjS&dhC18h8m3KH)**}vqTFD5^iMTKEbcl&5* zW^QC_D;06l5fzsu|eN0BcF>w|9d0O=b_CFVJ+E}_9y>Lu<@sRBZRB_KQXt_6*y+3*^M zE`8Gx-~2b)<#e>sMPht9=HdY`yV6x{- z64g$bGMR7NOT#uSC|2C5PQzyT^d!Zjg}qSQ?g6h$P4ccGk1(o5QhVy0CTs#8Vc)~9 zOq7?zT_f$!BRru4nCKiVUdJbNGaH|)2T8r+vx5vQZAuho$o6xH5)jXZGCov~fcRfT z&bKQLJ3z=#;>0N62R2Ai419Sb^WkaElLsFHLI;>$2KQ0{9@j2ZT<&_5+_Qnn+unjA znR%4OQ<~yW{LJ??8#ND;4y+f5FkhH;oGaMu*V%`Yil((-`_{i*wzrFu0@>r@;Q!@9 ztG-5C$|o66q0!cO8N3oR-ZuJgm%HhR9u|9gr72nkgf z`o9%BG~SIbmXx=T6}XWG!96o?82ddt~la{g9g5aRjJlk4d!jyanU_J7pF% z77h|AA4MVw=oD5BKVh$ZqKjco|ES*^`7lni8w`M~OOWG;!0pS{gxy|=mLhl`j&hO$ zyh#a7>{8aWnp$JtTk9*E)-=y}7@o8Aa4GKMcm(?Dkj`*yw&d^BbmmXdiwG6W=0S!H zhPH0Do+Bm19r|tQO1}!sqQwXgXJt)nTYP{voU&oA`&wBCy5wXMu+q{aM~Pnu^`Xm% z>~wKZWVqL`FH-T@4e}yAN80yR(3BfT^Ox^K6v1kT9mt8Me)EpvvO~*=Dzl0TbRG>Y z021OhH){SbYUb?JJhVvyjO_=O!9SzJSr7p`)%p3ee#i#M@JWL}?M@`DqCi*ZE@Tjp F{|Bsk2y6fV literal 0 HcmV?d00001 diff --git a/static/wabook/fonts/open-sans-v17-all-charsets-600italic.woff2 b/static/wabook/fonts/open-sans-v17-all-charsets-600italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c99aabe80340fd88a6aeb5729251e76c9a6f35ec GIT binary patch literal 42120 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 E9}-z&tN;K2 literal 0 HcmV?d00001 diff --git a/static/wabook/fonts/open-sans-v17-all-charsets-700.woff2 b/static/wabook/fonts/open-sans-v17-all-charsets-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..421a1ab25fa88105ab776552d7201205f7899841 GIT binary patch literal 44988 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 literal 0 HcmV?d00001 diff --git a/static/wabook/fonts/open-sans-v17-all-charsets-700italic.woff2 b/static/wabook/fonts/open-sans-v17-all-charsets-700italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..12ce3d20d1ce2288206e8b4f31c20f76452efe37 GIT binary patch literal 40800 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%0DER>;wf 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%0Deo9y(?}8?riQx3p&>dOY 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

33OR1_N*!%ylDDa|3D1;gP8brBkv%FrMeyX$5% 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�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 literal 0 HcmV?d00001 diff --git a/static/wabook/fonts/open-sans-v17-all-charsets-italic.woff2 b/static/wabook/fonts/open-sans-v17-all-charsets-italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..398b68a0853fbf6368758deb1da49d347e3e7d89 GIT binary patch literal 41076 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

  • ~`;p}3;==ZtNy# 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 literal 0 HcmV?d00001 diff --git a/static/wabook/fonts/open-sans-v17-all-charsets-regular.woff2 b/static/wabook/fonts/open-sans-v17-all-charsets-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8383e94c65478622baf43553262e0e31b8725e2b GIT binary patch literal 43236 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⪚aqC6F-jh=?`}zBG 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 el.offsetTop) { + id = el; + } + }); + + Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function (el) { + el.classList.remove("active"); + }); + + Array.prototype.forEach.call(document.getElementsByClassName("pagetoc")[0].children, function (el) { + if (id == null) { + return; + } + if (id.href.localeCompare(el.href) == 0) { + el.classList.add("active"); + } + }); + }; + + var pagetoc = document.getElementsByClassName("pagetoc")[0]; + var elements = document.getElementsByClassName("header"); + Array.prototype.forEach.call(elements, function (el) { + var link = document.createElement("a"); + + // Indent shows hierarchy + var indent = ""; + switch (el.parentElement.tagName) { + case "H1": + return; + case "H3": + indent = "20px"; + break; + case "H4": + indent = "40px"; + break; + default: + break; + } + + link.appendChild(document.createTextNode(el.text)); + link.style.paddingLeft = indent; + link.href = el.href; + pagetoc.appendChild(link); + }); + updateFunction.call(); + + // Handle active elements on scroll + window.addEventListener("scroll", updateFunction); + + document.getElementById("theme-list").addEventListener("click", function (e) { + var iframe = document.querySelector('.giscus-frame'); + if (!iframe) return; + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else { + return; + } + + // 若当前 mdbook 主题不是 Light 或 Rust ,则将 giscuz 主题设置为 transparent_dark + var giscusTheme = "light" + if (theme != "light" && theme != "rust") { + giscusTheme = "transparent_dark"; + } + + var msg = { + setConfig: { + theme: giscusTheme + } + }; + iframe.contentWindow.postMessage({ giscus: msg }, 'https://giscus.app'); + }); + + pagePath = pagePath.replace("index.md", ""); + pagePath = pagePath.replace(".md", ""); + if (pagePath.length > 0) { + if (pagePath.charAt(pagePath.length-1) == "/"){ + pagePath = pagePath.substring(0, pagePath.length-1); + } + }else { + pagePath = "index"; + } + + var giscusTheme = "light"; + const themeClass = document.getElementsByTagName("html")[0].className; + if (themeClass.indexOf("light") == -1 && themeClass.indexOf("rust") == -1) { + giscusTheme = "transparent_dark"; + } + + var script = document.createElement("script"); + script.type = "text/javascript"; + script.src = "https://giscus.app/client.js"; + script.async = true; + script.crossOrigin = "anonymous"; + script.setAttribute("data-repo", giscus_data_repo); + script.setAttribute("data-repo-id", giscus_data_repo_id); + script.setAttribute("data-category", giscus_data_category); + script.setAttribute("data-category-id", giscus_data_category_id); + script.setAttribute("data-mapping", "specific"); + script.setAttribute("data-term", pagePath); + script.setAttribute("data-reactions-enabled", "1"); + script.setAttribute("data-emit-metadata", "0"); + script.setAttribute("data-input-position", "top"); + script.setAttribute("data-theme", giscusTheme); + script.setAttribute("data-lang", "zh-CN"); + script.setAttribute("data-loading", "lazy"); + document.getElementById("giscus-container").appendChild(script); +}; + +window.addEventListener('load', giscus_initAll); diff --git a/static/wabook/highlight.css b/static/wabook/highlight.css new file mode 100644 index 0000000..c234322 --- /dev/null +++ b/static/wabook/highlight.css @@ -0,0 +1,83 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/static/wabook/highlight.js b/static/wabook/highlight.js new file mode 100644 index 0000000..180385b --- /dev/null +++ b/static/wabook/highlight.js @@ -0,0 +1,6 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
    ":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}());hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}());hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}());hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}());hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}());hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}());hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}());hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}());hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}());hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}());hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}());hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}());hljs.registerLanguage("http",function(){"use strict";return function(e){var n="HTTP/[0-9\\.]+";return{name:"HTTP",aliases:["https"],illegal:"\\S",contains:[{begin:"^"+n,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+n+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:n},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}}());hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}());hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}());hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}());hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}());hljs.registerLanguage("ini",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(...n){return n.map(n=>e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}());hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}());hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}());hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}());hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}());hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}());hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}());hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:">>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}());hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}());hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}());hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}());hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}());hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}());hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}());hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}());hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}());hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}());hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}());hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}());hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}());hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}());hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}());hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}());hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); diff --git a/static/wabook/mark.min.js b/static/wabook/mark.min.js new file mode 100644 index 0000000..1636231 --- /dev/null +++ b/static/wabook/mark.min.js @@ -0,0 +1,7 @@ +/*!*************************************************** +* mark.js v8.11.1 +* https://markjs.io/ +* Copyright (c) 2014–2018, Julian Kühnel +* Released under the MIT license https://git.io/vwTVl +*****************************************************/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var 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 literal 0 HcmV?d00001
  • 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
    ` z?~6x$`J=&iw!I?2C&_WgLkaC9QL6(-U@PR;ephyKQo)N@#8AI0ABXrIJ|X&(9q#V= zDzVAz93uUZ1Aiq=Gny@zVHNshQ?-q#;5#lAEL{wRV;zNarNn}XuO{DXy2$NRrh98W zaLf=TK3RYDh)%-8PTlr3$=|!4Nk|-y>_CqXCRFUA@$N-nw5GlZt*_?w zAl#dZ$Ip2z_wF86)@zQ8hE-RZRO}z9Z8NW{EmQZqwtm1{eVFOeQr~O``jSK~?8FKV zh_#`eK~Rj|u@_xmc?-U7Ol5mrpk#)ZiS*8ZIQ@y#J{$}6IkzB<@3O91YeZncODtH% z+jAbHXp2o~ASo4I8pweGMYq`T|0;plqxL&q_E*%9w>bmF=n}195$E;n@o8$fnv}0+ zn)vo(&*VqcO~czG~F$A5S=j+KN9WvzN ze?h4+P(QPOzNY_coAPGmE1c4u>%aF#y%~A>Ubis_eFX@ag;k<$M6 z8VyU0tC^%_@Welw&MmVHV`mLnmdmOtzD3NY67K&^$>VOc$Tb!qA&1C{Zzy*1cB)Z? zn}UgQ{(C31=CKuM<6>g|w9fn}R0}dn2)L%U7nu&Gz_MFd9~YK*^*~u79DRZ+*Fi|* ztu&8*%vO~{QY-(SYS;V!f+dF#5Za2Sb0^{ACR2=}T$q^~O;F#DdcQ$_zgagoI?G^{ zFMbPEi)-bJbYyW?f%8H3TWxr{O}@|UlH7Nan$AY@#d!}ev@Fsy?{GS#^tpUvjaGpc z=R#VWwB1Y6ypOQ*@prlW@LYAqJ4imfaR_WCwyCw4^>7X33~-m0U?(10c#lRM^rK%o z$W>!;_RIQ&@N(@|OZ|DisGhU&^)OA`)rO?uSq~m1Jw^D`>1>cvIY+y=lm8ood2z>$ z8T=i3D9<VoJFpg z;3srmr?2W3D{?6x=(r5aGyWP{*>@J}A=K5=JA0dOzzIIjcJj7Nq=&PTR(66gT(xoe z6epIfA2K<$sy{_9oA;UVksXyWd?ZY}|Ad-hnuaW^(6fwL$<1BT4^Wl|h0*1GbvEU`^@T@__udcIqCp47*N@aW(So=fo34k! z8L^As3=X;b?TF=6y#@(&x0%Zyr<2ov9)-ueviD(Ab0hNJoylBW>eV&v&$tJfD$)s) zpK_;19SY2}4E@RN6=dbA;J$~SvtIlxH%$`i1`D%_9M`G7TkPis81apn?A3^h47ni9`#W}p#%yG zEh+>j=|rp#vPrRK7nsBx?wVm)f3ijBKr(0du^3arm{pr0a_Bhq`d5h_CiI~|x*m(v z?M;gbCgiO&LBo}Z5>)DirnBStLZGIU1%}t5=13QTlX~xK98V(ci1X3uUa}GOadYcE zR!kEre$+VO)wIA>#V$x>Plf1U`mE3XW-&9Vntv~9Lg#t(<^0?oi1NR&Q86J4N(&lD z%WSNb!+9mtVm5;|?v3Cj1o0KJCCzOK=c^>Fq>1t@p7wiYb>K`A|L43-E1czJs+yXt z)({9yDC3nxd6*y+{LFXbW>_AqTujfgvL2$qWd_e=SW;PR9&po<<7eFqv`6kt=|k
    +!pL`PY+jn`Qym>cAQMU>g>WQ!}~ZnmIQTkgPWM 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 HT73OKp$thV literal 0 HcmV?d00001 diff --git a/images/ch4-file-struct-04.png b/images/ch4-file-struct-04.png new file mode 100644 index 0000000000000000000000000000000000000000..fd308d96929af0f5e3404f7c49c4450068f87529 GIT binary patch literal 73638 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